Query translation system for retrieving business vocabulary terms
First Claim
1. A method of translating any of a plurality of queries for related concepts in a database of concepts and relationships among concepts, the database local to a concept server process, a first query originating from a first concept client process, wherein a plurality of other concept client processes may issue other respective queries, the method comprising the steps of:
- accepting the first query in a format required by the first concept client process;
translating the first query into one or more concept server request data structures that are expressed using a markup language in a first document, wherein each of the request data structures represents a request for the concept server process to transform the first query into a concept tree, one or more related concepts, or one or more normative terms;
sending the first document to a concept server over a network;
receiving over the network from the concept server a second document in the markup language that includes results based on the concept server process processing the request data structures, wherein the results comprise one or more concept categories, normative terms, alternative terms, or related concepts for the first query; and
translating from the markup language in the second document into values of the related concepts in the format required by the first client process.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for translating queries for related concepts in a database of concepts and relationships among concepts include translating the query for related concepts into a markup language in a first document at a concept client. The database is local to a concept server. A query originates from a concept client. The first document is sent to a concept server over a network, and a second document in the markup language is received over the network from the concept server. The second document includes results based on responses from the concept server. The markup language in the second document is translated into values of the related concepts at the concept client. With these techniques, retrievals of related concepts, which involve complex transactions between a calling routine and the database, can be performed largely at the concept server, sparing the network much message traffic. Furthermore, by providing for a client-side adapter library, the developer of the concept client is spared the details of translating between the markup language used in the first and second documents and the queries and resulting values used by the client.
-
Citations
19 Claims
-
1. A method of translating any of a plurality of queries for related concepts in a database of concepts and relationships among concepts, the database local to a concept server process, a first query originating from a first concept client process, wherein a plurality of other concept client processes may issue other respective queries, the method comprising the steps of:
-
accepting the first query in a format required by the first concept client process;
translating the first query into one or more concept server request data structures that are expressed using a markup language in a first document, wherein each of the request data structures represents a request for the concept server process to transform the first query into a concept tree, one or more related concepts, or one or more normative terms;
sending the first document to a concept server over a network;
receiving over the network from the concept server a second document in the markup language that includes results based on the concept server process processing the request data structures, wherein the results comprise one or more concept categories, normative terms, alternative terms, or related concepts for the first query; and
translating from the markup language in the second document into values of the related concepts in the format required by the first client process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
said step of translating the first query further comprises invoking for each request data structure a method of a client-side adapter library provided by providers of the database of concepts and relationships for remote use of the database; and
said invoking the method of the client-side adapter library causes the request data structure to be placed in the first document.
-
-
3. A method as recited in claim 2, wherein:
-
said step of sending the first document further comprises invoking a different method of the client-side adapter library; and
said invoking the different method of the client-side adapter library causes the first document to be finished for sending and to be sent.
-
-
4. A method as recited in claim 2, wherein said invoking the method of the client-side adapter library further causes the first document to be started.
-
5. A method as recited in claim 2, wherein said invoking the method of the client-side adapter library further causes the request data structure to be translated into a predetermined format in the markup language before being placed into the first document.
-
6. A method as recited in claim 5, wherein:
-
the first document is an extensible markup language document; and
the predetermined format uses document elements defined in a particular document type definition file developed for remote requests for the database of concepts and relationships.
-
-
7. A method as recited in claim 2, wherein the client-side adapter library comprises object-oriented classes for requests for at least two of a concept, a category of concepts, a sub-category of concepts, and a hierarchical tree of concepts.
-
8. A method as recited in claim 2, wherein the client-side adapter library comprises object-oriented interfaces for starting the first document, inserting a request into the first document, and finishing the first document.
-
9. A method as recited in claim 1, wherein:
-
said step of translating the first query further comprises invoking a first method of a client-side adapter library provided by providers of the database of concepts and relationships for remote use of the database; and
said invoking the first method of the client-side adapter library further comprises, invoking an event handler of the client-side adapter library for handling every event of a plurality of predetermined events, and converting a plurality of responses in the second document into a series of events, each event of the series of events selected from the plurality of predetermined events.
-
-
10. A method as recited in claim 9, wherein the plurality of predetermined events comprise:
- a start of the second document;
an end of the second document;
a start of a response;
an end of the response;
a start of related concepts;
an end of the related concepts;
a start of a concept;
an end of the concept;
a start of an attribute; and
an end of the attribute.
- a start of the second document;
-
11. A method as recited in claim 9, wherein:
-
said invoking the event handler causes a particular method of the concept client process to be invoked in response to a particular event of the plurality of predetermined events, and the particular method has a name and a set of zero or more parameters defined in the client-side adapter library based on the particular event.
-
-
12. A method as recited in claim 9, wherein the client-side adapter library comprises object-oriented classes for events and responses.
-
13. A method as recited in claim 9, wherein the client-side adapter library comprises an object-oriented interface for processing each event of the plurality of predetermined events.
-
14. A method as recited in claim 1, wherein the database is a business vocabulary database, and further comprising the steps of:
-
receiving at a client site on a network, from a provider of the business vocabulary database, a client-side adapter library of methods for translating a query for related concepts of the business vocabulary database into one or more elements of the first document, and extracting a set of values of the related concepts from one or more elements of the second document;
developing a concept client process for the client site to generate the first query and to use a first set of values of related concepts based in part on the client-side adapter library; and
executing the concept client process to translate a particular first query into a particular first document, to send the first document to the concept server process, and to extract a particular set of values of related concepts from a particular second document including results returned from the concept server process.
-
-
15. A method as recited in claim 1, wherein the database is a business vocabulary database of concepts and relationships among concepts, the method further comprising the steps of:
-
generating and sending from a provider of the business vocabulary database to a client site on a network, a client-side adapter library of methods for translating the first query for related concepts of the business vocabulary database into one or more elements of the first document, and extracting a set of values of the related concepts from one or more elements of the second document;
developing a concept server process based on a server-side adapter library of methods for determining a set of operations performed by a database server based on the first document, and generating and storing a second document that aggregates results from the set of operations as one or more elements, from which second document the methods of the client-side adapter library may extract values; and
executing the concept server process to receive a particular first document from a particular concept client process, to determine a particular set of operations based on the particular first document, to cause the database server to perform the particular set of operations, to generate and store a particular second document including results based on responses from the set of operations, and to send the particular second document to the particular client process.
-
-
16. A method as recited in claim 1, wherein the steps are performed at a client side adapter based on a client side adapter library of methods.
-
17. A computer-readable medium carrying one or more sequences of instructions for translating any of a plurality of queries for related concepts in a database of concepts and relationships among concepts, the database local to a concept server process, a first query originating from a first concept client process, wherein a plurality of other concept client processes may issue other respective queries, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
accepting the first query in a format required by the first concept client process;
translating the query into one or more concept server request data structures that are expressed using a markup language in a first document, wherein each of the request data structures represents a request for the concept server to transform the first query into a concept tree, one or more related concepts, or one or more normative terms;
sending the first document to a concept server over a network;
receiving over the network from the concept server a second document in the markup language that includes results based on the concept server process processing the request data structures, wherein the results comprise one or more concept categories, normative terms, alternative terms, or related concepts for the first query; and
translating from the markup language in the second document into values of related concepts in the format required by the first concept client process.
-
-
18. An apparatus for translating any of a plurality of queries for related concepts in a database of concepts and relationships among concepts, the database local to a concept server process, a first query originating from a first concept client process, wherein a plurality of other concept client processes may issue other respective queries, comprising:
-
means for accepting the first query in a format required by the first concept client process;
means for translating the first query into one or more concept server data structures that are expressed using a markup language in a first document, wherein each of the request data structures represents a request for the concept server to transform the first query into a concept tree, one or more related concepts, or one or more normative terms;
means for sending the first document to the concept server process over a network;
means for receiving over the network from the concept server a second document in the markup language that includes results based on the concept server process processing the request data structures, wherein the results comprise one or more concept categories, normative terms, alternative terms, or related concepts for the first query; and
means for translating from the markup language in the second document into values of related concepts in the format required by the first client process.
-
-
19. An apparatus for translating any of a plurality of queries for related concepts in a database of concepts and relationships among concepts, the database local to a concept server process, a first query originating from a first concept client process, wherein a plurality of other concept client processes may issue other respective queries, comprising:
-
one or more processors;
one or more sequences of instructions that are accessible to the one or more processors and which, when executed by the one or more processors, cause the one or more processors to carry out the steps of;
accepting the first query in a format required by the first concept client process;
translating the first query into a normalized format using a markup language in a first document, wherein each of the request data structures represents a request for the concept server to transform the first query into a concept tree, one or more related concepts, or one or more normative terms;
sending the first document to a concept server over the network;
receiving over the network from the concept server a second document in the markup language that includes results based on the concept server process processing the request data structures, wherein the results comprise one or more concept categories, normative terms, alternative terms, or related concepts for the first query; and
translating from the markup language in the second document into values of the related concepts in the format required by the first concept client process.
-
Specification