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





 

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

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