Re: SPARQL semantics: open issues for basic query patterns

I overlooked something in my previous post.
This is the text necessary to have entailment in general, and to  
allow for uniqueness of answers.

So, the change should be from:

"""
2.5  Basic Graph Patterns
Definition: Basic Graph Pattern
A Basic Graph Pattern is a set of Triple Patterns.
A basic graph pattern, BGP, matches on graph G with pattern solution  
S if :
     G simply entails S(BGP)
The SPARQL syntax uses the keyword WHERE to introduce the Query Pattern.
"""

to:

"""
2.5  Basic Graph Patterns

Definition 4 (RDFMerge)
The RDFmerge of a sequence of graphs is the ordered merge union of  
the graphs, where repeated bnodes are substituted with fresh ones, by  
keeping the names of the bnodes coming first in the sequence order.  
Note that, w.r.t. the standard definition of RDF merge, if any of the  
graphs contains variables, then those are not renamed (i.e.,  
variables are treated as URIs).

The above RDFmerge definition is totally compatible with the merge  
definition given in [RDF-MT], hereby indicated as simple RDF merge.  
In particular, if the graphs do not contain any variable or they are  
considered simply as IRIs, then RDFmerge is a simple RDF merge. The  
other way around is not true in general, since the original  
definition does not specify which bnodes are renamed. From the  
semantic point of view RDFmerge is equivalent to simple RDF merge;  
moreover, if the graphs do not share any bnode name, then the two  
results are “syntactically” identical, in the sense that they contain  
the same triples.

Definition: Basic Graph Pattern
A Basic Graph Pattern is a set of Triple Patterns.
A basic graph pattern, BGP, matches on graph G with pattern solution  
S if:
     G entails S(G RDFmerge BGP)
The SPARQL syntax uses the keyword WHERE to introduce the Query Pattern.
By default, entailment here is intended in this document as "simple  
entailment" (as defined in [RDF-MT]). SPARQL provides a way to  
override the default with "RDF entailment", "RDFS entailment" (as  
defined in [RDF-MT]), and "OWL entailment" (as defined in [OWL- 
Semantics]).
"""

As I pointed out in a previous message, find your favourite way to  
specify a query with a non-default entailment (at FUB, by now, we  
don't have any favourite way yet).

And in:

"""
2.7.1 Blank Nodes and Queries
A blank node can appear in a query pattern and will take part in the  
simple entailment between basic graph pattern and the target graph.
"""

change "simple entailment" into "entailment".


As it is easy to check, the above change is perfectly equivalent to  
the current status of the document if *only* simple entailment is  
considered. The above changes are necessary if you want to have a  
sane notion of entailment, and if you want to characterise uniquely  
the answer set of an RDF graph.

cheers
--e.

On 29 Dec 2005, at 16:47, Enrico Franconi wrote:
> On 29 Dec 2005, at 15:15, Dan Connolly wrote:
>> On Tue, 2005-12-27 at 19:40 +0100, Enrico Franconi wrote:
>>> On 27 Dec 2005, at 19:37, Enrico Franconi wrote:
>>>> a) in the document only 'simple entailment' is used. We want a
>>>> parametric entailment, with simple, rdf, rdfs explicit at least,  
>>>> and
>>>> owl-dl and owl possible. The argument here is that due to the  
>>>> infinite
>>>> closure of RDF graphs (due to rdf:1, rdf:2, etc; or to the
>>>> reification), this document would not even allow to have
>>>> implementations that comply with the original RDF MT! Moreover,  
>>>> there
>>>> are explicit requests about this in the SWBP WG, for example
>>>> <http://lists.w3.org/Archives/Public/public-swbp-wg/2005Dec/0072>.
>>>
>>> Please note that there is a simple non invasive mode to satisfy this
>>> requirement: just add at the beginning of the document a note saying
>>> that whenever simple entailment is mentioned, we could actually use
>>> also RDF, RDFS, OWL-DL entailemnts.
>>
>> Please suggest wording for such a note.
>
> """
> 2.5  Basic Graph Patterns
> Definition: Basic Graph Pattern
> A Basic Graph Pattern is a set of Triple Patterns.
> A basic graph pattern, BGP, matches on graph G with pattern  
> solution S if :
>     G simply entails S(BGP)
> The SPARQL syntax uses the keyword WHERE to introduce the Query  
> Pattern.
> """
>
> Change "simply entails" into "entails".
> Add immediately after:
> "By default, entailment here is intended in this document as  
> "simple entailment" (as defined in [RDF-MT]). SPARQL provides a way  
> to override the default with "RDF entailment", "RDFS  
> entailment" (as defined in [RDF-MT]), and "OWL entailment" (as  
> defined in [OWL-Semantics])."
>
> Please, find your favourite way to specify a query with a non- 
> default entailment (at FUB, by now, we don't have any favourite way  
> yet).
>
> """
> 2.7.1 Blank Nodes and Queries
> A blank node can appear in a query pattern and will take part in  
> the simple entailment between basic graph pattern and the target  
> graph.
> """
>
> Change "simple entailment" into "entailment".
>
> As easy as that.

Received on Monday, 2 January 2006 01:16:52 UTC