- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Mon, 2 Jan 2006 02:16:22 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
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