W3C home > Mailing lists > Public > semantic-web@w3.org > September 2006

Re: Individuals with more than one rdf:type

From: Frank Manola <fmanola@acm.org>
Date: Wed, 20 Sep 2006 12:26:44 -0400
Message-ID: <45116BC4.2000908@acm.org>
To: David Navarro Arnao <dnavarro@isoco.com>
CC: ben syverson <w3@likn.org>, semantic-web@w3.org

There are some other examples of this in the Primer as well.  The 
discussion of Example 13 in Section 3.2 of the Primer notes: "Since a 
resource may be described as an instance of more than one class, a 
resource may have more than one rdf:type property.".  Example 16 in 
Section 4.1 describes a resource with two rdf:types, Bag and Alt.  Also, 
in the discussion of classes (Section 5.1), the meaning of the subclass 
relationship is defined in terms of the ability to infer additional 
class memberships (additional rdf:type properties).  That is, given

ex:Van   rdfs:subClassOf   ex:MotorVehicle .

if resource exthings:companyVan is an instance of ex:Van then, based on 
the declared rdfs:subClassOf relationship, RDFS-aware software can infer 
the additional information that exthings:companyVan is also an instance 
of ex:MotorVehicle (i.e., the instance has two rdf:type properties, one 
for Van and one for MotorVehicle).

These probably aren't as explicit as you might have preferred, but 
rdf:type is just another property (even though it's predefined in RDF) 
and, at least in RDF, there's no way to constrain an instance from 
having multiple properties of *any* kind, or from having what appear on 
the surface to be "inconsistent" values of those properties.  For 
example, Section 5.2 has an example of declaring domains which results 
in you having to conclude that an instance is both a Book and a 
MotorVehicle.  This may appear weird, but it's perfectly legal RDF.

David Navarro Arnao wrote:
> Hi Ben,
> ben syverson wrote:
>> Great -- I had assumed so, but couldn't find any specific information 
>> in the specs to back up my assumption...
> That's right, there isn't a specific information for that issue about 
> rdf:type, but... if we read [1], we can see that an individual can be 
> instance of more than one Class.
> Example:
> ex:hasMother   rdfs:range   ex:Female .
> ex:hasMother   rdfs:range   ex:Person .
> For any given statement using this property, say:
> exstaff:frank   ex:hasMother   exstaff:frances .
> in order for /both/ the |rdfs:range| statements to be correct, it must 
> be the case that |exstaff:frances| is /both/ an instance of |ex:Female| 
> and of |ex:Person|.
> [1]: http://www.w3.org/TR/rdf-primer/#properties
Received on Wednesday, 20 September 2006 16:18:28 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:44:58 UTC