From: Richard Fikes (fikes@ksl.stanford.edu)
Date: 05/24/02
Pat and Ian and I have been having intermittent e-mail exchanges regarding DQL over the last few weeks that I think have been productive. The primary issue about which we have been concerned is what to do when a server's proof does not provide a binding for each of the query's distinguished variables to a node in the RDF graph that has an associated URI or is a literal. The two cases are that for a given distinguished variable (1) the proof only shows that an object exists which a binding for the variable could denote to satisfy the query, or (2) the proof specifies a binding for the variable to an anonymous node in the RDF graph. Attached is a new version of the DQL informal specification in which those two cases are handled as follows: Case 1 does not produce a query answer. That is, every query answer is required to have a binding for every distinguished variable. That design decision is motivated by the earlier decision that we are defining query answering to be the identification of nodes in the RDF graph corresponding to the KB that denote objects in the domain of discourse such that the sentences produced by applying the bindings to the query pattern and considering the remaining variables in the query pattern to be existentially quantified produces sentences that are entailed by the KB. The restriction of bindings to nodes in the RDF graph corresponding to the KB prevents the generation of arbitrary numbers of bindings to nodes that are entailed by the RDF graph of the KB but are not explicitly in the KB. Case 2 produces an answer as follows. A binding is defined to be a "minimal identifying description" (MID) of the object denoted by a node in the RDF graph. The MID is the smallest connected subgraph of the RDF graph of the KB that contains the node being described for which all "tip" nodes (i.e., nodes not in a loop in the graph) are either literals or have an associated URI. In the case where the node is a literal or has an associated URI, the binding is simply the literal or the URI. In the case of an anonymous node, the binding is a description (in the Description Logic sense) consisting of the arcs coming into and going out from the node in the graph. Such a description might say, for example, "a parent of Joe that has Paris as a hometown and two male siblings". The MID of a node in effect consists of the conjunction of the RDF statements defined by the arcs into and out of the node, where each node in the description is specified either by a literal, by an associated URI, or by its MID (i.e., if an anonymous node is related to another anonymous node, then the MID of either of those nodes will include the description of the other. For example, a MID might be "a parent of a sister of Bill", where neither the parent nor the sister has a name.). We assume that if a MID of an anonymous node is a binding for a distinguished variable ?v, that ?v is the variable in the MID for that node. Applying a binding that is a MID of an anonymous node to a query pattern means conjoining the MID with the query pattern (and leaving in the query pattern the distinguished variable for which the MID is a binding). An answer's query bindings are such that the sentences produced by applying the bindings to the query pattern and considering the remaining variables in the query pattern (including those in the conjoined MIDs) to be existentially quantified, produces sentences that are entailed by the knowledge base with respect to which the query was answered. For example, if the query pattern is (landlordOf ?l Joe) and an answer is "a parent of a sister of Bill", the MID would be (parentOf ?l ?s) (sisterOf ?s Bill) and the sentence the answer claims is entailed by the KB is (exists (?l ?s) (and (landlordOf ?l Joe) (parentOf ?l ?s) (sisterOf ?s Bill))). Pat seems to agree with these design decisions. Ian has been traveling and has not yet commented on them. Your comments are welcome. Richard
This archive was generated by hypermail 2.1.4 : 05/24/02 EDT