Time-based graph data model
Abstract
Systems and processes for accessing data from a graph database are described. The system receives a request comprising time-based information. Time-based information of the request is compared with a first time interval, which is associated with at least one node of a graph. The node of the graph is matched based on the time-based information being at least partially within the first time interval. The system returns a result comprising an indicator of the node of the graph, wherein the node of the graph is associated with an entity, and the node of the graph includes an attribute of the entity.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer-implemented method for accessing data from a graph database, the method comprising:
receiving a request, the request comprising time-based information; comparing the time-based information of the request with a first time interval, the first time interval associated with at least one node of a graph; matching the at least one node of the graph, the matching of the at least one node based on the time-based information being at least partially within the first time interval; returning a result, the result comprising a first indicator of the at least one node; and wherein the at least one node is associated with an entity, and the at least one node includes an attribute of the entity.
2 . The computer-implemented method of claim 1 , the method comprising:
the request further comprising a relationship information; comparing the relationship information of the request with a relationship status, the relationship status associated with at least one edge of the graph; matching the at least one edge of the graph, the matching of the at least one edge based on the relationship information matching the relationship status; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
3 . The computer-implemented method of claim 1 , the method comprising:
comparing the time-based information of the request with a second time interval, the second time interval associated with at least one edge of the graph; matching the at least one edge of the graph, the matching of the at least one edge based on the time-based information being at least partially within the second time interval; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
4 . The computer-implemented method of claim 3 , wherein:
the matching of the at least one node of the graph and the at least one edge of the graph are on a path with a strict match; and the strict match requiring that edges and nodes on the path share a single valid time, the single valid time determined by identifying a single point-in-time falling within time intervals associated with each edge of the path and each node of the path.
5 . The computer-implemented method of claim 4 , further comprising:
accessing the at least one node based on an object identity value; and wherein the object identity value is unique to the node, as compared to other nodes in the graph.
6 . The computer-implemented method of claim 1 , wherein:
the entity representation is selected from the group comprising a user, a content, an activity, and an event.
7 . The computer-implemented method of claim 1 , further comprising:
accessing a first version information of the entity associated with the at least one node; accessing a second version information of the entity associated with the at least one node; selecting one of the first version information and the second version information; and wherein the selected version information is selected based on the time-based information, and wherein the result further indicates the selected version information.
8 . The computer-implemented method of claim 7 , wherein:
the first version information includes a first complete state information of the entity associated with the at least one node; the second version information includes a second complete state information of the entity associated with the at least one node; and the first version information is not the same as the second version information.
9 . The computer-implemented method of claim 7 , wherein:
the first version information includes a complete state information of the entity associated with the at least one node; and the second version information includes a differential state information of the entity associated with the at least one node, based on the complete state information.
10 . The computer-implemented method of claim 1 , wherein:
the at least one edge comprises a label attribute value, the label attribute value indicating a type of participation between entities of two nodes connected by the at least one edge.
11 . The computer-implemented method of claim 1 , wherein:
the time-based information comprises a particular point-in-time or a particular duration of time.
12 . A non-transitory computer-readable storage medium comprising computer-executable instructions for accessing data from a graph database, the instructions comprising:
receiving a request, the request comprising time-based information; comparing the time-based information of the request with a first time interval, the first time interval associated with at least one node of a graph; matching the at least one node of the graph, the matching of the at least one node based on the time-based information being at least partially within the first time interval; returning a result, the result comprising a first indicator of the at least one node; and wherein the at least one node is associated with an entity, and the at least one node includes an attribute of the entity.
13 . The non-transitory computer-readable storage medium of claim 12 , the method comprising:
the request further comprising a relationship information; comparing the relationship information of the request with a relationship status, the relationship status associated with at least one edge of the graph; matching the at least one edge of the graph, the matching of the at least one edge based on the relationship information matching the relationship status; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
14 . The non-transitory computer-readable storage medium of claim 12 , the method comprising:
comparing the time-based information of the request with a second time interval, the second time interval associated with at least one edge of the graph; matching the at least one edge of the graph, the matching of the at least one edge based on the time-based information being at least partially within the second time interval; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
15 . The non-transitory computer-readable storage medium of claim 14 , wherein:
the matching of the at least one node of the graph and the at least one edge of the graph are on a path with a strict match; and the strict match requiring that edges and nodes on the path share a single valid time, the single valid time determined by identifying a single point-in-time falling within time intervals associated with each edge of the path and each node of the path.
16 . The non-transitory computer-readable storage medium of claim 15 , further comprising:
accessing the at least one node based on an object identity value; and wherein the object identity value is unique to the node, as compared to other nodes in the graph.
17 . The non-transitory computer-readable storage medium of claim 12 , wherein:
the entity representation is selected from the group comprising a user, a content, an activity, and an event.
18 . The non-transitory computer-readable storage medium of claim 12 , further comprising:
accessing a first version information of the entity associated with the at least one node; accessing a second version information of the entity associated with the at least one node; selecting one of the first version information and the second version information; and wherein the selected version information is selected based on the time-based information, and wherein the result further indicates the selected version information.
19 . The non-transitory computer-readable storage medium of claim 18 , wherein:
the first version information includes a first complete state information of the entity associated with the at least one node; the second version information includes a second complete state information of the entity associated with the at least one node; and the first version information is not the same as the second version information.
20 . The non-transitory computer-readable storage medium of claim 18 , wherein:
the first version information includes a complete state information of the entity associated with the at least one node; and the second version information includes a differential state information of the entity associated with the at least one node, based on the complete state information.
21 . The non-transitory computer-readable storage medium of claim 12 , wherein:
the at least one edge comprises a label attribute value, the label attribute value indicating a type of participation between entities of two nodes connected by the at least one edge.
22 . The non-transitory computer-readable storage medium of claim 12 , wherein:
the time-based information comprises a particular point-in-time or a particular duration of time.
23 . An apparatus for accessing data from a graph database, the apparatus comprising:
a memory configured to store data; and a computer processor configured to:
receive a request, the request comprising time-based information;
compare the time-based information of the request with a first time interval, the first time interval associated with at least one node of a graph;
match the at least one node of the graph, the matching of the at least one node based on the time-based information being at least partially within the first time interval;
return a result, the result comprising a first indicator of the at least one node; and
wherein the at least one node is associated with an entity, and the at least one node includes an attribute of the entity.
24 . The apparatus of claim 23 , the computer processor further configured to:
access a relationship information, wherein the request comprises the relationship information; compare the relationship information of the request with a relationship status, the relationship status associated with at least one edge of the graph; match the at least one edge of the graph, the matching of the at least one edge based on the relationship information matching the relationship status; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
25 . The apparatus of claim 23 , the computer processor further configured to:
compare the time-based information of the request with a second time interval, the second time interval associated with at least one edge of the graph; match the at least one edge of the graph, the matching of the at least one edge based on the time-based information being at least partially within the second time interval; and wherein the result further comprises a second indicator of the at least one edge, and the at least one edge connects the at least one node to a second node.
26 . The apparatus of claim 25 , wherein:
the matching of the at least one node of the graph and the at least one edge of the graph are on a path with a strict match; and the strict match requiring that edges and nodes on the path share a single valid time, the single valid time determined by identifying a single point-in-time falling within time intervals associated with each edge of the path and each node of the path.
27 . The apparatus of claim 26 , the computer processor further configured to:
access the at least one node based on an object identity value; and wherein the object identity value is unique to the node, as compared to other nodes in the graph.
28 . The apparatus of claim 23 , wherein:
the entity representation is selected from the group comprising a user, a content, an activity, and an event.
29 . The apparatus of claim 23 , the computer processor further configured to:
access a first version information of the entity associated with the at least one node; access a second version information of the entity associated with the at least one node; select one of the first version information and the second version information; and wherein the selected version information is selected based on the time-based information, and wherein the result further indicates the selected version information.
30 . The apparatus of claim 29 , wherein:
the first version information includes a first complete state information of the entity associated with the at least one node; the second version information includes a second complete state information of the entity associated with the at least one node; and the first version information is not the same as the second version information.
31 . The apparatus of claim 29 , wherein:
the first version information includes a complete state information of the entity associated with the at least one node; and the second version information includes a differential state information of the entity associated with the at least one node, based on the complete state information.
32 . The apparatus of claim 23 , wherein:
the at least one edge comprises a label attribute value, the label attribute value indicating a type of participation between entities of two nodes connected by the at least one edge.
33 . The apparatus of claim 23 , wherein:
the time-based information comprises a particular point-in-time or a particular duration of time.
34 . A non-transitory computer-readable storage medium comprising computer-executable instructions for accessing data from a graph database, the instructions comprising:
receiving a request, the request comprising a node constraint value and an edge constraint value; traversing at least a portion of a graph of the graph database, the traversal being in response to receiving the request; determining a first match of a first node of the graph, the first match based on the node constraint; determining a second match of a second node of the graph, the second match based on the edge constraint; returning a result, the result comprising a first indicator of the first node and a second indicator of the second node; wherein the first node is associated with a first entity, the first node includes an attribute of the first entity, and the first node comprises a first version information of the first entity and a second version information of the first entity; and wherein the second node is associated with a second entity, the second node includes an attribute of the second entity, and the second node comprises a third version information of the second entity and a fourth version information of second the entity.Join the waitlist — get patent alerts
Track US2016055217A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.