US2018203944A1PendingUtilityA1

Graph databases

Assignee: HAWKES RYCHARDEPriority: Jul 7, 2015Filed: Jul 7, 2015Published: Jul 19, 2018
Est. expiryJul 7, 2035(~8.9 yrs left)· nominal 20-yr term from priority
G06F 16/9024G06F 16/288G06F 16/2358G06F 16/3349G06F 17/30958G06F 17/30368G06F 17/30604G06F 17/30693
34
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

There is provided a non-transitory machine-readable storage medium encoded with instructions executable by a processor. The machine-readable storage medium comprises a graph database comprising first-level vertices and first-level edges, each first-level edge linking two first-level vertices, wherein each first-level vertex represents an entity and each first-level edge represents a relationship between two entities. The machine-readable storage medium further comprises instructions to: responsive to a generation of a result set for a query on the graph database, add a second-level vertex to the graph database, wherein the second-level vertex represents the result set of the query; and add a second-level edge to the graph database, wherein the second-level edge connects the second-level vertex to a first-level vertex.

Claims

exact text as granted — not AI-modified
1 . A non-transitory machine-readable storage medium encoded with instructions executable by a processor, the machine-readable storage medium comprising:
 a graph database comprising first-level vertices and first-level edges, each first-level edge linking two first-level vertices, wherein each first-level vertex represents an entity and each first-level edge represents a relationship between two entities; and   instructions to:
 responsive to a generation of a result set for a query on the graph database, add a second-level vertex to the graph database, wherein the second-level vertex represents the result set of the query; and add a second-level edge to the graph database, wherein the second-level edge connects the second-level vertex to a first-level vertex. 
   
     
     
         2 . A non-transitory machine-readable storage medium in accordance with  claim 1 , wherein each second-level edge connects a second-level vertex to a first-level vertex which represents an entity comprised in the result set represented by the connected second-level vertex. 
     
     
         3 . A non-transitory machine-readable storage medium in accordance with  claim 1 , wherein each first-level vertex is associated with a type, and wherein the graph database is a multi-partite graph database, such that the first-level vertices are partitionable into two or more independent sets based on the type of the first-level vertices. 
     
     
         4 . A non-transitory machine-readable storage medium in accordance with  claim 1 , wherein each second-level edge represents a containment relationship. 
     
     
         5 . A non-transitory machine-readable storage medium in accordance with  claim 1 , further comprising instructions to:
 responsive to a generation of a further result set, for a further query on the graph database, add a further second-level vertex to the graph database, wherein the further second-level vertex represents the further result set; add a further second-level edges to the graph database, wherein the further second-level edge connects the further second-level vertex to a first-level vertex; and add a third-level edges to the graph database, wherein the third-level edge connects the further second-level vertex to a second-level vertex.   
     
     
         6 . A non-transitory machine-readable storage medium in accordance with  claim 5 , wherein each third-level edge represents a parent-child relationship. 
     
     
         7 . A non-transitory machine-readable storage medium in accordance with  claim 5 , wherein the inputs to the further query comprise the first-level vertices and the second-level vertex. 
     
     
         8 . A non-transitory machine-readable storage medium in accordance with  claim 1 , further comprising instructions to:
 responsive to a change to an entity represented by a first-level vertex:
 associate a change indication with the first-level vertex representing the changed entity; 
 associate a change indication with each second-level vertex connected, by a second-level edge, to the first-level vertex representing the changed entity, and with each second-level edge connected to the first-level vertex representing the changed entity; and 
 associate a change indication with each second-level vertex connected, by a third-level edge, to a second-level vertex having an associated change indication. 
   
     
     
         9 . A non-transitory machine-readable storage medium in accordance with  claim 8 , further comprising instructions to associate a change indication with each third-level edge connecting two second-level vertices which each have an associated change indication. 
     
     
         10 . A non-transitory machine-readable storage medium in accordance with  claim 8 , wherein the change to an entity comprises one of: addition of the entity to the graph database; removal of the entity from the graph database; a change in the value of an attribute of the entity. 
     
     
         11 . A non-transitory machine-readable storage medium in accordance with  claim 8 , further comprising instructions to:
 responsive to a generation of a further result set, for a further query on the graph database:
 add a further second-level vertex to the graph database, wherein the further second-level vertex represents a result set of the further query; 
 add a further second-level edge to the graph database, wherein the further second-level edge connects the further second-level vertex to a first-level vertex; 
 determine, in respect of each first-level vertex connected to the further second-level vertex, whether that first-level vertex has an associated change indication; 
 if a first-level vertex connected to the further second-level vertex has an associated change indication, recalculate second-level edges which have associated change indications based on the changed entity. 
   
     
     
         12 . A non-transitory machine-readable storage medium in accordance with  claim 11 , wherein the graph database comprises at least one third-level edge connecting two second-level vertices, further comprising instructions to:
 responsive to the determination, in respect of each first-level vertex connected to the further second-level vertex, whether that first-level vertex has an associated change indication, if a first-level vertex connected to the further second-level vertex has an associated change indication, recalculate third-level edges which have associated change indications based on the changed entity.   
     
     
         13 . A non-transitory machine-readable storage medium in accordance with  claim 1 , wherein the graph database comprises a plurality of second-level vertices, each of which is connected to at least one first-level vertex by a second-level edge, the machine-readable storage medium further comprising instructions to:
 determine whether a first second-level vertex of the plurality is related to a second second-level vertex of the plurality by determining whether a path exists between the first second-level vertex and the second second-level vertex.   
     
     
         14 . A method, performed in relation to a graph database comprising first-level vertices and first-level edges, each first-level edge linking two first-level vertices, wherein each first-level vertex represents an entity and each first-level edge represents a relationship between two entities, the method comprising:
 querying the graph database to generate a result set;   responsive to the generation of the result set, adding a second-level vertex to the graph database, wherein the second-level vertex represents the result set of the query; and adding a second-level edge to the graph database, wherein the second-level edge connects the second-level vertex to a first-level vertex.   
     
     
         15 . Apparatus comprising:
 a processor;   a storage coupled to the processor, storing a graph database comprising first-level vertices and first-level edges, each first-level edge linking two first-level vertices, wherein each first-level vertex represents an entity and each first-level edge represents a relationship between two entities; and   an instruction set to cooperate with the processor and the storage to:
 responsive to a generation of a result set for a query on the graph database, add a second-level vertex to the graph database, wherein the second-level vertex represents the result set of the query; and add a second-level edge to the graph database, wherein the second-level edge connects the second-level vertex to a first-level vertex.

Join the waitlist — get patent alerts

Track US2018203944A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.