Re: ISSUE 5.3 Semantic Layering

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