- From: Jos De_Roo <jos.deroo@agfa.com>
- Date: Sun, 29 Jun 2003 23:39:48 +0200
- To: "Jeremy Carroll <jjc" <jjc@hpl.hp.com>
- Cc: www-webont-wg@w3.org
Jeremy wrote: > If I use the translation rules on individual() in an > appropriate way I should get: > <foo> <a> <bar> . > entails > <foo> <a> _:b . > _:b rdf:type owl:Thing . > > There may be bugs in the transformation rules that don't > do that, although I believe Peter has made some changes there. > The entailment is now no longer content free unless owl:Thing > is the same as rdfs:Resource. > In particular if we don't know that owl:Class rdfs:subClassOf > owl:Thing then the entailment no longer follows. That's right and indeed resolves that bug; nifty ;-) > Jeremy: > >> How much baby goes out with the bath water? > > Peter: > >However, you would then need to assert, for example, that > >rdfs:Class was an owl:Class before you would get many OWL > >inferences from it. In essence, you would have to do all > the same typing you need to do in OWL DL. > > An example would be: > > eg:foo rdf:type owl:Class . > eg:foo dc:creator "Jos" . > eg:madeByJos owl:equivalentClass _:r . > _:r rdf:type owl:Restriction . > _:r owl:onProperty dc:creator ^^ . > _:r owl:hasValue "Jos" . > > > currently entails, but would not: > > eg:foo rdf:type eg:madeByJos . > > because restrictions intersections unions complements are > scoped by owl:Thing, not rdfs:Resource, nor the universe. Well, assuming nothing about owl:Class and owl:Thing we get { <http://www.agfa.com/w3c/euler/rdfs-rules#rdfs9>. {[ iw:Variable "?A"] = _:r_1. [ iw:Variable "?B"] = eg:madeByJos. [ iw:Variable "?A"] rdfs:subClassOf [ iw:Variable "?B"]} => {_:r_1 rdfs:subClassOf eg:madeByJos}. { <http://www.agfa.com/w3c/euler/owl-rules#owl9r2>. {[ iw:Variable "?R"] = _:r_1. [ iw:Variable "?P"] = dc:creator. [ iw:Variable "?R"] owl:onProperty [ iw:Variable "?P"]} => {_:r_1 owl:onProperty dc:creator}. {[ iw:Variable "?R"] = _:r_1. [ iw:Variable "?Y"] = "Jos". [ iw:Variable "?R"] owl:hasValue [ iw:Variable "?Y"]} => {_:r_1 owl:hasValue "Jos"}. {[ iw:Variable "?X"] = eg:foo. [ iw:Variable "?P"] = dc:creator. [ iw:Variable "?Y"] = "Jos". [ iw:Variable "?X"] [ iw:Variable "?P"] [ iw:Variable "?Y"]} => {eg:foo dc:creator "Jos"}. [ iw:Variable "?S"] = eg:foo. [ iw:Variable "?A"] = _:r_1. [ iw:Variable "?S"] a [ iw:Variable "?A"]} => {eg:foo a _:r_1}} => {eg:foo rdf:type eg:madeByJos}. Also all the other test cases in Test that we could run so far are still running without assumptions about owl:Class and owl:Thing. -- Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Sunday, 29 June 2003 17:40:07 UTC