Automatically cross-linking application programming interfaces
First Claim
1. A method for automatically cross-linking a plurality of application programming interfaces (APIs) in an artificial-intelligence graph data structure, the method comprising:
- maintaining an artificial intelligence (AI) graph data structure, wherein the AI graph data structure defines;
a plurality of API-agnostic semantic entities, each API-agnostic semantic entity associated with an API-agnostic semantic data type and including a semantic data socket configured to hold a semantic data value having the API-agnostic semantic data type;
a plurality of function nodes, each function node representing a function made available by an API and including an input data socket and an output data socket;
a plurality of input adapter edges, each input adapter edge connecting a semantic data socket of an API-agnostic semantic entity to an input data socket of a function node; and
a plurality of output adapter edges, each output adapter edge connecting an output data socket of a function node to a semantic data socket of an API-agnostic semantic entity; and
for a target API of a plurality of APIs;
computer-analyzing documentation describing the target API with a natural language processing machine previously trained to identify;
a new function made available by the target API,an upstream API-agnostic semantic entity corresponding to an API-specific input parameter of the function, anda downstream API-agnostic semantic entity corresponding to an API-specific output parameter of the function; and
updating the AI graph data structure to include;
a new function node representing the new function;
an input adapter edge connecting a semantic data socket of the upstream API-agnostic semantic entity to an input data socket of the new function node, wherein the input data socket corresponds to the API-specific input parameter; and
an output adapter edge connecting an output data socket of the function node to a semantic data socket of the downstream API-agnostic semantic entity, wherein the output data socket corresponds to the API-specific output parameter.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for automatically cross-linking a plurality of APIs in an artificial intelligence (AI) graph structure comprises maintaining an AI graph structure defining a plurality of API-agnostic semantic entities, a plurality of function nodes, a plurality of input-adapter edges, and a plurality of output adapter edges. The method further comprises cross-linking a new function from a new API by computer-analyzing documentation of the new API with a natural language processing (NLP) machine in order to recognize the new function, and updating the AI graph data structure to include a new function node based on the new function.
-
Citations
20 Claims
-
1. A method for automatically cross-linking a plurality of application programming interfaces (APIs) in an artificial-intelligence graph data structure, the method comprising:
-
maintaining an artificial intelligence (AI) graph data structure, wherein the AI graph data structure defines; a plurality of API-agnostic semantic entities, each API-agnostic semantic entity associated with an API-agnostic semantic data type and including a semantic data socket configured to hold a semantic data value having the API-agnostic semantic data type; a plurality of function nodes, each function node representing a function made available by an API and including an input data socket and an output data socket; a plurality of input adapter edges, each input adapter edge connecting a semantic data socket of an API-agnostic semantic entity to an input data socket of a function node; and a plurality of output adapter edges, each output adapter edge connecting an output data socket of a function node to a semantic data socket of an API-agnostic semantic entity; and for a target API of a plurality of APIs; computer-analyzing documentation describing the target API with a natural language processing machine previously trained to identify; a new function made available by the target API, an upstream API-agnostic semantic entity corresponding to an API-specific input parameter of the function, and a downstream API-agnostic semantic entity corresponding to an API-specific output parameter of the function; and updating the AI graph data structure to include; a new function node representing the new function; an input adapter edge connecting a semantic data socket of the upstream API-agnostic semantic entity to an input data socket of the new function node, wherein the input data socket corresponds to the API-specific input parameter; and an output adapter edge connecting an output data socket of the function node to a semantic data socket of the downstream API-agnostic semantic entity, wherein the output data socket corresponds to the API-specific output parameter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for automatically cross-linking a plurality of application programming interfaces APIs, the method comprising:
-
for a first API of the plurality of APIs; computer-analyzing documentation describing the first API with a natural language processing (NLP) machine previously trained to identify natural language features associated with APIs, the NLP identifying a first function made available by the first API, and identifying a first natural language feature associated with an API-specific input parameter of the first function; and computer-recognizing, with an artificial intelligence (AI) machine previously trained to associate natural language features with API-agnostic semantic entities, an API-agnostic semantic entity associated with the natural language feature; for a second, different API of the plurality of APIs; computer-analyzing documentation describing the second API with the NLP machine, the NLP machine identifying a second function made available by the second API, and identifying a second natural language feature associated with an API-specific output parameter of the second function; and computer-recognizing, with the AI machine, an association between the second natural language feature and the API-agnostic semantic entity identified for the first API. - View Dependent Claims (16, 17, 18)
-
-
19. A computerized personal assistant, comprising:
-
a graph machine configured to access an AI graph data structure defining; a plurality of API-agnostic semantic entities, each API-agnostic semantic entity associated with an API-agnostic semantic data type and including a semantic data socket configured to hold a semantic data value having the API-agnostic semantic data type; a plurality of function nodes, each function node representing a function made available by an API and including an input data socket and an output data socket; a plurality of input adapter edges, each input adapter edge connecting a semantic data socket of an API-agnostic semantic entity to an input data socket of a function node; and a plurality of output adapter edges, each output adapter edge connecting an output data socket of a function node to a semantic data socket of an API-agnostic semantic entity; and a query machine configured to; receive a query; operate a natural language query processing machine to computer-recognize a computer-readable description of an intent associated with the query; pass the computer-readable description of the intent to the graph machine; wherein the graph machine is further configured to; select a target function node of the AI graph data structure based on the computer-readable description of the intent associated with the query; select a path through the AI graph data structure ending at the target function node; and invoke one or more APIs to execute a plurality of other functions represented by function nodes in the path to the target function and to execute the target function. - View Dependent Claims (20)
-
Specification