- 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