W3C home > Mailing lists > Public > www-rdf-comments@w3.org > July to September 2002

Re: rdf:value and RDF Schema (was: typed containers in RDF Schema)

From: Nick Bassiliades <nbassili@csd.auth.gr>
Date: Mon, 26 Aug 2002 14:45:35 +0300
Message-ID: <3D6A14DF.3040209@csd.auth.gr>
To: www-rdf-comments@w3.org
>
>
>At 04:13 PM 6/12/02 -0700, Garret Wilson wrote:
>>2. If RDF Schema says what the object *is*, then what about multiple
>>rdf:ranges? ( http://www.w3.org/TR/2002/WD-rdf-schema-20020430/ hints that
>>this might be possible.) If a property has two ranges defined, then is the
>>object of the property automatically understood to have *two* types, or does
>>it mean that each of the objects has one of the two types?
>
>The former.  Multiple types for an object are possible and, IMO, 
>useful.  My stock example is that a horse can be of type animal and also of 
>type means-of-transport.
>

I'm sorry to come back to the matter after almost 3 months.

However, I have to make a comment, that in the above example the concept 
"horse"
is a class and not an object (or if it is preferred: an instance of a 
class).
Therefore, "horse" is a sub-class of class "animal" AND class 
"means-of-transport".
Then every concrete horse that is an instance of class "horse" would 
inherit properties
from both super-classes of class "horse". This is the well-known 
multiple inheritance
and is perfectly ok to OO people.

However, multiple inheritance is different from multiple typing, i.e. an 
object to be an
instance of multiple classes, which (may be I'm wrong) is not so popular 
to OO people.

The latest RDF documents imply (do not say explicitly; why?) that a resource
may be an instance of two classes at the same time.

Specifically, in the "RDF Vocabulary Description Language 1.0: RDF 
Schema" WD it says that:
"... Two classes may happen to have the same members, while remaining 
distinct resources. "
(http://www.w3.org/TR/rdf-schema/#ch_class)

This can only happen if a resource is allowed to have two rdf:type 
properties.

Furthermore, the multi-typing issue is consistent with the conjuctive 
semantics of the
multiple rdfs:domain and rdfs:range properties for a resource 
(http://www.w3.org/2000/03/rdf-tracking/#rdfs-domain-and-range).
If (for example) the value of a property must belong to two classes at 
the same time, it means that the corresponding
resource must be a member (an instance) of two classes at the same time.

The previous WD for RDF schema stated the above fact explicitly:
(http://www.w3.org/TR/2000/CR-rdf-schema-20000327/#s2.3.1) "...A 
resource may be an instance of more than one class. ..."
 
I think that this multiple-typing issue creates a lot of problems for 
developers, since most systems out there do not
confront to multiple (conjunctive) typing of objects. One way to 
overcome this (of course) is to generate a "transparent"
class that has multiple super-classes and then make the multi-typed 
object an instance of this new class.

i.e.

from the following:

?x rdf:type A
?x rdf:type B

generate the following (inside the application):

_001 rdfs:subClassOf A
_001 rdfs:subClassOf B
?x rdf:type _001

An application should generate such "transparent" classes, when:
a) A resource is stated to belong to multiple classes.
b) A property has multiple domain or range constraints

The above can result is numerous system-generated classes (the upper 
limit is the PowerSet of all classes?).

I wonder if the RDF working group have considered this when allowing 
multiple types for a resource and the
very much related issue of multiple (conjunctive) domain and range 
constraints.

I would like to notice that if multiple typing is not allowed in RDF, 
then the author of an RDF Schema must himself/herself
manually add such classes. May be this is the reason for allowing 
multiple typing; to release the burden from the RDF Schema
author.

Thanks for listening,
Nick.

-- 
**************************************************************
* Dr. Nick Bassiliades                                       *
*                                                            *
* Programming Languages And Software Engineering (PLASE) Lab *
* Logic Programming and Intelligent Systems (LPIS) Group     *
*                                                            *
* Dept. of Informatics, Aristotle University of Thessaloniki *
* 54006 Thessaloniki, Greece                                 *
*                                                            *
* Tel: +30310998418    E-mail: nbassili@csd.auth.gr          *
* Fax: +30310998419    URL:    http://www.csd.auth.gr/~nick  *
**************************************************************


Received on Monday, 26 August 2002 07:45:01 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 21 September 2012 14:16:30 GMT