[
Lists Home |
Date Index |
Thread Index
]
On Jun 12, 2004, at 11:12 AM, Didier PH Martin wrote:
> Hi Jonathan.
>
>> A correction on the statement that "all nodes must have a name".
>>
>> In RDF nodes that don't have a name are called "b-nodes" (blank
>> nodes),
>> or also called "anonymous nodes".
>>
>> An example, suppose a Social Security Identifier in URI form, e.,g.
>>
>> uid:ssn:1112223344
>>
>> Now suppose the unnamed person who is identified by the SSN. This
>> person has not yet been named but has characteristics, and as such is
>> represented by a blank (unnamed) node. In RDF, the triple:
>>
>> uid:ssn:1112223344 ex:SSNof _:1
>>
>> _:1 ex:hasIncomeOf 1000000
>> _:1 ex:ownsHouse _:2
>> _:2 ex:hasAddressOf "1234 West Ridge Road"
>>
>> etc.
>
> How would you define that in concrete XML serialization?
>
> <rdf:description about="????"> or another notation.
>
> If I try to merge properties to resource I usually use the resource
> URI,
> without any URI how can I refer to the blank resource. Or maybe there
> is an
> official URI for than blank object but could find it anywhere. Where
> is this
> defined? I wasn't able to figure out how to write such instance.
>
the following XML:
<Person xmlns="http://example.org/ex">
<SSN rdf:resource="uuid:ssn:1112223344"/>
<hasIncomeOf>1000000</hasIncomeOf>
<ownsHouse>
<House>
<hasAddress>1234 West Ridge Road</hasAddress>
</House>
</ownsHouse>
</Person>
will give you the following triples (when parsed as RDF):
_:1 rdf:type ex:Person
_:1 ex:SSN uid:ssn:1112223344
_:1 ex:hasIncomeOf 1000000
_:1 ex:ownsHouse _:2
_:2 rdf:type ex:House
_:2 ex:hasAddressOf "1234 West Ridge Road"
So, the <Person> element defines an unnamed node of type Person whereas
<Person rdf:about="uuid:person:Jimmy">
would give you
uuid:person:Jimmy rdf:type ex:Person
i.e. the *rdf:about* or *rdf:ID* is how a node get's its name.
OK, so how do you refer to this unnamed person? Well, since the <SSN>
property has been defined as owl:InverseFunctional e.g.
<owl:InverseFunctionalProperty rdf:ID="SSN"/>
then whenever you 'describe' an individual with that same SSN, you are
refering to the *same* individual, e.g.
<Person rdf:ID="Jimmy">
<father-of>
<Person>
<SSN>1112223344</SSN>
</Person>
</father-of>
</Person>
that is, the system can make the *inference* that:
"Jimmy's father" and
"The person with SSN=1112223344" are the *same individual* and that
further
=> "Jimmy's father has an income of 1,000,000"
Jonathan
|