- From: Bijan Parsia <bparsia@isr.umd.edu>
- Date: Wed, 7 Sep 2005 14:37:25 -0400
- To: RDF Data Access Working Group <public-rdf-dawg@w3.org>
Sorry to spec lawyer, er...ok, no I'm not :) In 1 Introduction, the first sentence reads: """An RDF graph is a set of triples; each triple consists of a subject, a predicate and an object. This is defined in RDF Concepts and Abstract Syntax[12].""" I read this as saying that SPARQL defers to the RDF specs for the meaning of "RDF Graph", i.e., the smallest thing which may be queried. (SPARQL does define a dataset, which is an extension of RDF Graphs). In http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-data-model : """The assertion of an RDF triple says that some relationship, indicated by the predicate, holds between the things denoted by subject and object of the triple. The assertion of an RDF graph amounts to asserting all the triples in it, so the meaning of an RDF graph is the conjunction (logical AND) of the statements corresponding to all the triples it contains. A formal account of the meaning of RDF graphs is given in [RDF-SEMANTICS].""" This suggests that RDF graphs *have* a meaning. It's unclear whether the term "RDF Graph" refers to the abstract syntax alone, or the interpreted syntax. *If* it is the latter, then I believe the current sparql document requires at least RDF entailment closure. I also believe that it is ambiguous in the RDF specifications. Ok, but this section is non-normative. Section 4 <http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section- URIspaces>: """Vocabulary terms in the rdf: namespace are listed in section 5.1 of the RDF syntax specification [RDF-SYNTAX]. Some of these terms are defined by the RDF specifications to denote specific concepts. Others have syntactic purpose (e.g. rdf:ID is part of the RDF/XML syntax).""" Which is suggestive. Hmm. But the: http://www.w3.org/TR/rdf-syntax-grammar/ Sez: """The mapping to the RDF graph is done by emitting statements in the form defined in the N-Triples section of RDF Test Cases [RDF-TESTS] which creates an RDF graph, that has semantics defined by RDF Semantics [RDF-SEMANTICS].""" and """2.1 Introduction The RDF Concepts and Abstract Syntax [RDF-CONCEPTS] defines the RDF Graph data model (Section 3.1) and the RDF Graph abstract syntax (Section 6). Along with the RDF Semantics [RDF-SEMANTICS] this provides an abstract syntax with a formal semantics for it. """ However, the RDF Semantics: <http://www.w3.org/TR/rdf-mt/#prelim> """Semantic extensions of RDF MUST conform to the semantic conditions for simple interpretations described in sections 1.3 and 1.4 and 1.5 and those for RDF interpretations described in section 3.1 of this document. Any name for entailment in a semantic extension SHOULD be indicated by the use of a vocabulary entailment term. The semantic conditions imposed on an RDF semantic extension MUST define a notion of vocabulary """ ^^^^^^^^^^^^^^ key bit. """ entailment which is valid according to the model-theoretic semantics described in the normative parts of this document; except that if the semantic extension is defined on some syntactically restricted subset of RDF graphs, then the semantic conditions need only apply to this subset. Specifications of such syntactically restricted semantic extensions MUST include a specification of their syntactic conditions which are sufficient to enable software to distinguish unambiguously those RDF graphs to which the extended semantic conditions apply. Applications based on such syntactically restricted semantic extensions MAY treat RDF graphs which do not conform to the required syntactic restrictions as syntax errors.""" I don't see how to go below RDF interpretations. However, clearly: <http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/#section-Graph- syntax> Defines a notion of "abstract syntax" and calls it the "RDF Graph". 6.3 defines a notion of equivalence under which, IIRC, Enrico's two graphs are *not* equivalent. Which the RDF semantics uses, but: """Merging lemma. The merge of a set S of RDF graphs is entailed by S, and entails every member of S. [Proof] This means that a set of graphs can be treated as equivalent to its merge, i.e. a single graph, as far as the model theory is concerned. This can be used to simplify the terminology somewhat: for example, the definition of S entails E, above, can be paraphrased by saying that S entails E when every interpretation which satisfies S also satisfies E.""" which suggests a standard notion of equivalence as mutual entailment. I haven't thought about data literals. I mean, is value matching defined via Concepts and Abstract syntax section 6.5.1? it seems like literal equality in the abstract syntax is *not* defined by value equality (though the filter operations have some freedom in their definition). ========= ========= ========= I think we can say things like, "subgraph of the Abstract Syntax of an RDF document/graph/whatever" and be unambiguous (but it might not do *all* that we want). Graph equivalent graphs should return the same answer sets modulo possible renaming of bnodes. We can also say, "subgraph of the RDF Abstract Syntax of the deductive closure under RDF entailment of an RDF Graph" and be unambiguous. Mutually entailed graphs should return the same graphs...maybe period. Have to think about that. We can also probably say, "subgraph of the RDF abstract syntax of the transformation to triples of the deductive closure under OWL Lite enatilment of an RDF Graph" without ambiguity (pace some details). We might die of humiliation or oxygen deprivation, but that's a diffeernt story :) Some of this is thinking aloud, in case this isn't obvious :) One thing is clear, we must make clear that subgraph is subgraph of the *abstract syntax* of an RDF Graph. Or rather, RDF Graph shorn of its semantics. Actually, as I understand it, the whole trick *depends* on this. Cheers, Bijan.
Received on Wednesday, 7 September 2005 18:37:37 UTC