- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Sat, 14 Jan 2006 16:11:08 +0100
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Hi, we ask to finalise the text of Section 2.5. The new proposal of Pat <http://lists.w3.org/Archives/Public/public- rdf-dawg/2006JanMar/0061.html> does not work for any approach where bnodes are implicit, and this happens not only for OWL-Lite entailment, as we already pointed out in <http://lists.w3.org/ Archives/Public/public-rdf-dawg/2006JanMar/0064.html>, but also for RDF entailment. For example, given the graph :john :age "25"^^xsd:decimal . the query ASK { _:b rdf:type rdf:XMLLiteral } should clearly return YES if RDF entailment is considered. However, according to the latest proposal from Pat the answer to the query would be NO regardless of the type of entailment considered. The reason is that Pat considers bnodes in the query restricted to be bound only to URIs and bnodes explicitly appearing in the graph. At this point it is becoming too late. We ask that either our text is used (with possible editorial changes to discuss), or that the DAWG does not conclude the work on the 31st of January and we'll have a F2F during the W3C tech plenary in France at the end of February. We recall that our text provides the use of entailment, the correspondence with the subgraph matching based implementations, and uniqueness of solutions for interoperability; its core definitions are stable since its appearance on the 2nd of November 2005 <http:// www.inf.unibz.it/krdb/w3c/sparql/>. So, the latest version of our proposed text for Section 2.5 (having minor changes wrt our previous proposal <http://lists.w3.org/Archives/ Public/public-rdf-dawg/2006JanMar/0018>) is below. """ 2.5 Basic Graph Patterns Definition 4 (OrderedMerge) The OrderedMerge 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 [RDF- MT], if any of the graphs contains variables, then those are not renamed (i.e., variables are treated as URIs). The above OrderedMerge definition is totally compatible with the RDF merge definition given in [RDF-MT]. In particular, if the graphs do not contain any variable or they are considered simply as IRIs, then OrderedMerge is a 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 OrderedMerge is equivalent to 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 matching. 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( G OrderedMerge BGP ) - the graph S( G OrderedMerge BGP ) is an RDF graph - the bnodes involved in S are among the bnodes appearing in G. Simple entailment (as defined in [RDF-MT]) is the default choice of entailment in SPARQL, since it allows for the basic operation of querying the "syntax" of RDF graphs, completely neglecting its semantics. In this way, the basic option for SPARQL is to manipulate graphs, rather than involving reasoning on knowledge bases; the latter may be possible by choosing another form of entailment, among the current standards of W3C. In fact, with the proviso that bnodes are not allowed to appear in pattern solutions, SPARQL may be extended to provide a way to override the default "simple entailment" with "RDF entailment", "RDFS entailment" (as defined in [RDF-MT]), and "OWL entailment" (as defined in [OWL-Semantics], where the syntactic restrictions in OWL-DL or OWL-Lite should be reflected in suitable syntactic restrictions on the form of basic graph patterns). In the default case of simple entailment, Basic Graph Pattern matching corresponds really to the expected operation of subgraph matching from the basic graph pattern (the query) to the graph (the dataset). So, querying a dataset with a basic graph pattern corresponds to find all the assignments for variables and bnodes in the query pattern such that the resulting graph is a subgraph of the dataset. This provides a connection for the formal definition of basic graph pattern matching to the practices adopted in SPARQL implementations. Implementational hint: Simple Entailment as Subgraph Matching. In the case of simple entailment, a pattern solution can be equivalently defined as follows: for each subgraph matching between BGP and G, where bnodes and variables in BGP are mapped to any node in G, a pattern solution is the mapping of variables in BGP to nodes in G. Moreover, the uniqueness property of pattern solutions guarantees the interoperability between SPARQL systems: given a graph G and a basic graph pattern query BGP, the set of all the pattern solutions is unique. """
Received on Saturday, 14 January 2006 15:11:23 UTC