- From: Stefan Decker <stefan@DB.Stanford.EDU>
- Date: Tue, 21 Dec 1999 23:50:41 -0800
- To: "Tim Berners-Lee" <timbl@w3.org>, www-rdf-interest@w3.org
- Cc: frankh@cs.vu.nl, dieter@cs.vu.nl
Hi, >Yes, this is a fundamental difference between RDFS and many systems which >are object-oriented in the sense that the set of properties is defined with >respect to a class. Thus, when a car has a color, the concept of car and the >concept of color are independent first class objects. This is in fact a >fundamental aspect of the semantic web. The rule is that (technically) >"anyone can say anything about anything" means that properties (property >names) must >be first class objects. If the designed of the class "car" didn't think of >color as being an interesting property of cars, then it becomes more >difficult for anyone to make statements about cars being red. there isn't much of a difference, if i say: 1) instance o has an attribute a with value v (o-o) 2) there is a statement consisting of a subject, a predicate and an object (RDF). 1) says exactly the same as 2) and there is no difference in the semantics. One can "saying anything about anything" using 1) OR 2) 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). An example (i'am not using RDFS syntax here, i hope it is still understandable): Classes: -------- mammals dog human ('dog' and 'human' are subclasses of 'mammals') property -------- isChildOf I would like to say: a)isChildOf : dog X dog isChildOf : human X human (Explanation: isChildOf is a relation between dogs (dogs can only have dogs as childs) and between humans (humans have only have human childs)). I CAN'T express a) that in RDFS! Instead i have to say (in RDFS): (b) isChildOf : mammals X dog mammals x human (isChildOf has a domain "mammals" and range "dog" and "human") Given the following instance definitions: bobby : human lassy : dog (bobby is a instance of human and lassy is a instance of dog). then isChildOf(bobby,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 class (e.g. by adding a class-prefix), which is redundant (and this was the main point in the paper). 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 RDFS approach: a schema can not only be used to check definitions for errors, but also to derive new knowledge and to complete knowledge. An example: if the following instance data: stefan : human and isChildOf(jana,stefan) is given, we can conclude that jana is also a human (because children of humans are also humans) (given the ontology definition (a) ). This is also not possible with RDFS! So RDFS is in a sense to much "class-attribute" based and limited. Hope this clarified the situation a bit, Stefan ((also in no official capacity)) >((There is a (2.1) a frightful suggestion to change the HTML META tag's >meaning so that the CONTENT attribute becomes a (local) URI for the content >rather than the content, in an attempt to address the "problem" of reuse of >t >same text in human and machine-destined languages. I currently think the >way to do this is to make the human-readable page a function - e.g. in >XSLT- >of the semantic data)) Another possibility is to clarify the meaning of link (see recent discussions one the list). BTW: I can't see why the suggestions is "frightful"....
Received on Wednesday, 22 December 1999 02:55:02 UTC