- From: Nathan <nathan@webr3.org>
- Date: Mon, 28 Mar 2011 11:20:41 +0100
- To: Gregg Reynolds <dev@mobileink.com>
- CC: Pat Hayes <phayes@ihmc.us>, SW-forum Web <semantic-web@w3.org>
Gregg Reynolds wrote: > On Mon, Mar 28, 2011 at 12:12 AM, Pat Hayes <phayes@ihmc.us> wrote: > >> Also no *syntactic* rule that allows me to map >> >> <ex:a> <ex:p> _:x . >> _:y <ex:p> _:x . >> >> to <ex:a> <ex:p> _:x . This looks like it should be some kind of syntactic >> reduction step, but I find nothing to justify elimination of the second >> clause except semantic considerations. >> >> >> It follows from the fact that a graph is defined to be a set of triples. >> The set {a, a} is the same as the set {a}. >> > > P.S. This is not syntax, it's semantics. While {a,a} = {a} is true, > "{a,a}" = "{a}" is not. By relying on the definition of set, the (implicit) > RDF abstract syntax mapping uses semantics to define a syntactic reduction. > Compare lambda calculus; 2+3 is the same as 5, but you don't get that for > free; you have to perform a syntactic reduction by rule. By the same token, > if you want to map > > [1] <ex:foo ex:bar ex:baz>, <ex:foo, ex:bar, ex:baz> > > to the abstract syntax <ex:foo ex:bar ex:baz>, you don't get to do it by > observing that a graph is a set; you have to have some explicit syntactic > rules allowing you to do it. Otherwise it is not syntax. I'm missing what you're getting at here, a Graph is a Set of Triples, so with basic set theory you get (A = B) ↔ (A ⊆ B)∧(B ⊆ A) or expressed logically (A = B) ↔ ∀x[x∈A ↔ x∈B] thus: order and duplicates don't matter and thus: cardinality is over distinct members. The RDF Semantics define the semantics, the Abstract Syntax is defined in terms of lexical and value space, and both are pretty clear on equivalence (even if blank nodes make it a bit of a PITA).
Received on Monday, 28 March 2011 10:21:28 UTC