Graph search using index vertices
AssigneeGraphSQL, Inc.
InventorsYu Xu, Zixuan Zhuang, Dan Hu, Xinyu Chang
Life of this patent
Estimating the term…
Abstract
Systems, methods, and software described herein provide graph searching via index vertices. In one implementation, a graph management system may receive a request to identify vertices of a first vertex type in a graph, wherein the request defines one or more attributes associated with the vertices. In response to the request, the graph management system may identify one or more index vertices associated with the one or more attributes, wherein the one or more index vertices is associated with one or more second vertex types. The graph management system may further identify the vertices in the graph with edges that couple to the one or more index vertices.
Claims17
A method of searching a graph, wherein the graph comprises a plurality of vertices of a first vertex type and a plurality of index vertices of one or more other vertex types, the method comprising:
- receiving a request to identify one or more vertices of the first vertex type in the graph with one or more attributes;
- in response to the request, identifying one or more index vertices of the plurality of index vertices each with at least one attribute of the one or more attributes, wherein the one or more index vertices comprise one or more second vertex types of the one or more other vertex types, wherein the one or more index vertices are each indexed using at least one attribute of the one or more attributes, and wherein the one or more vertices are each indexed using a different attribute than the one or more attributes;
- and
- identifying the one or more vertices in the graph based on each vertex of the one or more vertices having one or more edges that couple the vertex to each of the one or more index vertices.
A computing apparatus comprising:
- one or more non-transitory computer readable storage media;
- a processing system operatively coupled to the one or more non-transitory computer readable storage media;
- and
- program instructions stored on the one or more non-transitory computer readable storage media to search a graph comprising a plurality of vertices of a first vertex type and a plurality of index vertices of one or more other vertex types that, when executed by the processing system, direct the processing system to:
- receive a request to identify one or more vertices of the first vertex type in the graph, wherein the request indicates one or more attributes associated with the one or more vertices;
- in response to the request, identify one or more index vertices of the plurality of index vertices each with at least one attribute of the one or more attributes, wherein the one or more index vertices comprise one or more second vertex types of the one or more other vertex types, wherein the one or more index vertices are each indexed using at least one attribute of the one or more attributes, and wherein the one or more vertices are each indexed using a different attribute than the one or more attributes;
- and
- identify the one or more vertices in the graph based on each vertex of the one or more vertices having one or more edges that couple the vertex to each of the one or more index vertices.
An apparatus comprising:
- one or more non-transitory computer readable storage media;
- and
- program instructions stored on the one or more non-transitory computer readable storage media to search a graph comprising a plurality of vertices of a first vertex type and a plurality of index vertices of one or more other vertex types that, when executed by a processing system, direct a processing to:
- receive a request to identify one or more vertices of the first vertex type in the graph, wherein the request indicates attributes associated with the one or more vertices;
- in response to the request, identify index vertices of the plurality of index vertices each with at least one attribute of the attributes, wherein the index vertices are each indexed using at least one attribute of the attributes, and wherein the one or more vertices are each indexed using a different attribute than the attributes;
- and
- identify the one or more vertices in the graph based on each vertex of the one or more vertices having edges that couple the vertex to each of the index vertices.
Dependencies are inferred from the claim text.