- From: Sampo Syreeni <decoy@iki.fi>
- Date: Mon, 4 Oct 2010 22:39:38 +0300 (EEST)
- To: Pat Hayes <phayes@ihmc.us>
- cc: nathan@webr3.org, Melvin Carvalho <melvincarvalho@gmail.com>, Semantic Web <semantic-web@w3.org>
On 2010-10-04, Pat Hayes wrote: >> When it appears that correct interpretation would be "Bob knows a >> person call Nathan and Sue knows a person called Nathan" > > No, because those three triples share a single bnode. Draw the actual > RDF graph and this will be clear. Yes. To wit, this latter interpretation would indeed be encoded as: _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en . :Bob :knows _:x1 . _:x2 rdf:type ex:Person ; rdfs:label "Nathan"@en . :Sue :knows _:x2 . Whether or not you could then conflate _:x1 and _:x2 would depend on further inferencing. With this data alone you couldn't do it; you'd have two, possibly different (or maybe same, you dunno) persons called "Nathan", and you'd be done with it. If on the other hand they both had a unique property (in the DAML+OIL/OWL sense) with an identical object, then you could leanify from this into the original graph with "the single shared person called 'Nathan'". >> And in the case where the person they know is the same person called >> Nathan, then to give that person a proper name, a URI reference. >> >> I guess, more tersely, should a blank node reference '_:' ever appear >> more than once in the object position of a triple? > > Yes, sure. To amplify, it's totally symmetrical, here. I mean, quite certainly you'd want to distinguish between: :Sue :married _:x1 . _:x1 rdf:label "Ellen" . :Richie :married _:x2 . _:x2 rdf:label "Ellen" . and OTOH: :Sue :married _:x1 . :Richie :married _:x1 . _:x1 rdf:label "Ellen" . Pat, tell me if you disagree, but I think it's often useful to think about :x1 something1 something2. as being equivalent to _:x1 something1 something2; someschema:uri <x1>. where someschema:uri is a unique property. That is to say, a normal node is logically speaking exactly the same as a blank node decorated with a canonical, publicly visible URI, using a predicate that is also unique. The mechanics are a bit more involved of course, but semantically speaking that's what the two node types are trying to express: the difference between a shared, unambiguous name for an entity (of which there might be many), and OTOH the necessity of referring to the object via its properties alone (which in FOPL takes an existential quantifier to bind a variable to the predicates it satisfies). -- Sampo Syreeni, aka decoy - decoy@iki.fi, http://decoy.iki.fi/front +358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
Received on Monday, 4 October 2010 19:40:52 UTC