Query language to traverse a path in a graph
Abstract
A query language used to traverse a path in a graph-based model is provided. The system comprises a parsing module to parse a query comprising query phrases. The respective query phrases composed of an object-type identifier and a filter where the object-type identifier corresponds to respective repositories and the filter is used to identify at least a portion of the objects associated with the object-type in the respective repositories. A planning module identifies the respective repositories corresponding to the object-type identifier within each of the one or more query phrases and generates an execution plan describing data to be retrieved according to the respective repositories and results of a preceding query phrase within the query. A translation module translates the respective query phrases into respective translated queries that are readable by the respective repositories and including the filter. An execution module implements the execution plan using the translated queries.
Claims
exact text as granted — not AI-modified1 . A system comprising:
a processor and executable instructions accessible on a computer-readable medium that, when executed, cause the processor to perform operations comprising: parsing a query into one or more query phrases; and identifying a node for each of the one or more query phrases, each node is associated with a repository; determining that two or more consecutive query phrases can be evaluated by accessing a single repository based on at least one common object-type that is shared by the node of the two or more consecutive query phrases; generating an execution plan identifying one or more repositories to be accessed and the query phrase to run on the associated repository without database joins; and implementing the execution plan, run each query phrase on the associated repository, and return a result to the user without database join.
2 . The system of claim 1 , wherein the operations further comprise managing metadata describing the repository.
3 . The system of claim 1 , wherein the operations further comprise a metadata database to store records describing the repository.
4 . The system of claim 1 , wherein the query further comprises an indication of a collection to be queried.
5 . The system of claim 1 , wherein the query further comprises an output flag indicating the object-type of results.
6 . The system of claim 1 , wherein each of the one or more query phrases further comprise of a filter used to identify at least a portion of matched objects associated with the object-type in a respective repository.
7 . The system of claim 6 , wherein the objects include a one-to-many relationship to other objects.
8 . The system of claim 6 , wherein the objects include a recursive relationship to one other object.
9 . The system of claim 6 , wherein the filter is based on a relationship between the object and at least one other object.
10 . The system of claim 1 , wherein the query follows a path through a graph model.
11 . The system of claim 10 , wherein the path does not include any internal loops.
12 . A method comprising:
parsing a query into one or more query phrases; identifying a node for each of the one or more query phrases, each node is associated with a repository; determining that two or more consecutive query phrases can be evaluated by accessing a single repository based on at least one common object-type that is shared by the node of the two or more consecutive query phrases; generating an execution plan identifying one or more repositories to be accessed and the query phrase to run on the associated repository without database joins; and implementing the execution plan, running each query phrase on the associated repository, and returning a result to the user without database join.
13 . The method of claim 12 , wherein the query further comprises an indication of a collection to be queried.
14 . The method of claim 12 , wherein the query includes an output flag indicating the object-type of results returned.
15 . The method of claim 12 , wherein each of the one or more query phrases comprised of a filter used to identify at least a portion of matched objects associated with the object-type in a respective repository.
16 . The method of claim 15 , wherein the objects include a one-to-many relationship to other objects.
17 . The method of claim 15 , wherein the objects include a recursive relationship to one other object.
18 . The method of claim 12 , wherein the query follows a path through a graph model.
19 . The method of claim 18 , wherein the path does not include any internal loops.
20 . A non-transitory machine-readable storage medium having instructions embodied thereon, the instructions executable by a processor for performing a method comprising:
parsing a query into one or more query phrases; identifying a node for each of the one or more query phrases, each node is associated with a repository; determining that two or more consecutive query phrases can be evaluated by accessing a single repository based on at least one common object-type that is shared by the node of the two or more consecutive query phrases; generating an execution plan identifying one or more repositories to be accessed and the query phrase to run on the associated repository without database joins; and implementing the execution plan, running each query phrase on the associated repository, and returning a result to the user without database join.Join the waitlist — get patent alerts
Track US2015317360A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.