OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Interesting nodes are anonymous, was: Re: [xml-dev] Meta-s

[ 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"/>
			<hasAddress>1234 West Ridge Road</hasAddress>

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">

that is, the system can make the *inference* that:

"Jimmy's father" and
"The person with SSN=1112223344" are the *same individual* and that 

=> "Jimmy's father has an income of 1,000,000"



News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS