Efficient index for low latency search of large graphs
First Claim
1. A system comprising:
- a graph-based data store; and
an indexing system including;
at least one processor,a memory storing an index for searching the graph-based data store, the index including posting lists for one or more proximity ranges compatible with a space, a posting list including;
one or more entities of a type compatible with the space, each entity having a location within the space, the location being a basic unit in a location hierarchy for the space,andfor each entity, at least one node in the location hierarchy that falls within the proximity range of the posting list with reference to the location of the entity, the at least one node being associated with a context, anda memory storing instructions that, when executed by the at least one processor cause the indexing system to use the index and the context to respond to a query that includes a query proximity range for the space, wherein using the index and the context reduces a number of distance calculations performed on the one or more entities resulting in reduced latency in responding to the query.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for efficiently responding to proximity queries may include a memory storing an index for searching a graph-based data store, the index including posting lists for one or more proximity ranges compatible with a space. A posting list can include one or more entities of a type compatible with the space, each entity having a location within the space, the location being a basic unit in a location hierarchy for the space and, for each entity, at least one node in the location hierarchy that falls within the proximity range of the posting list with reference to the location of the entity. The system may also include a memory storing instructions that cause the system to use the index to respond to a query that includes a query proximity range for the space. The space can be a geographic space or a time space.
-
Citations
20 Claims
-
1. A system comprising:
-
a graph-based data store; and an indexing system including; at least one processor, a memory storing an index for searching the graph-based data store, the index including posting lists for one or more proximity ranges compatible with a space, a posting list including; one or more entities of a type compatible with the space, each entity having a location within the space, the location being a basic unit in a location hierarchy for the space, and for each entity, at least one node in the location hierarchy that falls within the proximity range of the posting list with reference to the location of the entity, the at least one node being associated with a context, and a memory storing instructions that, when executed by the at least one processor cause the indexing system to use the index and the context to respond to a query that includes a query proximity range for the space, wherein using the index and the context reduces a number of distance calculations performed on the one or more entities resulting in reduced latency in responding to the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
a graph-based data store that includes geographic entities having an associated location in a geographic space; a location hierarchy for the geographic space, where a root node of the hierarchy represents the geographic space, internal nodes are areas representing a portion of the geographic space, and leaf nodes are areas representing a basic unit of the geographic space, where nodes at each level of the hierarchy represent a division of the area represented by the parent node; and an indexing system including; at least one processor, a memory storing an index for searching the graph-based data store, the index including posting lists for one or more proximity ranges, a posting list including; one or more geographic entities, and for each entity, at least one area of the geographic space that represents locations falling within the proximity range of the posting list with reference to the entity, the area being a node in the location hierarchy, the node being associated with a context, and a memory storing instructions that, when executed by the at least one processor cause the indexing system to use the index and the context to respond to a query that includes a query proximity range for the space, wherein using the index and the context reduces a number of distance calculations performed on the one or more entities resulting in reduced latency in responding to the query. - View Dependent Claims (13, 14, 15)
-
-
16. A method comprising:
-
receiving, using at least one processor, a query for a data store that stores a graph represented by entities connected by edges, at least some of the entities having a location within a space, the query including a query proximity range and entity parameters; identifying, using the at least one processor, at least one base entity from the graph, the base entity at least partially matching the entity parameters and having a location within the space; selecting a proximity posting list from an index for the graph associated with a predetermined proximity range larger than the query proximity range, the proximity posting list including; an entry for the base entity, and at least one area of the space associated with the base entity, the area representing locations in the space falling within the predetermined proximity range from the base entity, and using the selected proximity posting list to locate the at least one area associated with the base entity; locating one or more target entities from the graph using a distance-predicate posting list in the index that maps an area of the space to entities in the graph with locations within the area of the space, the distance-predicate posting list providing a respective context for the one or more target entities, the context being used to reduce a number of distance calculations performed to identify whether the one or more target entities are within the query proximity range; and generating, using the at least one processor, a query result that includes information for the base entity and the one or more target entities, wherein the reduced number of distance calculations results in a reduced latency in generating the query result. - View Dependent Claims (17, 18, 19, 20)
-
Specification