- From: Stefan Decker <stefan@db.stanford.edu>
- Date: Wed, 29 Dec 1999 12:04:19 -0800
- To: www-rdf-interest@w3.org
>Stefan Decker wrote:
>> However, there is one problem with in RDFS with properties:
>> in RDFS a property belongs to exactly ONE class.
>> This limits the value of schemas (ontologies).
>
>It isn't true :
>
>RDF schema forbid morethan one RANGE for properties
Ops, i mixed Domain and Range in my last email.
I had the correct argumentation in mind, but screwed up
with writing it down. Sorry for the confusion.
Now the correct version:
>(which means that property color should always have values in class Color)
>but as many DOMAINS as needed, not necessarily declared in the same
RDF >model...
Sure. The problem comes when properties describe a "role", which can
be filled by different ranges for different classes.
Let me give again the "childOf"-Example (hopefully correct now...)
Classes:
--------
mammals
dog
human
('dog' and 'human' are subclasses of 'mammals')
property
--------
hasChild
I would like to say:
a) hasChild : Domain: dog -> Range: dog
hasChild : Domain: human -> Range: human
hasChild describes a "Role" which can have different ranges
for different domains.
This can not be reflected in RDFS. Instead one has to write:
(b) hasChild : Domain: dog -> Range: mammal
Domain: human -> Range: mammal
Given the following instance definitions:
bobby : human
lassy : dog
(bobby is a instance of human and lassy is a instance of dog).
then
bobby -hasChild-> lassy)
is perfectly valid given the schema.
Errors like this can not be detected using the RDF schema.
Instead one has to ensure that a property is unique for each domain
(e.g. by adding a class-prefix), which is redundant
(and this was the main point in the paper).
(e.g. something like hasHumanChild, hasDogChild).
The problem is, that a property can only be used in one class, but is
globally visible for all classes.
There is also another disadvantage of this approach:
a schema should not only be usable to check definitions for errors, but also
to derive new knowledge and to complete knowledge.
This is especially true on the web, where incomplete information is quite
common.
An example:
Given the following instance data:
stefan : human
and
stefan hasChild jana
and nothing more is known about jana, given schema (a) it is possible
to derive, that jana is human. This is not possible using schema (b).
Hope i got it correct this time....
Ciao,
Stefan
>
>That is, if someone created a class Color = { red, orange, yellow,
green, >blue, purple, white, black }
>and a property color with ColorPen as domain, you still can add domain
Car if >you want to.
>
>What you can't do is have a color property pointing to an instance of
YOUR >class RGBcode.
>unless you make RGBcode subclassOf Color, which sounds not so bad...
>
> Pierre-Antoine
Received on Wednesday, 29 December 1999 15:09:48 UTC