Structured objects and actions on a social networking system
First Claim
Patent Images
1. A method comprising:
- storing a social graph, the social graph comprising a plurality of graph objects and a plurality of graph actions, each graph action having an action type from a plurality of predefined action types and representing a relationship between two or more graph objects;
receiving from a third party entity separate from a social networking system a definition of a new action type;
responsive to the received definition, adding the new action type to the plurality of predefined action types for use by the social networking system to capture user interactions with graph objects;
receiving an indication that a user of the social networking system has performed a graph action on a system outside the social networking system, the performed graph action having the new action type in connection with a graph object;
accessing information from the system outside the social networking system to record the graph object and the graph action associated with the user in the social networking system in real-time. the system outside the social networking system providing the information comprising the graph object and the graph action parameterized according to the corresponding object type and the corresponding action type in an action log generated by an embedded widget on the system outside the social networking system;
extracting the graph object and the graph action from the accessed information;
storing the graph object and the graph action associated with the user in the social graph of the social networking system; and
communicating the graph action having the new graph action type performed by the user in connection with the graph object to one or more other users of the social networking system with whom the user has established a connection.
2 Assignments
0 Petitions
Accused Products
Abstract
A social networking system includes a mechanism for integrating user actions on objects outside of the social networking system in the social graph. External system operators include widgets that, when executed by user devices, record user interactions that correspond to a defined structure of actions and objects. Third party operators utilize a tool provided by the social networking system to define the structure of actions and objects. External actions are recorded by the social networking system for publishing to the social graph.
74 Citations
33 Claims
-
1. A method comprising:
-
storing a social graph, the social graph comprising a plurality of graph objects and a plurality of graph actions, each graph action having an action type from a plurality of predefined action types and representing a relationship between two or more graph objects; receiving from a third party entity separate from a social networking system a definition of a new action type; responsive to the received definition, adding the new action type to the plurality of predefined action types for use by the social networking system to capture user interactions with graph objects; receiving an indication that a user of the social networking system has performed a graph action on a system outside the social networking system, the performed graph action having the new action type in connection with a graph object; accessing information from the system outside the social networking system to record the graph object and the graph action associated with the user in the social networking system in real-time. the system outside the social networking system providing the information comprising the graph object and the graph action parameterized according to the corresponding object type and the corresponding action type in an action log generated by an embedded widget on the system outside the social networking system; extracting the graph object and the graph action from the accessed information; storing the graph object and the graph action associated with the user in the social graph of the social networking system; and communicating the graph action having the new graph action type performed by the user in connection with the graph object to one or more other users of the social networking system with whom the user has established a connection.
-
-
2. The method of claim 1, further comprising:
-
receiving from the third party entity a definition of a new object type for capturing user interactions; and responsive to the received definition of the new object type, defining the new object type for use by the social networking system to capture user interactions with graph objects of the new object type, wherein the user of the social networking system has performed the graph action having the new action type in connection with the graph object having the new object type.
-
-
3. The method of claim 1, wherein receiving an indication that a user of the social networking system has performed a graph action on a system outside the social networking system, the performed graph action having the new action type in connection with a graph object further comprises:
-
receiving an application programming interface (API) call from a system outside the social networking system from the social networking system, the API call including the graph action in association with the graph object and the user of the social networking system; and extracting the graph action having the new action type in connection with the graph object from the API call for recording in the social graph at the social networking system.
-
-
4. The method of claim 2, wherein the definition of the new object type comprises properties that include other object types.
-
5. The method of claim 4, wherein the user performing the graph action of the new action type on the graph object associated with the new object type performs the graph action on graph objects of the other object types.
-
6. The method of claim 1, wherein the graph object represents a different user in the social networking system.
-
7. The method of claim 6, wherein the new action type comprises the user performing the graph action with the different user.
-
8. The method of claim 1, wherein the graph object represents a location.
-
9. The method of claim 8, wherein the new action type comprises confirming the user'"'"'s future presence at the location.
-
10. The method of claim 1, wherein accessing the information from the system outside the social networking system comprises:
-
obtaining a markup language document for a web page of the system outside the social networking system; and identifying one or more tags in the markup language document, the tags containing the accessed information.
-
-
11. The method of claim 1, wherein receiving from a third party entity separate from the social networking system a definition of a new action type for capturing user interactions further comprises:
-
receiving an object type that may be performed on by the new action type; and storing an association with the object type in the definition of the new action type.
-
-
12. The method of claim 2, wherein receiving from the third party entity separate from the social networking system a definition of a new object type for capturing user interactions further comprises:
-
receiving an aggregator property of the new object type, the aggregator property defined by the third party to group graph objects of the new object type by the aggregator property; and responsive to the received aggregator property of the new object type, grouping graph objects having the new object type by the received aggregator property.
-
-
13. The method of claim 1, further comprising:
-
receiving a request for personalized information about the user from the embedded widget on the system outside the social networking system, the personalized information related to graph actions and graph objects recorded in the social graph stored on the social networking system; and responsive to the request, providing the personalized information about the user within the embedded widget on the system outside the social networking system.
-
-
14. The method of claim 13, wherein the personalized information is provided responsive to a customized query on graph actions having the new action type.
-
15. The method of claim 1, further comprising:
-
enabling specification of a query on the graph actions having the new action type, the query filtering graph actions having the new action type recorded in the social graph; providing templates for visualizing results of the query, the templates publishing timeline units on the social networking system; and communicating the timeline units describing the results of the query to users of the social networking system using the provided templates for visualizing the results of the query.
-
-
16. The method of claim 1, wherein each action type is a category of which each action is a member.
-
17. The method of claim 1, wherein the indication that a user of the social networking system has performed a graph action on a system outside the social networking system is received from a frame on a web page in a domain outside of the social networking system domain, where the frame contains web page content within the domain of the social networking system.
-
18. A method comprising:
-
storing a social graph, the social graph comprising a plurality of graph objects and a plurality of graph actions, each graph action having an action type from a plurality of predefined action types and representing a relationship between two or more graph objects; receiving from a third party entity separate from a social networking system a definition of a new action type; responsive to the received definition, adding the new action type to the plurality of predefined action types for use by the social networking system to capture user interactions with graph objects; requesting content from a system outside the social networking system for rendering on a user device, wherein the system hosts the content on a domain separate from the social networking system; receiving the requested content and an executable widget including a first instruction to authenticate the user device with the social networking system; rendering the requested content on the user device, wherein the user device enables a user to interact with the requested content on the system outside the social networking system; executing the widget on the user device, the widget including a second instruction to record a user interaction within the requested content responsive to detecting the user interaction; receiving an authentication of the user from the social networking system, the authentication including a user identifier of the user; detecting the user interaction with the requested content on the user device, the user interaction comprising a graph action performed on the system outside the social networking system, the graph action having an action type and a graph object having an object type; accessing information from the system outside the social networking system to record the graph object and the graph action associated with the user in the social networking system in real-time, the system outside the social networking system providing the information comprising the graph object and the graph action parameterized according to the corresponding object type and the corresponding action type in an action loci generated by the widget; and recording the user interaction as an entry including the graph object corresponding to the object type, the graph action corresponding to the action type, the user identifier of the user performing the user interaction on the system outside the social networking system, and contextual information related to the graph action and the graph object, wherein the recorded graph action in the social graph has the new action type.
-
-
19. The method of claim 18, wherein receiving the requested content further comprises:
-
receiving a markup language document for the requested content, the markup language document including a third instruction to create a frame within a web page for the requested content that includes personalized information from the social networking system; and receiving personalized information from the social networking system based on execution of the third instruction in the markup language document.
-
-
20. The method of claim 18, wherein the requested content includes a selectable link that corresponds to the user interaction representing the action type performed on the object type.
-
21. The method of claim 18, wherein the requested content enables a user to perform multiple user interactions representing different action types and object types.
-
22. The method of claim 18, further comprising:
communicating the entry to the social networking system.
-
23. The method of claim 19, wherein the frame comprises an iframe that contains a web page in the domain of the social networking system.
-
24. The method of claim 23, wherein the iframe includes the personalized information related to the user from directly within the domain of the social networking system.
-
25. The method of claim 19, wherein receiving personalized information from the social networking system further comprises:
-
receiving from the social networking system information about one or more other users who have interacted with the system outside the social networking system and with whom the user has established a connection within the social networking system; and displaying in the web page the information about the other users'"'"' interactions with the system outside the social networking system.
-
-
26. The method of claim 18, wherein recording the user interaction as an entry further comprises:
generating the entry in an action log stored on the user device.
-
27. A method comprising:
-
storing a social graph, the social graph comprising a plurality of graph objects and a plurality of graph actions, each graph action having an action type from a plurality of predefined action types and representing a relationship between two or more graph objects; receiving from a third party entity separate from the social networking system a definition of a new action type; responsive to the received definition, adding the new action type to the plurality of predefined action types for use by the social networking system to capture user interactions with graph objects; accessing information from a system outside the social networking system to record the graph object and the graph action associated with the user in the social networking system in real-time, the system outside the social networking system providing the information comprising the graph object and the graph action parameterized according to the corresponding object type and the corresponding action type in an action log generated by an embedded widget on the system outside the social networking system; extracting the graph object and the graph action from the accessed information; storing the graph object and the graph action associated with the user in the social graph of the social networking system; receiving at a server of the social networking system a query for external actions based on an application programming interface (API) call, the query including parameters that specify at least one object type, the new action type, and at least one user identifier; determining results to the query, the results comprising actions performed on objects by users of the social networking system, wherein at least one action is a graph action performed on a system outside the social networking system, the performed graph action having the new action type in connection with a graph object; and sending the results for display in a frame generated by an instruction in a markup language document, the instruction including the query.
-
-
28. The method of claim 27, wherein the frame comprises an iframe that contains a web page in the domain of the social networking system.
-
29. The method of claim 28, wherein the iframe includes a user interface for selecting other queries, the method further comprising:
-
receiving a selection of a link within the user interface, the link associated with a second query with different parameters; determining results to the second query; and sending the results to the second query for display in the frame.
-
-
30. The method of claim 27, further comprising:
providing the frame for display on a user device corresponding to a user of the social networking system, the frame including the results grouped by one or more other users whose external actions have been captured by the social networking system and with whom the user has established a connection within the social networking system.
-
31. The method of claim 27, further comprising:
providing the frame for display on a system outside of the social networking system, the frame including the results grouped by one or more users of the social networking system whose external actions have been captured by the social networking system.
-
32. The method of claim 27, wherein the query includes a sorting parameter, the method further comprising:
-
determining a ranking of the results to the query by the sorting parameter; and providing the results for display in the frame by the ranking.
-
-
33. The method of claim 27, wherein the query includes a grouping parameter and a grouping function, the method further comprising:
-
determining an aggregate value of the results to the query by the grouping parameter and the grouping function; and providing the aggregate value of the results for display in the frame.
-
Specification