# US 12,762,130 B2 · Distributed multi-source data processing and publishing platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,762,130 B2
- Document ID: US12762130B2
- Status: Granted
- Kind: B2
- Application number: 17/167,631
- Filed: 2021-02-04
- Published: 2022-08-04
- Granted: 2026-10-13
- Earliest claimed: 2021-02-04
- Assignees: Yext, Inc.
- Applicants: Yext, Inc.
- Inventors: Thomas C. Dixon; Robert Figueiredo; Jacob Fancher
- Web page: https://patentgrep.com/patent/US12762130B2

## CPC

- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/24573: {using data annotations, e.g. user-defined metadata}
- G06F 16/248: Presentation of query results
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A system and method to manage a data graph including data associated with a user system. The system and method receive multiple input document streams from multiple different data sources. A first document is identified from one of the multiple input document streams, the first document having a first schema including data associated with the user system. The first document is transformed from the first schema to a second schema to generate a first transformed document including at least a portion of the data. The portion of the data of the transformed first document is merged into the data graph stored in a graph database.

## Claims

### Claim 1

A method comprising:
identifying, from a plurality of input document streams received from a plurality of data sources, a first document having a first schema comprising first data associated with a first user system and a second document having the first schema comprising second data associated with a second user system, wherein the first data comprises one or more reference-type identifiers;
transforming, by a processing device, the first document from the first schema to a second schema associated with the first user system to generate a first transformed document comprising at least a portion of the first data;
identifying a first graph key associated with the first transformed document;
matching the first graph key to a graph node key associated with a first graph node of a first data graph associated with the first user system stored in a graph database;
merging the at least the portion of the first data of the first transformed document into the first graph node of the first data graph associated with the first user system;
determining that at least one of the one or more reference-type identifiers of the first data matches at least one entity identifier of an existing graph node;
establishing, in response to the determining, a graph edge between the first graph node and the existing graph node of the first data graph based on the one or more reference-type identifiers of the first data;
transforming the second document from the first schema to a third schema associated with the second user system to generate a second transformed document;
merging the second transformed document into a second data graph associated with the second user system;
identifying first updated data resulting from one or more updates to the first data;
identifying a set of updated fields of the first graph node based on the first updated data, the set of updated fields including a first field associated with the first updated data;
identifying a first label associated with the first graph node;
identifying a first and a second output specifications having respective specification labels matching the first label;
identifying a first output schema associated with the first output specification, wherein the first output schema includes the first field;
generating a first output document comprising the first data and the first updated data, the first output schema describing how to compose the first output document;
suppressing generation of a second output document for the first graph node in accordance with the second output specification, wherein a second output schema associated with the second output specification does not include the first field;
publishing the first output document to the first user system;
generating a second output document comprising second data from the second data graph in accordance with a second output schema associated with the second user system, the second output schema describing how to compose the second output document; and
publishing the second output document to the second user system.

### Claim 2 (depends on 1)

The method of claim 1, further comprising parsing the first document to identify a first graph key portion comprising the first graph key.

### Claim 3 (depends on 2)

The method of claim 2, further comprising identifying the first graph node in the first data graph comprising a first graph node key matching the first graph key of the first transformed document.

### Claim 4 (depends on 3)

The method of claim 3, further comprising parsing the first document to identify a first data portion comprising one or more data field-value pairs comprising updated data, a second data portion comprising the one or more reference-type identifiers, and third data portion comprising metadata corresponding to a first data source of the first document.

### Claim 5 (depends on 4)

The method of claim 4, further comprising merging the first data portion, second data portion, and third data portion into the first graph node of the first data graph stored in the graph database.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
identifying a label comprised within the metadata of the third data portion;
storing a set of output document specifications, wherein each of the set of output document specifications is associated with a specification label; and
determining the label matches a first specification label corresponding to a first output document specification of the set of output document specifications.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
identifying the first output schema associated with the first output document specification.

### Claim 8

A system comprising:
a memory to store instructions; and
a processing device, operatively coupled to the memory, to execute the instructions to perform operations comprising:
identifying, from a plurality of input document streams received from a plurality of data sources, a first document having a first schema comprising first data associated with a first user system and a second document having the first schema comprising second data associated with a second user system, wherein the first data comprises one or more reference-type identifiers;
transforming the first document from the first schema to a second schema associated with the first user system to generate a first transformed document comprising at least a portion of the first data;
identifying a first graph key associated with the first transformed document;
matching the first graph key to a graph node key associated with a first graph node of a first data graph associated with the first user system stored in a graph database;
merging the at least the portion of the first data of the first transformed document into the first graph node of the first data graph associated with the first user system;
determining that at least one of the one or more reference-type identifiers of the first data matches at least one entity identifier of an existing graph node;
establishing, in response to the determining, a graph edge between the first graph node and the existing graph node of the first data graph based on the one or more reference-type identifiers of the first data;
transforming the second document from the first schema to a third schema associated with the second user system to generate a second transformed document;
merging the second transformed document into a second data graph associated with the second user system;
identifying first updated data resulting from one or more updates to the first data;
identifying a set of updated fields of the first graph node based on the first updated data, the set of updated fields including a first field associated with the first updated data;
identifying a first label associated with the first graph node;
identifying a first and a second output specifications having respective specification labels matching the first label;
identifying a first output schema associated with the first output specification, wherein the first output schema includes the first field;
generating a first output document comprising the first data and the first updated data, the first output schema describing how to compose the first output document;
publishing the first output document to the first user system;
suppressing generation of a second output document for the first graph node in accordance with the second output specification, wherein a second output schema associated with the second output specification does not include the first field;
generating a second output document comprising second data from the second data graph in accordance with a second output schema associated with the second user system, the second output schema describing how to compose the second output document; and
publishing the second output document to the second user system.

### Claim 9 (depends on 8)

The system of claim 8, the operations further comprising identifying a second graph node of the first data graph associated with the first user system, wherein the second graph node comprises a second label and second data in a second data field.

### Claim 10 (depends on 9)

The system of claim 9, the operations further comprising:
determining a second output specification associated with the first user system does not include a specification label that matches the second label of the second graph node; and
suppressing generation of an output document corresponding to the second graph node.

### Claim 11 (depends on 9)

The system of claim 9, the operations further comprising:
determining a second output specification associated with the first user system comprises a second specification label that matches the second label of the second graph node;
identifying a second output schema associated with the second output specification;
determining the second output schema does not comprise the second data field associated with the second data; and
suppressing generation of an output document corresponding to the second graph node.

### Claim 12

A non-transitory computer readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
identifying, from a plurality of input document streams received from a plurality of data sources, a first document having a first schema comprising first data associated with a first user system and a second document having the first schema comprising second data associated with a second user system, wherein the first data comprises one or more reference-type identifiers;
transforming the first document from the first schema to a second schema associated with the first user system to generate a first transformed document comprising at least a portion of the first data;
identifying a first graph key associated with the first transformed document;
matching the first graph key to a graph node key associated with a first graph node of a first data graph associated with the first user system stored in a graph database;
merging the at least the portion of the first data of the first transformed document into the first graph node of the first data graph associated with the first user system;
determining that at least one of the one or more reference-type identifiers of the first data matches at least one entity identifier of an existing graph node;
establishing, in response to the determining, a graph edge between the first graph node and the existing graph node of the first data graph based on the one or more reference-type identifiers of the first data;
transforming the second document from the first schema to a third schema associated with the second user system to generate a second transformed document;
merging the second transformed document into a second data graph associated with the second user system;
identifying first updated data resulting from one or more updates to the first data;
identifying a set of updated fields of the first graph node based on the first updated data, the set of updated fields including a first field associated with the first updated data;
identifying a first label associated with the first graph node;
identifying a first and a second output specifications having respective specification labels matching the first label;
identifying a first output schema associated with the first output specification, wherein the first output schema includes the first field;
generating a first output document comprising the first data and the first updated data, the first output schema describing how to compose the first output document;
suppressing generation of a second output document for the first graph node in accordance with the second output specification, wherein a second output schema associated with the second output specification does not include the first field;
publishing the first output document to the first user system;
generating a second output document comprising second data from the second data graph in accordance with a second output schema associated with the second user system, the second output schema describing how to compose the second output document; and
publishing the second output document to the second user system.

### Claim 13 (depends on 12)

The non-transitory computer readable storage medium of claim 12, the operations further comprising:
further comprising parsing the first document to identify a first graph key portion comprising a first graph key.

### Claim 14 (depends on 13)

The non-transitory computer readable storage medium of claim 13, the operations further comprising identifying a first graph node in the first data graph comprising a graph node key matching the first graph key of the first document.

### Claim 15 (depends on 14)

The non-transitory computer readable storage medium of claim 14, the operations further comprising parsing the first document to identify a first data portion comprising one or more data field-value pairs comprising updated data, a second data portion comprising the one or more reference-type identifiers, and third data portion comprising metadata corresponding to a first data source of the first document.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, the operations further comprising further comprising merging the first data portion, second data portion, and third data portion into the first graph node of the first data graph stored in the graph database.
