Re: Comments on "SPARQL Query Language for RDF"

Enrico Franconi wrote:
> Hi all.
> We would like to submit some comments on the "SPARQL Query Language  
> for RDF" document, to be found in [1].
> Our main goal is to be able to work on a future document about the  
> semantics of (various parts of) SPARQL.
> We would like to identify fragments of SPARQL from a "core" language  
> to a "full" language, and to work on formalising the semantics of the  
> core language first and then extend it to cover the more complex  
> languages.
> With the exception of the last comment in [1], our comments are not  
> revealing any major impediment for the definition of a well founded  
> model theoretic semantics for SPARQL.
> As a first exercise, in [2] we already worked out the formal  
> semantics for core SPARQL and we also give some complexity result.
> We have a major concern on the possibility of giving any clear  
> semantics to the querying provenance part, which we probably would  
> prefer to leave out of the normative document.
> cheers
> --e.
> [1] <>
> [2] <>
> 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

=== subgraph / entailment

The RDF MT defines three kinds of entailment - simple, RDF and RDFS.  RDF and 
RDFS are examples of vocabulary entailment.

SPARQL basic patterns are defined to match by subgraph - the graph being matched 
against contains RDF and can have some level of entailment applied or not.  Your 
first example misses this because you show the data, without a declaration of 
the entailment to be applied.  The SPARQL query can execute against a simple 
entailed version or RDF entailed version (or "zero entailment").

Therefore your example might be the triples shown + a statement that RDF 
entailment is applied to give the infinite results you show. Entailment is 
supported but not in the way you describe and it extends to (RDF) query of an 
OWL entailment graph.

Observation: The presence of infinite results presupposes a particular style of 
working with RDF.  I don't think that way of working is universally shared by 
existing systems.

=== Blank Nodes in Queries

A blank node in a query pattern “behaves as a variable; a blank node in a
query pattern may match any RDF term”.

then the solution of a basic pattern is described in terms of matching 
variables.  This is supposed to cover the case of bNodes from the query pattern 
as they are treated as variables and so have bindings.

Could you suggest wording that would make that clearer?

=== Blank Nodes in query results

Blank nodes as distinguished variables can't be returned in SELECT queries. 
This is by design.  An application should use a named variable if it wants to 
return the binding in a solution.


Many of the later comments depend on the observation in the first section so 
let's start there.


Received on Friday, 2 September 2005 11:01:33 UTC