- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Fri, 02 Sep 2005 11:58:57 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
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] <http://www.inf.unibz.it/krdb/w3c/sparql-notes-fub.pdf> > [2] <http://www.inf.unibz.it/krdb/w3c/rdf-sparql-semantics.pdf> > > Enrico Franconi - franconi@inf.unibz.it > Free University of Bozen-Bolzano - http://www.inf.unibz.it/~franconi/ > 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. Andy
Received on Friday, 2 September 2005 11:01:33 UTC