US2015317360A1PendingUtilityA1

Query language to traverse a path in a graph

Assignee: NGAI ALAN HONKWANPriority: Sep 25, 2012Filed: Jul 10, 2015Published: Nov 5, 2015
Est. expirySep 25, 2032(~6.2 yrs left)· nominal 20-yr term from priority
G06F 16/24522G06F 16/24542G06F 40/205G06F 17/2705G06F 17/3043G06F 17/30463
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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-modified
1 . 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.