![]() |
Home : Current Projects : Darpa Markup Language : Homework 2 |
|
|
DAML Homework 2IntroductionThis page describes the classes of queries an ontology representation should be able to express and answer. Since our dataset corresponds to a scheduling ontology, we will restrict our queries to the domain of air transportation scheduling. In this description, we will use a small set of queries and gradually increase the level of complexity required to formulate and answer the queries. We identify four basic classes of queries ranging from straightforward static data retrieval to elaborated translation and retrieval mechanisms. QueriesThe purpose of an ontology is to provide a common, agreed upon, vocabulary for knowledge interchange among heterogeneous intelligent agents. It is possible to identify three or four levels of knowledge interchange that impose increasing complexity requirements on the language and interchange mechanisms. At the first level, all agents share the same vocabulary and only static data, currently explicitly represented in the repository, is interchanged. This is the simplest level and it is currently implemented by traditional database techniques. In these cases, the ontology represents both the logical data model that is shared by all agents, and the actual content of the information stored in the database. Queries would be formulated using the same terminology used to represent the data. Extending the language with some basic SQL-like languages capable of manipulating the markup tags would suffice. No major effort is required here since database theory should provide the retrieval mechanisms needed. Additional capabilities are needed to support general mathematical computations, manipulation of special types of data like dates and strings, and aggregation of the information retrieved. Examples this type of queries for the air transportation domain are:
At a slightly higher level, the ontology should provide mechanism for deducing information not immediately available in the database but that could be easily computed from relations between the represented entity. A trivial example of this case is the capability of retrieving all the grandparents grandchildren pairs from a database that only represents parent-child relationships. In this case the query mechanism provides inference capabilities by applying static rules to the static data. Let's revisit our examples and modify them so that a certain level of inference is required:
In the first query, we assume there is a rule that computes the value of total cargo by adding the values of properties outsize, oversize, and bulk for each movement-requirement instance. In the second case, we assume there is a rule that computes the maximum-travel-range of an airplane by dividing the explicitly represented value of property total-fuel-capacity by the value of property fuel-burn-rate. In the third case, we assume there is a rule that given an origin, a destination, and an airplane type, computes the duration of the flight. Then another rule adds the duration of the flight to the value of the property available-to-load-date to compute the earliest completion time. A third type of queries we would like to perform are queries that still assume a common query language, but require some additional level of computation to be answered. In the previous case, static rules manipulating static data was sufficient. In this case we need more elaborated algorithmic capabilities. All agents are still communicating using the same ontology and same query language. The main difference here is that the result of the query cannot be immediately inferred from the static data represented in the database. External, more complex representations and algorithms are needed. Examples of these type of queries are requests for schedule generation and resource allocation. Still using our examples, we would have:
To answer the queries above, we need to generate a schedule or plan to deliver all the pending movement requirements. Depending on the algorithms or systems used, the answer to these queries could be very different. Although one can argue that it is not the role of the ontology to provide answer to these type of questions, the querying agent usually does not know if the other agent providig the information is a database or a scheduling system. For example, when we type a web address in our web browser, we don't care if the pages we are requesting are static HTML pages sitting in a server somewhere, or are being dynamically generated by some transformation mechanism. All we care is that by typing an URL we should get a web page. The same reasoning is valid for queries to the ontology. All the queries described so far have been restricted to the data represented by the ontology. We assumed all agents shared the same ontology. They were able to ask and answer questions using a common vocabulary that was understood and accepted by all agents. Considering that it is extremely difficult for people to agree on similar terminology to describe similar concepts, and considering the highly distributed and international nature of the web, translation mechanisms between ontologies seems to be the key element to achieve a productive level of information exchange. Going back to our first example, suppose that instead of stating the first query as:
The agent requesting information stated the question as:
Examples of modified queries for the other two examples are:
The second and third case previously mentioned can obviously be combined with these fourth type of queries to generate very complex types of queries.
- Back to Top -
|