IP Library › Granted Patent US 12,572,372
Granted Patent B2
US 12,572,372 · App. 17/948,523 · Granted Mar 10, 2026

Semantic metadata validation

Inventors: Antonio Garrote (San Francisco, CA); Pedro Colunga (Pilar, AZ); Jonathan Stoikovitch (San Francisco, CA); Martin Gutierrez (Pilar, AZ); Lucas Block (Pilar, AZ); Lucas Luppani (Pilar, AZ)
Assignee: Salesforce, Inc.
G06F9/44526G06F8/427G06F9/541G06F9/547G06F11/3608G06F11/3692G06F16/1865G06F16/2255G06F16/2365G06F16/24564G06F16/24573G06F16/2458G06F16/2462G06F16/252
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 12,572,372
App. No.
17/948,523
Filed
Sep 20, 2022
Granted
Mar 10, 2026
Kind
B2
Art Unit
2192
USPC
717/126
Abstract

Metadata objects describing a resource may be generated by multiple processes in the IT system and be of different metadata formats. These metadata objects may be parsed into a unified semantic graph over which validation rules may be applied. The semantic graph and a validation ruleset comprising one or more validation rules may be input into a validation engine. The validation engine may interpret the validation into logical assertions then apply them over the semantic graph. The validation engine may then generate a validation report indicating whether the graph is conformant. The validation report may include information about any validation failures that may have occurred and may be displayed to a user on a client device via a graphical user interface.

Claims (58)

1 . A computer-implemented method, comprising:

receiving a metadata object relating to an Application Programming Interface (API) node within a business domain ontology;

parsing the received metadata object, the parsing including:

generating an intermediate semantic graph model relating to the API node based on the received metadata object, the intermediate semantic graph model labeled with a global identifier that identifies the API node and including a plurality of nodes, links, and properties; and

generating a source map from the metadata object that contains information relating each node, link and property of the intermediate semantic graph model to a specific syntactical location in the received metadata object;

identifying previously-generated intermediate semantic graph models that include a same global identifier;

combining the generated intermediate sematic graph model with the identified previously-generated intermediate semantic graph models by merging the nodes of the generated intermediate semantic graph model with related nodes of the previously-generated intermediate semantic graph models to generate a unified semantic graph model;

applying a validation profile that includes a validation rule for validating the API node associated with the metadata object over the unified semantic graph model, the validation profile further including metadata documenting a use case for the validation rule, including positive and negative code examples; and

generating a validation report indicating a violation status of the validation rule, and markdown documentation for the validation profile based on the applying.

2 . The computer-implemented method of claim 1 , wherein the validation rule is stored in a metadata format, and

wherein the validation rule has a severity level indicating a severity for a violation of the validation rule.

3 . The computer-implemented method of claim 2 , further comprising:

translating the validation rule into a logical assertion before applying the validation rule to the unified semantic graph model.

4 . The computer-implemented method of claim 1 , further comprising:

storing the source map as part of the intermediate semantic graph model.

5 . The computer-implemented method of claim 4 , further comprising:

applying a set of logical assertions to add new labels to nodes, properties, and links of the unified semantic graph model, wherein the new labels are semantic inferences that link related information from different metadata files of a plurality of metadata files.

6 . The computer-implemented method of claim 2 , wherein the validation report comprises one or more of:

a severity of the violation, a validation error message, an identifier of the violated validation rule, a unique global identifier of a failing node in the unified semantic graph model in which the violation occurred, or information identifying a syntactical location for the failing node in a corresponding metadata file.

7 . A system comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive a metadata object relating to an Application Programming Interface (API) node within a business domain ontology;

parse the received metadata object, the parsing including:

generating an intermediate semantic graph model relating to the API node based on the received metadata object, the intermediate semantic graph model labeled with a global identifier that identifies the API node and including a plurality of nodes, links, and properties; and

generating a source map from the metadata object that contains information relating each node, link, and property of the intermediate semantic graph model to a specific syntactical location in the received metadata object;

identify previously-generated intermediate semantic graph models that include a same global identifier;

combine the generated intermediate sematic graph model with the identified previously-generated intermediate semantic graph models by merging the nodes of the generated intermediate semantic graph model with related nodes of the previously-generated intermediate semantic graph models to generate a unified semantic graph model;

apply a validation profile that includes a validation rule for validating the API node associated with the metadata object over the unified semantic graph model, the validation profile further including metadata documenting a use case for the validation rule, including positive and negative code examples; and

generate a validation report indicating a violation status of the validation rule, and markdown documentation for the validation profile based on the applying.

8 . The system of claim 7 , wherein the validation rule is stored in a metadata format, and

wherein the validation rule has a severity level indicating a severity for a violation of the validation rule.

9 . The system of claim 7 , wherein the at least one processor is further configured to:

translate the validation rule into a logical assertion before applying the validation rule to the unified semantic graph model.

10 . The system of claim 7 , wherein the at least one processor is further configured to:

store the generated source map as part of the intermediate semantic graph model.

11 . The system of claim 7 , wherein the at least one processor is further configured to:

apply a set of logical assertions to add new labels to nodes, properties, and links of the unified semantic graph model, wherein the new labels are semantic inferences that link related information from different metadata files.

12 . The system of claim 8 , wherein the validation report comprises one or more of:

a severity of the violation, a validation error message, an identifier of the violated validation rule, a unique global identifier of a failing node in the unified semantic graph model in which the violation occurred, or information identifying a syntactical location for the failing node in a corresponding metadata file.

13 . A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving a metadata object relating to an Application Programming Interface (API) node within a business domain ontology;

parsing the received metadata object, the parsing including:

generating an intermediate semantic graph model relating to the API node based on the received metadata object, the intermediate semantic graph model labeled with a global identifier that identifies the API node; and

generating a source map from the metadata object that contains information relating each node, link and property of the intermediate semantic graph model to a specific syntactical location in the received metadata object;

identifying previously-generated intermediate semantic graph models that include a same global identifier;

combining the generated intermediate sematic graph model with the identified previously-generated intermediate semantic graph models by merging the nodes of the generated intermediate semantic graph model with related nodes of the previously-generated intermediate semantic graph models to generate a unified semantic graph model;

applying a validation profile that includes a validation rule for validating the API node associated with the metadata object over the unified semantic graph model, the validation profile further including metadata documenting a use case for the validation rule, including positive and negative code examples; and

generating a validation report indicating a violation of the validation rule, and markdown documentation for the validation profile based on the applying.

14 . The non-transitory computer-readable device of claim 13 , wherein the validation rule is stored in a metadata format, and

wherein the validation rule has a severity level indicating a severity for a violation of the validation rule.

15 . The non-transitory computer-readable device of claim 13 , the operations further comprising:

translating the validation rule into a logical assertion before applying the validation rule to the unified semantic graph model.

16 . The non-transitory computer-readable device of claim 13 , further comprising:

storing the generated source map as part of the intermediate semantic graph model; and

applying a set of logical assertions to add new labels to nodes, properties, and links of the unified semantic graph model, wherein the new labels are semantic inferences that link related information from different metadata files.

17 . The non-transitory computer-readable device of claim 14 , wherein the validation report comprises one or more of:

a severity of the violation, a validation error message, an identifier of the violated validation rule, a unique global identifier of a failing node in the unified semantic graph model in which the violation occurred, or information identifying a syntactical location for the failing node in a corresponding metadata file.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2023
From: GARROTE, ANTONIO; GUTIERREZ, MARTIN ALEJANDRO; COLUNGA, PEDRO; STOIKOVITCH, JONATHAN; LUPPANI, LUCAS; BLOCK, LUCAS
To: SALESFORCE, INC.
Reel/Frame 062756/0674 →
Continuity (2)
Provisional Application 63246098 · Sep 20, 2021
Related Publication 20230088462A1 · Mar 23, 2023
References Cited (43)
US 9313207B2 · Cicchitto · 2016 [cited by applicant]
US 9753744B1 · Wells · 2017 [cited by examiner]
US 10437712B1 · Tyler · 2019 [cited by examiner]
US 10853150B1 · Bahrami · 2020 [cited by examiner]
US 10983963B1 · Venkatasubramanian et al. · 2021 [cited by applicant]
US 11947976B2 · Garrote et al. · 2024 [cited by applicant]
US 20040268305A1 · Hogg et al. · 2004 [cited by applicant]
US 20060095276A1 · Axelrod et al. · 2006 [cited by applicant]
US 20070174741A1 · Vasudevan · 2007 [cited by examiner]
US 20070214144A1 · Lawson et al. · 2007 [cited by applicant]
US 20080028069A1 · Urbanek et al. · 2008 [cited by applicant]
US 20080034425A1 · Overcash et al. · 2008 [cited by applicant]
US 20090217303A1 · Grechanik · 2009 [cited by examiner]
US 20100318858A1 · Essawi et al. · 2010 [cited by applicant]
US 20120054095A1 · Lesandro et al. · 2012 [cited by applicant]
US 20130166515A1 · Kung et al. · 2013 [cited by applicant]
US 20130298259A1 · Mattsson et al. · 2013 [cited by applicant]
US 20140068639A1 · Schrock · 2014 [cited by examiner]
US 20150089345A1 · Marimuthu et al. · 2015 [cited by applicant]
US 20160026710A1 · Laredo · 2016 [cited by examiner]
US 20170006066A1 · Eckel · 2017 [cited by applicant]
US 20170103472A1 · Shah · 2017 [cited by applicant]
US 20170177882A1 · Allgaier · 2017 [cited by applicant]
US 20170262441A1 · Horowitz et al. · 2017 [cited by applicant]
US 20170286456A1 · Wenzel et al. · 2017 [cited by applicant]
US 20180314622A1 · Lowe · 2018 [cited by examiner]
US 20190196890A1 · Bucchi · 2019 [cited by examiner]
US 20190197111A1 · Garrote · 2019 [cited by examiner]
US 20200250176A1 · Padmanabhan · 2020 [cited by applicant]
US 20220101153A1 · Hubauer · 2022 [cited by applicant]
US 20230047837A1 · Chilupuri · 2023 [cited by examiner]
US 20230116336A1 · Garrote et al. · 2023 [cited by applicant]
US 20230229704A1 · Wang · 2023 [cited by examiner]
US 20240241818A1 · Puzhakkal Pulikkal · 2024 [cited by examiner]
EP 3722968A1 · 2020 [cited by applicant]
WO 2014189552A1 · 2014 [cited by applicant]
WO 2016048418A1 · 2016 [cited by applicant]
Hamza Ed-douibi et al., “Automatic Generation of Test Cases for REST APIs: A Specification-Based Approach,” 2018 [retrieved on Oct. 19, 2024], 2018 IEEE 22nd International Enterprise Distributed Object Computing Confere… [cited by examiner]
Wikipedia, “Ontology (Computer Science),” 2021 [retrieved Jun. 14, 2025], pp. 1-19, downloaded from <url>:https://web.archive.org/web/20210802023808/https://en.wikipedia.org/wiki/Ontology_(information_science). (Year: 2… [cited by examiner]
Wikipedia, “Workflow,” 2021 [retrieved Jun. 14, 2025], pp. 1-10, downloaded from <url>:https://web.archive.org/web/20210830030042/https://en.wikipedia.org/wiki/Workflow. (Year: 2021). [cited by examiner]
Daniel Garijo et al., “OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs,” 2020 [retrieved Oct. 15, 2025], Lecture Notes in Computer Science ((LNISA, vol. 12507)), pp. 48-64, downloaded from <… [cited by examiner]
Srikanth Jonnada et al., “Measure your API Complexity and Reliability,” 2019 [retrieved Oct. 15, 2025], 2019 IEEE 17th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 1… [cited by examiner]
Miklos Kalman et al., “Rule-Based Web Service Validation”, 2014 IEEE International Conference on Web Services, Jun. 1, 2014, (pp. 542-549). [cited by applicant]