IP Library Granted Patent US 12,705,113
Granted Patent B2
US 12,705,113 · App. 17/551,099 · Granted Aug 11, 2026

Mapping application programming interface schemas with semantic representations

Inventors: Guido Martín Chari (Buenos Aires, AR); Nicolás Roque D'Ippolito (Ciudad Autónoma de Buenos Aires, AR); Satchuthananthavale Rasiah Kuhan Branavan (London, GB)
Assignee: ASAPP, INC.
G06F9/541G06F16/86
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,705,113
App. No.
17/551,099
Filed
Dec 14, 2021
Granted
Aug 11, 2026
Kind
B2
Art Unit
2194
USPC
719/328
Abstract

Application programming interfaces (APIs) may have different API schemas that may have different organizations of schema properties and entities or use different names for schema properties and entities. Where two or more APIs with different schemas are being used, it may be desired to map schema properties and/or entities between them. Semantic representations of API schema properties and entities may be used to assist with the mapping of schema properties and entities. The semantic representations may be used to suggest possible mappings to a user or to automatically determine a mapping without the involvement of a user.

Claims (47)

1 . A computer-implemented method, comprising:

computing, using a neural network, external semantic vectors for external schema properties of an external API, wherein the external semantic vectors represent the external schema properties in a vector space;

obtaining a first internal semantic vector corresponding to a first internal schema property of an internal API, wherein the first internal semantic vector represents the first internal schema property in the vector space;

selecting one or more candidate external schema properties by comparing the first internal semantic vector to the external semantic vectors to identify external schema properties having similar meanings but different naming conventions, wherein the one or more candidate external schema properties comprise a first external schema property;

presenting the first internal schema property and the one or more candidate external schema properties to a user;

receiving, from the user, a selection of the first external schema property; and

creating a mapping from the first internal schema property to the first external schema property.

2 . The computer-implemented method of claim 1 , wherein the external semantic vectors correspond to word embeddings.

3 . The computer-implemented method of claim 1 , wherein the external semantic vectors are computed using property names and entity names.

4 . The computer-implemented method of claim 1 , wherein the external semantic vectors are computed using values of the external schema properties.

5 . The computer-implemented method of claim 1 , wherein a first external semantic vector for the first external schema property is computed by concatenating a semantic representation of a name of the first external schema property, a semantic representation of an entity of the first external schema property, and a semantic representation of a description of the first external schema property.

6 . The computer-implemented method of claim 1 , wherein selecting the one or more candidate external schema properties comprises computing a distance between the first internal semantic vector and semantic vectors for the one or more candidate external schema properties.

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

computing second external semantic vectors for second external schema properties of a second external API, wherein the second external semantic vectors represent the second external schema properties in the vector space;

selecting one or more second candidate external schema properties by comparing the first internal semantic vector to the second external semantic vectors, wherein the one or more second candidate external schema properties comprise a second external schema property;

presenting the first internal schema property and the one or more second candidate external schema properties to a second user;

receiving, from the second user, a selection of the second external schema property; and

creating a second mapping from the first internal schema property to the second external schema property.

8 . The computer-implemented method of claim 1 , wherein a first internal name of the first internal schema property is different from a first external name of the first external schema property.

9 . A system, comprising at least one computing device comprising at least one processor and at least one memory, the at least one computing device configured to:

compute, using a neural network, external semantic vectors for external schema properties of an external API, wherein the external semantic vectors represent the external schema properties in a vector space;

obtain a first internal semantic vector corresponding to a first internal schema property of an internal API, wherein the first internal semantic vector represents the first internal schema property in the vector space;

select one or more candidate external schema properties by comparing the first internal semantic vector to the external semantic vectors to identify external schema properties having similar meanings but different naming conventions, wherein the one or more candidate external schema properties comprise a first external schema property;

present the first internal schema property and the one or more candidate external schema properties to a user;

receive, from the user, a selection of the first external schema property; and

create a mapping from the first internal schema property to the first external schema property.

10 . The system of claim 9 , wherein the at least one computing device is configured to automatically match a second internal schema property to a second external schema property without asking the user.

11 . The system of claim 9 , wherein the at least one computing device is configured to present an option to search for other external schema properties.

12 . The system of claim 9 , wherein the external semantic vectors are computed using word2vec or GloVe.

13 . The system of claim 9 , wherein:

the internal API is an API of a provider company; and

the external API is an API of a company that is a customer of the provider company.

14 . The system of claim 9 , wherein the at least one computing device is configured to adapt an internal API call to one or more external API calls using the mapping.

15 . The system of claim 14 , wherein the at least one computing device is configured to adapt the internal API call using a directed graph corresponding to the external API.

16 . The system of claim 9 , wherein the external semantic vectors are computed using property names and entity names.

17 . One or more non-transitory, computer-readable media comprising computer-executable instructions that, when executed, cause at least one processor to perform actions comprising:

computing, using a neural network, external semantic vectors for external schema properties of an external API, wherein the external semantic vectors represent the external schema properties in a vector space;

obtaining a first internal semantic vector corresponding to a first internal schema property of an internal API, wherein the first internal semantic vector represents the first internal schema property in the vector space;

selecting one or more candidate external schema properties by comparing the first internal semantic vector to the external semantic vectors to identify external schema properties having similar meanings but different naming conventions, wherein the one or more candidate external schema properties comprise a first external schema property;

presenting the first internal schema property and the one or more candidate external schema properties to a user;

receiving, from the user, a selection of the first external schema property; and

creating a mapping from the first internal schema property to the first external schema property.

18 . The one or more non-transitory, computer-readable media of claim 17 , wherein the actions comprise:

determining a domain corresponding to the external API; and

obtaining the first internal semantic vector using the domain.

19 . The one or more non-transitory, computer-readable media of claim 17 , wherein the mapping is used to dynamically adapt an internal API call to an external API call.

20 . The one or more non-transitory, computer-readable media of claim 17 , wherein the mapping is used to statically adapt an internal API call to an external API call.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2022
From: CHARI, GUIDO MARTÍN; D'IPPOLITO, NICOLÁS ROQUE; BRANAVAN, SATCHUTHANANTHAVALE RASIAH KUHAN
To: ASAPP, INC.
Reel/Frame 058652/0312 →
Continuity (1)
Related Publication 20230185639A1 · Jun 15, 2023
References Cited (54)
US 6389376B1 · Lam et al. · 2002 [cited by applicant]
US 7010796B1 · Strom · 2006 [cited by examiner]
US 8108223B2 · Willoughby · 2012 [cited by applicant]
US 8209238B2 · Hughes · 2012 [cited by applicant]
US 8271998B2 · Dettori et al. · 2012 [cited by applicant]
US 8463633B2 · Jung et al. · 2013 [cited by applicant]
US 9092568B2 · Rhee et al. · 2015 [cited by applicant]
US 9804886B1 · Wells et al. · 2017 [cited by applicant]
US 10417058B1 · Kesler · 2019 [cited by applicant]
US 10430318B1 · Ansari et al. · 2019 [cited by applicant]
US 10521738B2 · Simó et al. · 2019 [cited by applicant]
US 10635789B1 · Golden et al. · 2020 [cited by applicant]
US 10637826B1 · Luo · 2020 [cited by examiner]
US 10831456B1 · Bhownani · 2020 [cited by examiner]
US 11262986B2 · Narangodage et al. · 2022 [cited by applicant]
US 11537448B1 · Chari et al. · 2022 [cited by applicant]
US 20040122690A1 · Willoughby · 2004 [cited by applicant]
US 20070055655A1 · Bernstein · 2007 [cited by examiner]
US 20070179962A1 · Hernandez-Sherrington · 2007 [cited by examiner]
US 20080021988A1 · Abernethy et al. · 2008 [cited by applicant]
US 20080271008A1 · Dettori et al. · 2008 [cited by applicant]
US 20100058262A1 · Morizawa et al. · 2010 [cited by applicant]
US 20100262471A1 · Hughes · 2010 [cited by applicant]
US 20110099159A1 · Trevor et al. · 2011 [cited by applicant]
US 20130030859A1 · Jung et al. · 2013 [cited by applicant]
US 20140150115A1 · Ciudad et al. · 2014 [cited by applicant]
US 20160300060A1 · Pike et al. · 2016 [cited by applicant]
US 20170235824A1 · Liu · 2017 [cited by examiner]
US 20170351401A1 · Pascale et al. · 2017 [cited by applicant]
US 20180039570A1 · Rajagopalan et al. · 2018 [cited by applicant]
US 20180052924A1 · Jagmohan · 2018 [cited by examiner]
US 20180152506A1 · Simó et al. · 2018 [cited by applicant]
US 20180232404A1 · Bhatti · 2018 [cited by examiner]
US 20180288190A1 · Lyons · 2018 [cited by applicant]
US 20190034801A1 · Sodhani · 2019 [cited by examiner]
US 20190107410A1 · Chakraborty et al. · 2019 [cited by applicant]
US 20200175030A1 · Natraj · 2020 [cited by examiner]
US 20200311077A1 · Zhang · 2020 [cited by examiner]
US 20200327136A1 · Gao · 2020 [cited by examiner]
US 20200409670A1 · Narangodage · 2020 [cited by examiner]
US 20210117459A1 · Tan · 2021 [cited by examiner]
US 20210263732A1 · Luo · 2021 [cited by examiner]
US 20230069222A1 · Skazinski · 2023 [cited by examiner]
CA 3025479C · 2021 [cited by applicant]
CN 105224305A · 2016 [cited by applicant]
JP H11212798A · 1999 [cited by applicant]
JP 2008211595A · 2008 [cited by applicant]
WO 2020202433A1 · 2020 [cited by applicant]
Behi, Farahzad , et al., “Software Development with Automatic Code Generation: Observations from Novice Developer Viewpoint”, Proceedings of the International Conference on Software Engineering Research and Practice & C… [cited by applicant]
Ed-Douibi, Hamza , et al., “APIComposer: Data-driven Composition of Rest APIs”, Service-Oriented and Cloud Computing. ESOCC 2018. Lecture Notes in Computer Science, Kritikos K., Plebani P., de Paoli F. (eds), vol. 11116… [cited by applicant]
Lappas, Theodoros , et al., “Finding a Team of Experts in Social Networks”, KDD '09: Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, Jun. 2009, pp. 467-476. [cited by applicant]
Rosales-Morales, Viviana Yarel, et al., “An analysis of tools for automatic software development and automatic code generation”, Revista Facultad de Ingeniería, Universidad de Antioquia, No. 77, 2015 (accessed on Jan. 3… [cited by applicant]
Serrano, Diego , et al., “Linked Rest APIs: A Middleware for Semantic REST API Integration”, IEEE 24th International Conference on Web Services, 2017, pp. 138-145. [cited by applicant]
Harrold, et al., “Regression Test Selection for Java Software”, OOPSLA 01 Tampa, Florida, USA, 2001, pp. 312-326. [cited by applicant]