DAML Correction: Same Is Not A Sub Of Sub

[This also applies to "daml:sameClassAs".]

In the DAML+OIL 2001 March version, it states that:-

   daml:samePropertyAs rdfs:subPropertyOf rdfs:subPropertyOf .

I believe this to be a "schema inconsistency", because this implies
that anything which is the same property as another is also a sub
property of it [1]. Noting that:-

   daml:samePropertyOf daml:inverseOf daml:samePropertyOf .

That means that:-

   <> log:forAll :x , :y .
   { :x :daml:samePropertyAs :y }
   log:implies
   { :x rdfs:subPropertyOf :y . :y rdfs:subPropertyOf :x } .

Which goes against the RDF Schema specification, which states, "A
property can never be declared to be a subproperty of itself, nor of
any of its own subproperties".

However, it is still fair to say that:-

   daml:samePropertyAs rdfs:subPropertyOf daml:equivalentTo .

And that:-

   rdf:Property rdfs:subClassOf
      [ a daml:Restriction;
        daml:onProperty daml:samePropertyAs;
        daml:toClass rdf:Property ] .

It's interesting adding constraints to other people's terms w.r.t.
your own terms...

Apologies if this has been raised a million times before.

[1] "If some property P2 is a subPropertyOf another more general
property P1, and if a resource A has a P2 property with a value B,
this implies that the resource A also has a P1 property with value B."
viz.

{ :p2 rdfs:subPropertyOf :p1 . :x :p2 :y . }
log:implies
{ :x :p1 :y } .

Which means that:-

{ daml:samePropertyAs rdfs:subPropertyOf rdfs:subPropertyOf .
   :x rdfs:samePropertyAs :y . }
log:implies
{ :x rdfs:subPropertyOf :y } .

{ daml:samePropertyAs rdfs:subPropertyOf rdfs:subPropertyOf .
   :y rdfs:samePropertyAs :x . }
log:implies
{ :y rdfs:subPropertyOf :x } .

--
Kindest Regards,
Sean B. Palmer
@prefix : <http://webns.net/roughterms/> .
:Sean :hasHomepage <http://purl.org/net/sbp/> .

Received on Saturday, 5 May 2001 09:57:09 UTC