Re: bnodeification

From: tessaris <tessaris@inf.unibz.it>
Date: Wed, 11 Jan 2006 14:13:06 +0100
Message-ID: <43C50462.7090302@inf.unibz.it>
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 }

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
>
> 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

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:50 UTC