Re: RDF Concepts - What is a Node?

On 28 May 2012, at 19:38, Nathan wrote:
>>> Given a graph:
>>> 
>>> {
>>> [] a :Person ;
>>>   :mailbox <mailto:foo@bar.com> .
>>> 
>>> [] a :Person ;
>>>   :mailbox <mailto:bar@foo.com> .
>>> }
>>> 
>>> then how many nodes does this contain? 4?
>> No. Five. Two blank nodes, the IRI :Person, and two mailto IRIs.
>>> regarding the second { [] a :Person } statement:
>>> - is it redundant?
>> No. The graph says: “There's a person with email address A. And there's a person with email address B.” If you drop the second rdf:type statement, you get: “There's a person with email address A. And there's something with email address B.” This is obviously different, because you no longer have the assertion that the thing with email address B is a person.
>>> - does removing it change the meaning of the graph? (logically I read no, practically I read yes)
>> Yes, it changes the meaning.
> 
> Please be patient with me here as I'm both rusty and missing something.
> 
> Where in the specifications (working drafts or current RECs) does it say that the above graph should be interpreted as:
> 
> ("something is a Person with the email address A") and ("something is a Person with the email address B")
> 
> rather than:
> 
> ("a Person exists") and ("something with the email address A exists") and ("a Person exists") and ("something with the email address B exists")

Your graph was:

  _:1 a :Person.
  _:1 :mailbox <mailto:A@example.org>.

  _:2 a :Person.
  _:2 :mailbox <mailto:B@example.org>.

So, the two first statements share the same subject, and the two second statements share the same subject. Doesn't this in itself already make intuitively clear that it's the first option? (That's an honest question. It's important that the specs create the right intuition here.)

> I can't seem to see the bit of the specification that says the assertions should be grouped as they are in the first case as opposed to the second case.


Formally, it follows from the RDF Semantics spec. The bit of specification is here:

http://www.w3.org/TR/rdf-mt/#unlabel

The function A that is introduced in this section maps blank nodes to things in the universe. So, each blank node is mapped to one thing. If the same blank node is involved in multiple triples, it is still mapped to the same thing each time.

(My experience with anything in RDF Semantics is that it makes absolutely no sense until Pat has patiently explained it about a fifty times.)

Best,
Richard

Received on Monday, 28 May 2012 19:11:56 UTC