- From: tessaris <tessaris@inf.unibz.it>
- Date: Wed, 11 Jan 2006 14:13:06 +0100
- To: Pat Hayes <phayes@ihmc.us>
- CC: Enrico Franconi <franconi@inf.unibz.it>, Bijan Parsia <bparsia@isr.umd.edu>, souripriya.das@oracle.com, public-rdf-dawg@w3.org
Hi Pat, Pat Hayes wrote: > ----------- > > A binding on a pattern Q is a map from the variables and bnodes in Q to > terms. The result B(Q) of applying the binding B to Q is the RDF graph > obtained by replacing each variable or bnode in Q by its value under B. > > An answer binding with respect to a scoping graph G' is a binding B such > that: > (1) any bnodeIDs introduced by B occur in G' > (2) G entails (G' union B(Q)). It works for RDF(S), but I'm uneasy with the idea of extending mappings with bnode names. In this way all the the variables in the query became distinguished variables and no more true existentials. It doesn't make any difference with RDF and RDF(S), but with OWL for example you don't get a true conjunctive query language. E.g. given the KB [:a rdf:type (Some :r :c)], the query { ?x :r _:b } has no answers. Moreover, the algebra definition gets more complicate since you need to project over the true variables all the times. > The purpose of the scoping graph is to ensure that bnodeIDs in the > answer set are used in ways that conform to their usage in G' and in > other answers, i.e. it defines the scope of answer bnodeIDs. > > An answer set for G is the set of all answer bindings w.r.t. a scoping > graph G' which is graph-equivalent to G. > The use of G' rather than G itself is to allow answers to use bnodeIDs > which are distinct from those in the dataset. I like the use of G' to be name independent from G bnodes, to get back told bnodes you can just impose that G and G' are syntactically equal. Cheers, --sergio
Received on Wednesday, 11 January 2006 13:14:12 UTC