Selective indexing to improve complex querying of online professional network data
First Claim
1. A method for processing data, comprising:
- obtaining, at a computer, a query comprising;
two or more hops in a graph of online user community data, wherein the graph comprises;
a set of nodes comprising members and companies; and
a set of edges representing relationships between pairs of nodes in the set of nodes;
one or more predicates comprising one or more attributes of the online user community data;
two or more input nodes, including one or more of a first input member and an input company, that are used to form a path comprising the two or more hops; and
an output that matches the one or more predicates and comprises one or more output members;
indexing selectively, by the computer, the online user communitydata by an attribute from the query, wherein said indexing comprises;
identifying the attribute based on a search space of the query;
creating an index of the attribute for a first node having a number of edges that exceeds a threshold to reduce the search space of the query; and
omitting from the index a second node having a number of edges less than the threshold;
executing, by the computer, the query to obtain a subset of the online user community data matching the query; and
providing the subset of the online user community data in response to the query.
2 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments provide a system for processing data. During operation, the system obtains a query containing two or more hops in a graph of online professional network data and one or more predicates containing one or more attributes of the online professional network data. The graph includes nodes representing members and companies, and a set of edges representing relationships between pairs of nodes. The query also includes two or more input nodes, including a first input member and/or an input company, that are used to form a path containing the two or more hops, along with an output that matches the one or more predicates and includes one or more output members. Next, the system executes the query to obtain a subset of the online professional network data matching the query. Finally, the system provides the subset of the online professional network data in response to the query.
10 Citations
19 Claims
-
1. A method for processing data, comprising:
-
obtaining, at a computer, a query comprising; two or more hops in a graph of online user community data, wherein the graph comprises; a set of nodes comprising members and companies; and a set of edges representing relationships between pairs of nodes in the set of nodes; one or more predicates comprising one or more attributes of the online user community data; two or more input nodes, including one or more of a first input member and an input company, that are used to form a path comprising the two or more hops; and an output that matches the one or more predicates and comprises one or more output members; indexing selectively, by the computer, the online user community data by an attribute from the query, wherein said indexing comprises; identifying the attribute based on a search space of the query; creating an index of the attribute for a first node having a number of edges that exceeds a threshold to reduce the search space of the query; and omitting from the index a second node having a number of edges less than the threshold; executing, by the computer, the query to obtain a subset of the online user community data matching the query; and providing the subset of the online user community data in response to the query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of processing data, comprising:
obtaining, at a computer, a query comprising; two or more hops in a graph of online user community data, wherein the graph comprises; a set of nodes comprising members and companies; and a set of edges representing relationships between pairs of nodes in the set of nodes; one or more predicates comprising one or more attributes of the online user community data; two or more input nodes, including an input member and an input influencer, that are used to form a path comprising the two or more hops; and an output that matches the one or more predicates and comprises a set of output members; indexing selectively, by the computer, the online user community data by an attribute from the query, wherein said indexing comprises; identifying the attribute based on a search space of the query; creating an index of the attribute for a first node having a number of edges that exceeds a threshold to reduce the search space of the query; and omitting from the index a second node having a number of edges less than the threshold; executing, by the computer, the query to obtain a subset of the online user community data matching the query; and providing the subset of the online user community data in response to the query. - View Dependent Claims (8, 9)
-
10. An apparatus, comprising:
-
one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the apparatus to; obtain a query comprising; two or more hops in a graph of online user community data, wherein the graph comprises; a set of nodes comprising members and companies; and a set of edges representing relationships between pairs of nodes in the set of nodes; one or more predicates comprising one or more attributes of the online user community data; two or more input nodes, including one or more of a first input member and an input company, that are used to form a path comprising the two or more hops; and an output that matches the one or more predicates and comprises one or more output members; index selectively the online user community data by an attribute from the query, wherein said indexing comprises; identifying the attribute based on a search space of the query; creating an index of the attribute for a first node having a number of edges that exceeds a threshold to reduce the search space of the query; and omitting from the index a second node having a number of edges less than the threshold; execute the query to obtain a subset of the online user community data matching the query; and provide the subset of the online user community data in response to the query. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
one or more processors; a query-processing non-transitory computer readable medium comprising instructions that, when executed by the one or more processors, cause the system to; obtain a query comprising; two or more hops in a graph of online user community data, wherein the graph comprises; a set of nodes comprising members and companies; and a set of edges representing relationships between pairs of nodes in the set of nodes; one or more predicates comprising one or more attributes of the online user community data; two or more input nodes, including one or more of a first input member and an input company, that are used to form a path comprising the two or more hops; and an output that matches the one or more predicates and comprises an output member; execute the query to obtain a subset of the online user community data matching the query; and provide the subset of the online user community data in response to the query; and an indexing non-transitory computer readable medium comprising instructions that, when executed by the one or more processors, cause the system to; index selectively the online user community data by an attribute from the query, wherein said indexing comprises; identifying the attribute based on a search space of the query; creating an index of the attribute for a first node having a number of edges that exceeds a threshold to reduce the search space of the query; and omitting from the index a second node having a number of edges less than the threshold; and provide the indexed online user community data for use in executing the query. - View Dependent Claims (17, 18, 19)
-
Specification