- From: Bernard Vatant <bernard.vatant@mondeca.com>
- Date: Mon, 4 Oct 2010 15:40:21 +0200
- To: nathan@webr3.org, Pat Hayes <phayes@ihmc.us>
- Cc: Semantic Web <semantic-web@w3.org>
- Message-ID: <AANLkTik=pwqk144WymDf7JhmN-0rKKGcmUK5GS8cWf51@mail.gmail.com>
Hello Nathan, Pat 2010/10/4 Nathan <nathan@webr3.org> > Pat Hayes wrote: > >> Well, the very idea of a *blank* node is one that has no name, so this >> idea seems to be rather against the spirit of the bnode, so to speak. Of >> course, concrete syntaxes do use bnode identifiers, but these are really >> just an artifact of the need to represent a graph in a linear character >> sequence. These bnode identifiers are purely local to the graph. >> > > Hmm, does this mean then that often people are using blank nodes as if they > have a name, and should this be avoided? > > for example: > > _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en . > :Bob :knows _:x1 . > :Sue :knows _:x1 . > > as far as I know many RDF processors (and indeed common understanding) > would treat this as if to say that: "The person that Bob knows called Nathan > is the same person that Sue knows called Nathan" > Indeed it's the way I've ever understood it myself. And actually it's the kind of use I often present in introducing bnodes, with even less description of the object, not even a label. Just to say that :Bob and :Sue have some common relation, about whom I don't know anything whatsoever otherwise. :Bob foaf:knows _:x1 . :Sue foaf:knows _:x1 . Can I (question for Pat, here) declare this in abstract syntax, without bnode identifiers? Or should I go through some convoluted declaration of non-empty class? > When it appears that correct interpretation would be "Bob knows a person > call Nathan and Sue knows a person called Nathan" > Well, my (maybe naive ) assumption was that using the same bnode identifier was making for the same-ness of the resource. > > Thus, am I mistaken, or would it be preferably to write: > > _:x1 rdf:type ex:Person ; rdfs:label "Nathan"@en . > :Bob :knows _:x1 . > _:x2 rdf:type ex:Person ; rdfs:label "Nathan"@en . > :Sue :knows _:x2 . > This is different from the above IMHO. > > or even: > > :Bob :knows [ a ex:Person, rdfs:label "Nathan" ] > :Sue :knows [ a ex:Person, rdfs:label "Nathan" ] > Looks to me the same as using _:x1 and _:x2 without any assumption of the same-ness of _:x1 and _:x2 > 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. > Well my take on this would be that if you don't know more on this common relation than the "Nathan" name, it barely makes for an identification in the global Web scope. "A guy called Nathan and that both Sue and Bob know" . not even sure of the unicity of the referent ... forging an URI on such a fragile basis is maybe not a good idea. But this is another story. Best Bernard -- Bernard Vatant Senior Consultant Vocabulary & Data Engineering Tel: +33 (0) 971 488 459 Mail: bernard.vatant@mondeca.com ---------------------------------------------------- Mondeca 3, cité Nollez 75018 Paris France Web: http://www.mondeca.com Blog: http://mondeca.wordpress.com ----------------------------------------------------
Received on Monday, 4 October 2010 14:06:19 UTC