Re: SPARQL semantics: open issues for basic query patterns

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

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.

> Regardless of what the note says, in the version of SPARQL that  
> we're standardizing, the answer to this query is False, right?
> Input data s:
>  :c1 rdfs:subClassOf :c2.
>  :c2 rdfs:subClassOf :c3.
> Query:
>  ASK { :c1 rdfs:subClassOf :c3 }.

By *default* the answer to this query is False. However, it should be  
possible to feed the above input data to an engine that if queried  
with the "rdfs entailment" option (as opposed to the default "simple  
entailment" option) will return True; and this behaviour should be  
standardised as well. For FUB it is unacceptable to have a standard  
which does not provide a hook for entailment.


Enrico Franconi                  -
Free University of Bozen-Bolzano -
Faculty of Computer Science      - Phone: (+39) 0471-016-120
I-39100 Bozen-Bolzano BZ, Italy  - Fax:   (+39) 0471-016-129

Received on Thursday, 29 December 2005 15:48:16 UTC