- From: pat hayes <phayes@ihmc.us>
- Date: Wed, 17 Sep 2003 21:35:42 -0500
- To: Dan Brickley <danbri@w3.org>
- Cc: www-rdf-comments@w3.org, public-webont-comments@w3.org
>Hi > >(Sent with my implementor hat on, rather than as W3C Team / RDF Core >person etc...) > >A quick note to report on difficulties the existence of owl:Class is >causing in the FOAF world. FOAF is an RDF (RDFS/OWL) vocabulary, >(detailed at http://xmlns.com/foaf/0.1/) that is getting an encouraging >amount of usage on the public Web. FOAF files describe people, >documents, organisations, images etc. and their inter-relationships. I >have recently started making more extensive use of OWL within FOAF, >to indicate inverse-property relations, inverse functional properties, >mutual disjointness between classes and suchlike. It works quite nicely >for this, and has helped us in our work and in explaining it. Thanks! > >In promoting OWL via FOAF, I've repeatedly run into concerns and >confusion w.r.t. the existence of the owl:Class class, since RDF >(in RDF Schema) already provides a very similar concept, rdfs:Class. >This situation is causing problems, and I'm at a loss as to what to say >to implementors (eg. [1]) except "I wish the OWL group would explain >what to do, 'cos I don't know". > >Are all RDF classes OWL classes? No. RDFS has a more general notion of class than OWL has. In particular, rdfs:Class is not an OWL class. >and vice-versa? Yes. >Can this be expressed >with (rdfs):subClassOf? Yes, in RDFS: owl:Class rdfs:subClassOf rdfs:Class. However, this fact is 'invisible' in OWL because of the restrictions which have been placed on the expressivity of OWL syntax in order to keep it within a description logic framework. In OWL-DL it is illegal to even describe some of the properties of rdfs:Class, eg rdfs:Class rdf:type rdfs:Class . is an axiom in RDFS but a syntax error in OWL-DL. >It seems OWL is happy with using rdfs:subClassOf >(whose range and domain are rdfs:Class, at least in RDF/S)... does this >mean that each FOAF class I define is also an owl:Class? Not necessarily; but then you would not expect to be able to infer that just from the domain and range information. And rdfs:subClassOf has a more restricted meaning in OWL than it does in RDFS, since OWL admits fewer classes. You can think of its meaning in OWL as being the restriction of its RDFS meaning to the OWL universe. Its a bit like using 'offspring' to refer to one's children: it's correct, but the term has a wider meaning in a wider universe. But if you are only talking about human beings in any case, then 'children' and 'offspring' would be synonyms. So OWL chose to use the RDFS term rather than invent a new one. >Would it be >good practice, appropriate, true etc for me to assert this within the >FOAF namespace document? You cannot legally use rdfs:Class in OWL as rdfs:Class is not a legal OWL class. You can use the URI, just as you can use any URI, but you need to bear in mind that OWL does not give it the same meaning as it has in RDFS. For a lot of the time this does not really matter, but sometimes it does, eg if you conclude in OWL that some owl:Class is empty, the same chain of reasoning might not lead to the same conclusion in RDFS about a similarly defined rdfs:Class, because RDFS allows classes to contain things that OWL refuses to even believe in, so considers to not exist. A lot of RDFS things are OWL-invisible. >Recently we have been exploring the use of OWL's fancier features, to >say things like "Any Person whose foaf:workplaceHomepage is >http://www.ilrt.bris.ac/uk is an ILRTStaffPerson". This is used in the >FOAF Group mechanism, see http://xmlns.com/foaf/0.1/#term_Group >...in this part of the spec I copied the markup from OWL specs, and >hence have used owl:Class instead of rdfs:Class. I find I have no >sense of whether this is broken, invalid etc. usage or simply confusing. It is certainly not broken or wrong. What it means, however, is that there could be RDFS classes to which it might not apply. This may well not be an issue for you: only you can decide, by asking yourself if your notion of 'class' fits into the OWL view of what counts as a class (and if it does, I would suggest using it explicitly throughout your ontology.). OWL-DL only allows very restricted forms of classes: they cannot contain mixtures of properties and individuals, or other classes, for example (so that, eg, rdfs:Class itself is not a legal OWL-DL class). OWL-Full has been designed so that it does allow one to use more general kinds of class, but *if* you don't use them, then it 'feels' just like OWL-DL. This means that even OWL-Full, as defined in the OWL documentation, is more restricted than RDFS, and makes assumptions which are not everywhere valid in RDFS. In a nutshell, OWL can say a lot more things than RDFS can, but only about a smaller universe. If you fit naturally into that smaller universe, use the OWL main vocabulary consistently: owl:Class instead of rdfs:Class, owl:Thing instead of rdfs:Resource and the owl:Property classes instead of rdf:Property. They are all rdfs:subClassOf the corresponding RDFS classes. If you are not comfortable with the OWL restrictions, you could just use the OWL vocabulary within RDF without caring if you were OWL-DL compliant; the result would be semantically coherent, but would require some care if you wanted to interact with something written in OWL-DL (and would probably lock you out of using the industrial-strength OWL-DL inference engines). Basically, you should translate any OWL-DL construct into your language by being explicit about the restrictions, eg owl:complementOf should always be intersected with owl:Thing. This will be vacuous (and therefore harmless) in OWL-DL but will keep your 'wild OWL' consistent with any OWL-DL it might need to use. Im working on a paper describing this in detail, but other matters are more pressing on my time right now. >If it is within the OWL WG's power to do anything to simplify the >situation I would be hugely grateful... Unfortunately the current situation is the result of a clash of intuitions which has been a central issue in OWL from the start. Under the circumstances, what we have is a compromise which nobody is really happy with. Some of us would prefer OWL to be as free as RDFS is. Others would like to restrict RDFS to fit into the same narrow ontological framework as OWL-DL (eg see the papers by Ian Horrocks, Peter Patel-Schneider and Jeff Pan in the forthcoming SW meeting at Sanibel). Wars have been fought over less important issues than these. Pat -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32501 (850)291 0667 cell phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Wednesday, 17 September 2003 22:35:45 UTC