$Id: query-answer.daml,v 1.2 2001/09/04 21:44:45 connolly Exp $ An ontology of basic query answering terms A Query represents a question posed to the reasoner. It consists of two principle parts: query premise and query pattern. A query premise is an ordinary DAML KB that is effectively asserted to the queried KB for the duration of the query. It should contain assumptions particular to the current query. The query premise can be empty to indicate the absence of such assumptions. A query pattern is the question itself. It is in effect a conjunction of one or more triples. Each triple corresponds to a RDF Statement except that its predicate, subject, or object can be variables. Variables present in a query pattern, if any, are implicitly quantified existentially at the beginning of the pattern. Syntactically, a query pattern is in xml markup. 1 1 A value of queryPremise is a URI of the DamlKB as the premise part of the Query. A QueryAnswer represents ONE answer to a query. It consists of two principle parts: the query posed and a set of bindings to the query variables representing an instantiation of those query variables. 1 A value of query is a URI of the QueryKB as the Query posed. 1 1 A DamlKB is a well-formed DAML+OIL knowledge base. A QueryKB is a DamlKB that contains exactly one upmost Description, which is an instance of Query. All Descriptions in a QueryKB should be explicitly named and indicate the most specific types to which the subjects of the Descriptions belong. A QueryAnswerKB is a DamlKB that contains zero or more upmost Descriptions, all of which are instances of QueryAnswer. All Descriptions in a QueryAnswerKB should be explicitly named and indicate the most specific types to which the subjects of the Descriptions belong. 1 1 1 1 1 An ObjectConstant denotes a resource in the object domain 1 A LiteralConstant denotes a resource in the datatype domain 1 1 1