IP Library Granted Patent US 10,671,661
Granted Patent B2
US 10,671,661 · App. 15/482,551 · Granted Jun 2, 2020

Graph query logic

Inventors: Nicholas Hage Schrock (San Francisco, CA); Lee Williams Byron (San Francisco, CA); Daniel L. Schafer (San Francisco, CA)
Assignee: Facebook, Inc.
G06F16/532G06F3/048G06F16/24564G06F16/28G06F16/282G06F16/9024G06F16/951
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,671,661
App. No.
15/482,551
Granted
Jun 2, 2020
Kind
B2
Abstract

In one embodiment, a method includes generating a first query requesting a data structure of a specific data type, retrieving the data structure of the specific data type from one or more hierarchical graphs using the first query, retrieving one or more data items from the hierarchical graphs using the data structure, and validating the retrieved data items by determining whether the data structure corresponds to the retrieved data items.

Claims (42)

1. A computer-implemented method comprising, by one or more computing systems:

receiving, from a client system, an application programming interface (API) call requesting a data structure of a specific data type to be retrieved from one or more hierarchical graphs associated with a social-networking system, the one or more hierarchical graphs comprising information relating to a plurality of data types and data items, stored in the one or more hierarchical graphs, corresponding to each of the data types, wherein the API call comprises an introspection query for the data structure of the specific data type;

retrieving, using the API call, the data structure of the specific data type from the one or more hierarchical graphs associated with the social-networking system, the data structure having a first hierarchical structure;

retrieving, using the data structure, one or more data items from the hierarchical graphs, wherein retrieved data items are arranged in a second hierarchical structure that corresponds to the first hierarchical structure of the retrieved data structure of the specific data type; and

validating the retrieved data items based on a comparison of the second hierarchical structure of the retrieved data items with the first hierarchical structure of the retrieved data structure of the specific data type.

2. The computer-implemented method of claim 1 , wherein the retrieved data items are expressed in a JavaScript Object Notation (JSON) format.

3. The computer-implemented method of claim 1 , wherein the retrieving the data items from the one or more hierarchical graphs comprises:

identifying one or more nodes, each of the nodes representing the data items corresponding to one of the nodes; and

retrieving the data items from the nodes of the hierarchical graphs based on the respective node.

4. The computer-implemented method of claim 1 , wherein a data type comprises a hierarchical data structure.

5. The computer-implemented method of claim 1 , wherein the validating the retrieved data items is performed using a recursive parsing algorithm.

6. The computer-implemented method of claim 1 , wherein the validating further comprises:

when, in response to the comparing, one or more of the retrieved data items in the second hierarchical structure do not correspond to the first hierarchical structure of the retrieved data structure, discarding one or more of the retrieved data items.

7. The computer-implemented method of claim 1 , further comprising accessing one or more of the hierarchical graphs in response to receiving the API call.

8. The computer-implemented method of claim 1 , wherein the hierarchical graphs comprise representations of data generated by the social networking system.

9. The computer-implemented method of claim 1 , wherein the retrieving the data structure of a specific data type further comprises:

retrieving a definition for the specific data type, the definition specifying a data structure for the specific data type, the data structure including a name of the specific data type and for each of one or more fields of the data structure, a name and description of the field.

10. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive, from a client system, an application programming interface (API) call requesting a data structure of a specific data type to be retrieved from one or more hierarchical graphs associated with a social-networking system, the one or more hierarchical graphs comprising information relating to a plurality of data types and data items, stored in the one or more hierarchical graphs, corresponding to each of the data types, wherein the API call comprises an introspection query for the data structure of the specific data type;

retrieve, using the API call, the data structure of the specific data type from the one or more hierarchical graphs associated with the social-networking system the data structure having a first hierarchical structure;

retrieve, using the data structure, one or more data items from the hierarchical graphs, wherein retrieved data items are arranged in a second hierarchical structure that corresponds to the first hierarchical structure of the retrieved data structure of the specific data type; and

validate the retrieved data items based on a comparison of the second hierarchical structure of the retrieved data items with the first hierarchical structure of the retrieved data structure of the specific data type.

11. The media of claim 10 , wherein the retrieved data items are expressed in a JavaScript Object Notation (JSON) format.

12. The media of claim 10 , wherein a data type comprises a hierarchical data structure.

13. The media of claim 10 , wherein the retrieve the data items from the one or more hierarchical graphs comprises:

identify one or more nodes, each of the nodes representing the data items corresponding to one of the nodes; and

retrieve the data items from the nodes of the hierarchical graphs based on the respective node.

14. The media of claim 10 , wherein the validate the retrieved data items is performed using a recursive parsing algorithm.

15. 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:

receive, from a client system, an application programming interface (API) call requesting a data structure of a specific data type to be retrieved from one or more hierarchical graphs associated with a social-networking system, the one or more hierarchical graphs comprising information relating to a plurality of data types and data items, stored in the one or more hierarchical graphs, corresponding to each of the data types, wherein the API call comprises an introspection query for the data structure of the specific data type;

retrieve, using the API call, the data structure of the specific data type from the one or more hierarchical graphs associated with the social-networking system, the data structure having a first hierarchical structure;

retrieve, using the data structure, one or more data items from the hierarchical graphs, wherein retrieved data items are arranged in a second hierarchical structure that corresponds to the first hierarchical structure of the retrieved data structure of the specific data type; and

validate the retrieved data items based on a comparison of the second hierarchical structure of the retrieved data items with the first hierarchical structure of the retrieved data structure of the specific data type.

16. The system of claim 15 , wherein the retrieved data items are expressed in a JavaScript Object Notation (JSON) format.

17. The system of claim 15 , wherein a data type comprises a hierarchical data structure.

18. The system of claim 15 , wherein the retrieve the data items from the one or more hierarchical graphs comprises:

identify one or more nodes, each of the nodes representing the data items corresponding to one of the nodes; and

retrieve the data items from the nodes of the hierarchical graphs based on the respective node.

19. The system of claim 15 , wherein the validate the retrieved data items is performed using a recursive parsing algorithm.

20. The system of claim 15 , wherein the hierarchical graphs comprise representations of data generated by the social networking system.

Assignments (1)
CHANGE OF NAME Recorded Nov 19, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058214/0351 →
Continuity (2)
Continuation 13601769 · Aug 31, 2012
Related Publication 20170212914A1 · Jul 27, 2017
Cited By (1)
US 12,412,212