Search Query Interactions on Online Social Networks
First Claim
Patent Images
1. A method comprising:
- accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising;
a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network;
receiving from the first user a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges;
generating a query command based on the structured query, wherein the query command comprises a first query constraint and a second query constraint;
identifying a first set of nodes matching the first query constraint and at least in part matching the second query constraint;
identifying a second set of nodes matching the second query constraint; and
generating one or more search results based on the first and second sets of nodes, wherein each search result corresponds to a node of the plurality of nodes.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes accessing a social graph that includes a plurality of nodes and edges, receiving from a user a structured query comprising references to selected nodes and selected edges, generating a query command based on the structured query based on the structured query comprising a first query constraint and a second query constraint, identifying a first set of nodes matching the first query constraint and at least in part matching the second query constraint, identifying a second set of nodes matching the second query constraint, and generating search results based on the first and second set of nodes.
63 Citations
18 Claims
-
1. A method comprising:
-
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network; receiving from the first user a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges; generating a query command based on the structured query, wherein the query command comprises a first query constraint and a second query constraint; identifying a first set of nodes matching the first query constraint and at least in part matching the second query constraint; identifying a second set of nodes matching the second query constraint; and generating one or more search results based on the first and second sets of nodes, wherein each search result corresponds to a node of the plurality of nodes.
-
-
2. The method of claim 1, wherein the first query constraint is for a first object-type and the second query constraint is for a second object-type.
-
3. The method of claim 2, wherein the first object-type and the second object-type are each selected from a group consisting of:
- a user, a photo, a post, a webpage, an application, a location, or a user group.
-
4. The method of claim 1, further comprising:
-
scoring the first set of nodes; and scoring the second set of nodes based at least in part on the scores of the first set of nodes.
-
-
5. The method of claim 1, wherein:
-
the first query constraint is for one or more nodes of the plurality of nodes connected to a first of the selected nodes by a first of the selected edges; and the second query constraint is for one or more nodes of the plurality of nodes connected to a second of the selected nodes by a second of the selected edges.
-
-
6. The method of claim 1, wherein identifying the first set of nodes matching the first query constraint and at least in part matching the second query constraint comprises:
-
identifying a first number of nodes matching at least the first query constraint; and identifying a second number of nodes matching both the first query constraint and the second query constraint.
-
-
7. The method of claim 6, wherein the first number is a first percentage and the second number is a second percentage.
-
8. The method of claim 1, wherein identifying the first set of nodes matching the first query constraint and at least in part matching the second query constraint comprises:
-
identifying a first number of nodes matching either the first query constraint or the second query constraint; and identifying a second number of nodes matching both the first query constraint and the second query constraint.
-
-
9. The method of claim 1, further comprising scoring the search results.
-
10. The method of claim 1, further comprising determining one or more search intents based on one or more of the selected nodes or one or more of the selected edges referenced in the structured query.
-
11. The method of claim 10, further comprising scoring the search results based on one or more of the search intents.
-
12. The method of claim 11, wherein the one or more search intents comprise an intent to exclude converse search results, and wherein scoring the search results comprises downgrading the score of each search result corresponding to at least one of the selected nodes referenced in the structured query.
-
13. The method of claim 11, wherein the one or more search intents comprise an intent to exclude inner search results, and wherein scoring the search results comprises downgrading the score of each search result corresponding to at least one of the nodes of the first set of nodes.
-
14. The method of claim 11, wherein the one or more search intents comprise an intent to exclude duplicate search results, and wherein scoring the search results comprises downgrading the score of each search result corresponding to a node that matches both the first query constraint and the second query constraint.
-
15. The method of claim 10, wherein generating the query command is further based on the one or more search intents.
-
16. The method of claim 10, wherein one or more of the first query constraint or the second query constraint is based on one or more of the search intents.
-
17. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
-
access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network; receive from the first user a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges; generate a query command based on the structured query, wherein the query command comprises a first query constraint and a second query constraint; identify a first set of nodes matching the first query constraint and at least in part matching the second query constraint; identify a second set of nodes matching the second query constraint; and generate one or more search results based on the first and second sets of nodes, wherein each search result corresponds to a node of the plurality of nodes.
-
-
18. A system comprising:
- one or more processors; and
a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to;access a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising; a first node corresponding to a first user associated with an online social network; and a plurality of second nodes that each correspond to a concept or a second user associated with the online social network; receive from the first user a structured query comprising references to one or more selected nodes from the plurality of nodes and one or more selected edges from the plurality of edges; generate a query command based on the structured query, wherein the query command comprises a first query constraint and a second query constraint; identify a first set of nodes matching the first query constraint and at least in part matching the second query constraint; identify a second set of nodes matching the second query constraint; and generate one or more search results based on the first and second sets of nodes, wherein each search result corresponds to a node of the plurality of nodes.
- one or more processors; and
Specification