IP Library Granted Patent US 12669990
Granted Patent B2
US 12669990 · App. 18/357,023 · Granted Jun 30, 2026

Intelligent update of application programming interfaces

Inventors: Jan Portisch (Bruchsal, DE); Sandra Bracholdt (Dielheim, DE)
Assignee: SAP SE
G06F8/65G06F8/61G06F9/541
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 12669990
App. No.
18/357,023
Granted
Jun 30, 2026
Kind
B2
Abstract

A computer-implemented method can specify a source version and a target version of an application programming interface (API) and a target programming language; and retrieve a difference graph connecting from a source knowledge graph characterizing the source version of the API to a target knowledge graph characterizing the target version of the API. The difference graph includes one or more revision edges representing changes of the API between the source version and the target version. The method can install one or more function packages written in the target programming language and associated with the one or more revision edges; and run the one or more function packages to update the API from the source version to the target version.

Claims (47)

1 . A computer-implemented method comprising:

receiving a source version and a target version of an application programming interface (API) and a target programming language specified by a user;

automatically retrieving a difference graph from a difference graph storage, wherein the difference graph connects a source knowledge graph characterizing the source version of the API to a target knowledge graph characterizing the target version of the API,

wherein the source knowledge graph and the target knowledge graph respectively comprise a plurality of nodes representing metadata objects or data values associated with corresponding versions of the API and a plurality of edges connecting the plurality of nodes, wherein the plurality of edges define a hierarchical relationship between the metadata objects or data values represented by the plurality of nodes,

wherein the difference graph comprises one or more revision edges, wherein each revision edge connects a source node in the source knowledge graph to a target node in the target knowledge graph, and represents a change from a metadata object or data value represented by the source node to a metadata object or data value represented by the target node when comparing between the source version and the target version of the API;

installing one or more function packages written in the target programming language and associated with the one or more revision edges; and

running the one or more function packages to update the API from the source version to the target version.

2 . The method of claim 1 , further comprising deriving the one or more function packages from one or more standard functions linked to the one or more revision edges, wherein the one or more standard functions are written in a language other than the target programming language.

3 . The method of claim 2 , further comprising presenting the difference graph including the one or more revision edges on a graphical user interface; and providing, via the graphical user interface, a list of recommended standard functions corresponding to at least one of the revision edges.

4 . The method of claim 2 , wherein the one or more standard functions are defined based on a generic standard action, wherein the generic standard action defines a variable input type, a variable return type, and a parameter construct for the one or more standard functions, wherein the parameter construct represents a variable set of parameter names and parameter values that are input parameters of the one or more standard functions.

5 . The method of claim 2 , wherein the one or more revision edges has an associated annotation comprising an assigned API change identifier, an assigned action identifier, and one or more assigned action parameters, wherein the API change identifier indicates changes of the API from the source version to the target version, the action identifier indicates a standard function for at least one revision edge, and the one or more action parameters specify input to the standard function.

6 . The method of claim 2 , wherein the installing comprises retrieving the one or more standard functions from a code repository associated with the difference graph storage.

7 . The method of claim 2 , further comprising:

for a selected revision edge, generating a list of available standard functions suitable for implementing a change of the API from the source version to the target version represented by the selected revision edge; and

receiving a selection, from the list of available standard functions, a target standard function, wherein the installing comprises downloading the target standard function.

8 . The method of claim 7 , further comprising ranking the list of available standard functions based on counts of user download of the available standard functions, providers of the available standard functions, or both.

9 . The method of claim 1 , wherein the retrieved difference graph is selected from multiple difference graphs connecting from the source knowledge graph to the target knowledge graph, wherein the multiple difference graphs comprise respective revision edges, wherein the multiple difference graphs are ranked based on counts of user selection of the multiple difference graphs to update the API, providers of the multiple difference graphs, or both.

10 . The method of claim 1 , wherein at least one of the function packages is configured to change a datatype of one of the metadata objects from the source version of the API to the target version of the API.

11 . A computing system comprising:

memory;

one or more hardware processors coupled to the memory; and

one or more computer readable storage media storing instructions that, when loaded into the memory, cause the one or more hardware processors to perform operations comprising:

receiving a source version and a target version of an application programming interface (API) and a target programming language specified by a user;

automatically retrieving a difference graph from a difference graph storage, wherein the difference graph connects a source knowledge graph characterizing the source version of the API to a target knowledge graph characterizing the target version of the API,

wherein the source knowledge graph and the target knowledge graph respectively comprise a plurality of nodes representing metadata objects or data values associated with corresponding versions of the API and a plurality of edges connecting the plurality of nodes, wherein the plurality of edges define a hierarchical relationship between the metadata objects or data values represented by the plurality of nodes,

wherein the difference graph comprises one or more revision edges, wherein each revision edge connects a source node in the source knowledge graph to a target node in the target knowledge graph, and represents a change from a metadata object or data value represented by the source node to a metadata object or data value represented by the target node when comparing between the source version and the target version of the API;

installing one or more function packages written in the target programming language and associated with the one or more revision edges; and

running the one or more function packages to update the API from the source version to the target version.

12 . The system of claim 11 , wherein the operations further comprise deriving the one or more function packages from one or more standard functions linked to the one or more revision edges, wherein the one or more standard functions are written in a language other than the target programming language.

13 . The system of claim 12 , wherein the operations further comprise presenting the difference graph including the one or more revision edges on a graphical user interface; and providing, via the graphical user interface, a list of recommended standard functions corresponding to at least one of the revision edges.

14 . The system of claim 12 , wherein the one or more revision edges has an associate annotation, an assigned API change identifier, an assigned action identifier, and one or more assigned action parameters, wherein the API change identifier indicates changes of the API from the source version to the target version, the action identifier indicates a standard function for at least one revision edge, and the one or more action parameters specify input to the standard function.

15 . The system of claim 12 , wherein the installing comprises retrieving the one or more standard functions from a code repository associated with the difference graph storage.

16 . The system of claim 12 , wherein the operations further comprise:

for a selected revision edge, generating a list of available standard functions suitable for implementing a change of the API from the source version to the target version represented by the selected revision edge; and

receiving a selection, from the list of available standard functions, a target standard function,

wherein the installing comprises downloading the target standard function.

17 . The system of claim 16 , wherein the operations further comprise ranking the list of available standard functions based on counts of user download of the available standard functions, providers of the available standard functions, or both.

18 . The system of claim 11 , wherein the retrieved difference graph is selected from multiple difference graphs connecting from the source knowledge graph to the target knowledge graph, wherein the multiple difference graphs comprise respective revision edges, wherein the multiple difference graphs are ranked based on counts of user selection of the multiple difference graphs to update the API, providers of the multiple difference graphs, or both.

19 . The system of claim 11 , wherein at least one of the function packages is configured to change a datatype of one of the metadata objects from the source version of the API to the target version of the API.

20 . One or more non-transitory computer-readable media having encoded thereon computer-executable instructions causing one or more processors to perform a method comprising:

receiving a source version and a target version of an application programming interface (API) and a target programming language specified by a user;

automatically retrieving a difference graph from a difference graph storage, wherein the difference graph connects a source knowledge graph characterizing the source version of the API to a target knowledge graph characterizing the target version of the API,

wherein the source knowledge graph and the target knowledge graph respectively comprise a plurality of nodes representing metadata objects or data values associated with corresponding versions of the API and a plurality of edges connecting the plurality of nodes, wherein the plurality of edges define a hierarchical relationship between the metadata objects or data values represented by the plurality of nodes,

wherein the difference graph comprises one or more revision edges, wherein each revision edge connects a source node in the source knowledge graph to a target node in the target knowledge graph, and represents a change from a metadata object or data value represented by the source node to a metadata object or data value represented by the target node when comparing between the source version and the target version of the API;

installing one or more function packages written in the target programming language and associated with the one or more revision edges; and

running the one or more function packages to update the API from the source version to the target version,

wherein at least one of the function packages is configured to change a datatype of one of the metadata objects from the source version of the API to the target version of the API.