- 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