Re: Why do you want to do that?

Richard H. McCullough wrote:
> Over the last six years, I have suggested a number of
> "improvements" to the RDF language.  Not one of
> my suggestions was adopted.  Apparently,
> RDF is fine just the way is, thank you!
> I would now like to turn the tables, and ask
> why do you want to do that?

Richard, I have the impression you misunderstand the intentions of RDF a 
little. I'm not involved in RDF standardization, but as I understand RDF 
it is just a very simple datamodel (the triple datamodel) with various 
serializations. In this datamodel you can encode other more richer 
knowledge representation formalisms such as RDF-Schema, the various OWL 
dialects, but also completely different information such as rules, 
relational data, lenses for visualisation, low level vocabularies (SIOC, 
FOAF, DC etc.) and so on ...

> I'll start with two features of RDF which seem to be popular.
> 1. X  subClassOf  X;
> A neat mathematical property, right?
> But if you do the inferences, what it means is
>    X  sameAs  X;
> We already knew that.
> Why do you want to do that?

The properties you mention are not defined in RDF: subClassOf is an 
RDF-Schema property and sameAs is defined in OWL. Furthermore, sameAs 
can not only be used between Classes, but between arbitrary resources. 
Also from a more theoretic standpoint both are different: subClassOf 
just talks about the class extends, i.e. the instances of the two 
classes, while sameAs is related to properties attached to each resource 
being exactly the same (i.e. both identifiers being synonyms).
You are right in this special case there is some redundancy, but you 
will find a lot more in most knowledge bases and I think being minimal 
was not a design goal of RDFS or OWL. If you really don't like 
redundancies you can simply remove derivable statements from your KB.

> 2. X  type  Y;  X  subClassOf  Z;
> Another neat property: X is an individual and a class.
> Now I can ... What?  I don't know.
> Why do you want to do that?

Why not? Of course in most local KBs this does not make much sense, and 
in OWL-DL for example this would not be allowed. On the other hand, the 
Semantic Web knowledge representation stack is meant to be used on the 
Web integrating knowledge and information from different sources (and 
viewpoints). What appears to be an instance for one user might be a 
class for another one. Think for example of /Tesla Roadster/ being an 
instance a class /Cars/ in a car ontology, but from the viewpoint of the 
manufacturer /Tesla Roadster/ is a class with the instances /Sergei's 
Tesla/, /Larry's Tesla/, /Elon's Tesla/. ;-)

Just my 2ct, have a nice weekend



Sören Auer, AKSW/Computer Science Dept., University of Leipzig,  Skype: soerenauer

Received on Friday, 8 August 2008 16:29:12 UTC