Semantic system for integrating software components
First Claim
Patent Images
1. A method of generating executable code for linking data in a relational database to structured inputs and outputs of a source web service, comprising:
- providing a first ontology describing concepts and relationships of the data in the database and organized according to the structure of the database;
linking the first ontology to a second ontology that describes concepts and relationships of the structured inputs and outputs of the source web service to provide a merged ontology, the merged ontology including both the concepts and relationships of the database and the concepts and relationships of the source web service;
mapping the data in the database and the structured inputs and outputs of the source web service to the merged ontology to create an expanded ontology;
searching the expanded ontology for an execution path between one or more desired inputs and one or more corresponding desired outputs through concepts of the expanded ontology originating in the first ontology and the second ontology;
generating executable code that accepts the one or more desired inputs, obtains a set of data from the database corresponding to the one or more desired inputs and responsive to the structured inputs of the source web service, and executes steps of the execution path of the expanded ontology to invoke the source web service using the set of data from the database to produce the corresponding desired outputs; and
using the generated executable code to create a new web service that accepts the one or more desired inputs and that produces the desired outputs.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for integrating databases and/or web services into a searchable ontological structure. The structure allows for free-form searching of the combined system and for the discovery of an execution path through the ontology. The discovered execution path (or paths) provides for the generation of code that integrate databases and services for the purpose of fusing information from disparate databases and Web services.
41 Citations
21 Claims
-
1. A method of generating executable code for linking data in a relational database to structured inputs and outputs of a source web service, comprising:
-
providing a first ontology describing concepts and relationships of the data in the database and organized according to the structure of the database; linking the first ontology to a second ontology that describes concepts and relationships of the structured inputs and outputs of the source web service to provide a merged ontology, the merged ontology including both the concepts and relationships of the database and the concepts and relationships of the source web service; mapping the data in the database and the structured inputs and outputs of the source web service to the merged ontology to create an expanded ontology; searching the expanded ontology for an execution path between one or more desired inputs and one or more corresponding desired outputs through concepts of the expanded ontology originating in the first ontology and the second ontology; generating executable code that accepts the one or more desired inputs, obtains a set of data from the database corresponding to the one or more desired inputs and responsive to the structured inputs of the source web service, and executes steps of the execution path of the expanded ontology to invoke the source web service using the set of data from the database to produce the corresponding desired outputs; and using the generated executable code to create a new web service that accepts the one or more desired inputs and that produces the desired outputs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for constructing a web service that provides a selected output type in response to a selected input, comprising:
-
accepting an input item from a user; accepting an output type from the user; searching an ontology to find one or more input matches for the input item, the ontology comprising data from a database organized according to the structure of the database, and structured input and output information from a web service; searching the ontology to find one or more output matches for the output type; searching the ontology to identify an execution path between at least one of the one or more input matches and at least one of the one or more output matches through concepts of the ontology originating in the database and the web service; generating executable code for a new web service that allows a user to provide an input of a type corresponding to the accepted input item, obtains a set of data from the database corresponding to the one or more desired inputs and responsive to the structured input information from the web service, and that provides an output of the accepted output type by executing steps of the execution path of the ontology comprising data from the database and structured input and output information from the web service to invoke the web service using the set of data from the database to produce the output of the accepted output type; and creating the new web service using the executable code. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A method of mapping a web service having a set of one or more structured inputs and a set of one or more structured outputs to an ontology, the method comprising:
-
searching the ontology to locate concepts within the ontology having an output type corresponding to a structured input of the web service, the ontology comprising concepts and relationships of data from a database organized according to the structure of the database; adding mappings between the structured inputs and the located concepts having the output type corresponding to the structured input of the web service to the ontology; searching the ontology to locate concepts within the ontology having an input type corresponding to a structured output of the web service; adding mappings between the structured outputs and the located concepts having the input type corresponding to the structured output of the web service to the ontology; and adding a concept to the ontology representing the web service with mappings between the added concept, the structured inputs, and the structured outputs in order to create an augmented ontology comprising at least one path through a concept of the ontology, the concept of the ontology corresponding to a set of data from the database selected based on a desired input and responsive to the structured input of the web service, and the concept representing the web service invoked using the set of data from the database to produce a desired output. - View Dependent Claims (16)
-
-
17. A method of linking a collection of structured data in a relational database to a source web service, comprising:
-
generating a first ontology describing concepts and relationships of the data in the database and organized according to the structure of the database; providing a second ontology describing concepts and relationships in structured inputs and outputs of the source web service; linking the first and second ontologies to provide a merged ontology including both the concepts and relationships of the database and the concepts and relationships of the source web service, the merged ontology comprising at least one path through the first ontology and the second ontology originating from a concept of the first ontology corresponding to a set of data from the database derived from a desired input, and invoking the source web service using the set of data from the data base to produce a desired output; and mapping (i) the data in the collection to the merged ontology and (ii) the structured inputs and outputs from the source web service to the merged ontology to create an expanded ontology. - View Dependent Claims (18, 19)
-
-
20. A system for linking a collection of structured data in a relational database to a source web service, comprising:
-
a memory storing; a generating module to generate a first ontology describing concepts and relationships of the data in the database and organized according to the structure of the database; a providing module to provide a second ontology describing concepts and relationships in structured inputs and outputs of the source web service; a linking module to link the first and second ontologies to provide a merged ontology including both the concepts and relationships of the database and the concepts and relationships of the source web service, the merged ontology comprising at least one path through the first ontology and the second ontology originating from a concept of the first ontology corresponding to a set of data from the database derived from a desired input and invoking the source web service using the set of data from the database to produce a desired output; and a mapping module to map (i) the data in the collection to the merged ontology and (ii) the structured inputs and outputs from the source web service to the merged ontology to create an expanded ontology; and one or more processors configured to process the modules.
-
-
21. A computer-readable storage medium having computer program code recorded thereon that, when executed by a processor, causes the processor to perform a method for linking a collection of structured data in a relational database to a source web service, the method comprising:
-
generating a first ontology describing concepts and relationships of the data in the database and organized according to the structure of the database; providing a second ontology describing concepts and relationships in structured inputs and outputs of the source web service; linking the first and second ontologies to provide a merged ontology including both the concepts and relationships of the database and the concepts and relationships of the source web service, the merged ontology comprising at least one path through the first ontology and the second ontology originating from a concept of the first ontology corresponding to a set of data from the database derived from a desired input, and invoking the source web service using the set of data from the database to produce a desired output; and mapping (i) the data in the collection to the merged ontology and (ii) the structured inputs and outputs from the source web service to the merged ontology to create an expanded ontology.
-
Specification