Notes
Outline
"DQL"
DQL
A Query-Answering Language for DAML+OIL
Roles For Reasoning In The Semantic Web
Ontology developers
Classification
Inconsistency detection
Evolution
Debugging and refinement
Maintenance
Integration
Web site developers
Recognition
Inconsistency detection
Evolution
Debugging and refinement
For users seeking services
Service composition
Planning
Execution monitoring
For users seeking information
Query-answering
A DAML+OIL Reasoning Working Group
Promote interaction and collaboration among DAML contractors working on reasoning
E-mail distribution list
Web site
Design consensus DAML query language?
Design a consensus language for querying DAML+OIL knowledge bases
Design consensus DAML justification language?
Do this in conjunction with and after design of DAML rule language.
Objectives for DQL
Standard for querying DAML+OIL KBs
Language for:
Queries
Answers to queries
Justifications for answers
Protocol for:
Agent-agent interaction during query-answering
Support development of:
DAML+OIL query-answering reasoning methods
Interoperating DAML+OIL query-answering agents
Provide basis for Semantic Web standard
For full DAML and OWL languages
DQL Design Issues
The formal properties of queries and answers
What is a query?
What is an answer and what does it mean?
Inferring answers may be expensive
Impractical to always try to compute all answers
Answers may only be known to exist
Equivalence of multiple answers
There may be an infinite number of answers
Is a query to a specific knowledge base?
Justifications for answers
What are they and when should they be computed?
Are queries and answers represented in DAML+OIL?
What is a DQL Query?
A DML query necessarily includes:
Pattern – collection of DAML+OIL sentences in which literals and/or resources have been replaced by variables
E.g. (owns ?p ?c)  (type ?c Car)  (color ?c Red)
“Who owns a red car?”
Distinguished Variables in the pattern whose bindings are sought
E.g., {?p}
What is a DQL Query?
A DML query necessarily includes:
Pattern
Distinguished Variables
A DML query optionally includes:
DAML+OIL knowledge base with respect to which the query is posed
All queries are answered with respect to a knowledge base
The answering agent may select the knowledge base
…
What is a DQL Query?
A DML query necessarily includes:
Pattern
Distinguished Variables
A DML query optionally includes:
DAML+OIL knowledge base
Premise – additional DAML+OIL sentences to facilitate if-then queries
E.g., “If C1 is a Seafood Course and W1 is a drink of C1, what color is W1?”
Premise: (type C1 Seafood-Course)  (drink C1 W1)
Pattern:  (color W1 ?x)
Justification request
What is a DQL Answer?
A DQL answer necessarily contains:
Bindings for some or all of the distinguished variables
E.g., “Who is a parent of who?”
      Pattern:  (parent-Of ?p ?c)
      Distinguished variables:  {?p ?c}
      Bindings:  {(?p Earl)  (?c Richard)}
             or if the child is not known:  {(?p Earl)}
The sentences produced by applying the bindings to the pattern and treating the remaining variables as existentially quantified are entailed by the KB
E.g., (exists  ?c  (parent-Of Earl ?c))
The bindings include all the bindings for distinguished variables that the answering agent has
A conformance requirement
What is a DQL Answer?
A DQL answer necessarily contains:
Bindings for some or all of the distinguished variables
The sentences produced by applying the bindings to the pattern and treating the remaining variables as existentially quantified are entailed by the KB
The bindings include all the bindings for distinguished variables that the answering agent has
Each binding is to a literal or URI in the vocabulary of the KB
Not allowed:
Arbitrary term expressions (descriptions)
     E.g., { … (?c “A Person all of whose uncles are lawyers”)}
Skolem constants
What is a DQL Answer?
A DQL answer necessarily contains:
Bindings for some or all of the query pattern’s distinguished variables
Query to which this is an answer
Answering Agent that produced the answer
Knowledge base used to answer the query
A DQL answer optionally contains:
Justification if requested
DQL Queries
DQL is for answering queries of two forms
When there are distinguished variables:
“What resources or literals from the KB’s vocabulary denote objects that make the query pattern true?”
E.g., “Who are the parents of Richard?”
When where are no distinguished variables
“Is the query pattern true in the query KB?”
E.g., “Does Earl have any children?”
How Many Answers?
Answers are generated one at a time
Response to a query is one of the following:
Answer and Continuation – The continuation can be used to request a next answer from the answering agent
“no” – no further answers are entailed by the KB
“unknown” – no further answers can be produced by the answering agent (but more may be entailed)
Every answer contains a distinct set of bindings
But two sets of bindings may denote the same objects
More capabilities can be built using continuations
E.g., 4Find all answers
         4Each answer denotes a distinct set of objects
Example Query-Answering Dialogue
“child” is an inverse of “parent”
Every “Person” has 2 “parent”s
Every “parent” of every “Person” is a “Person”
DQL Design Issues
The formal properties of queries and answers
What is a query?
What is an answer and what does it mean?
Inferring answers may be expensive
Answers may only be known to exist
Equivalence of multiple answers
There may be an infinite number of answers
Is a query to a specific knowledge base?
Justifications for answers
E.g., proofs, premises, sources, certifications, etc.
Not yet designed
Are queries and answers represented in DAML+OIL?
Yes, using a DAML-Q ontology(?)
Feedback Welcome
Birds of a feather session on Thursday
11:00 to noon
During this meeting, talk with Pat & myself
Ongoing, send e-mail to the joint committee