About rdfs-subPropertyOf-semantics

Concerning the following RDF Schema issue:-

[[[
Issue rdfs-subPropertyOf-semantics: The inheritance semantics of the
subPropertyOf relationship needs to be clarified.
raised Wed, 14 Jun 2000 by Michel Klein

Summary: The semantics of the subPropertyOf relationship is not clear
with respect to the inheritance of domain and range constraints.

Currently: for discussion
]]] - http://www.w3.org/2000/03/rdf-tracking/

This is a very interesting point: often, people will want to specify a
subClassOf rdf:Property, and then assert that this group of properties
has a certain range and domain; which will be easier than labelling
each property one by one, and will end up with a class of these
properties which can be added to or referred to at will.

This assertion can already be made with logic:-

   @prefix : <#>
   @prefix log: <http://www.w3.org/2000/10/swap/log#> .

   { { :x a :MyPropClass .
       :MyPropClass rdfs:subClassOf rdf:Property }
   log:implies
   { :x rdfs:domain :MyDomain; rdfs:range :MyRange } }
   a log:Truth; log:forAll :x .

So I think it would be fitting if the RDF Core WG would consider
adding two properties to RDF Schema, to point to the range and domain
of a subClassOf rdf:Property.

   :MyPropClass rdfs:instanceDomain :MyDomain .
   :MyPropClass rdfs:instanceRange :MyRange .

i.e. that:-

   { { :MyPropClass rdfs:instanceDomain :MyDomain }
   log:implies
   { :MyPropClass rdfs:subClassOf rdf:Property .
      :x a :MyPropClass; rdfs:domain :MyDomain } }
   a log:Truth; log:forAll :MyPropClass , :MyDomain , :x .

and:-

   { { :MyPropClass rdfs:instanceRange :MyRange }
   log:implies
   { :MyPropClass rdfs:subClassOf rdf:Property .
      :x a :MyPropClass; rdfs:range :MyRange } }
   a log:Truth; log:forAll :MyPropClass , :MyRange , :x .

and that:-

   @prefix sws: <http://www.w3.org/2001/03swell/finiteSet#>.

   rdfs:instanceDomain
     rdfs:domain [ sws:setOf rdf:Property ];
     rdfs:range rdfs:Class .
   rdfs:instanceRange
     rdfs:domain [ sws:setOf rdf:Property ];
     rdfs:range rdfs:Class .

Hey, DanC's sws:setOf property [1] came in handy! Perhaps that should
be added to RDF Schema/DAML+OIL (leave that for another day).

[1] sws:setOf rdfs:label "set of";
  rdfs:comment "for setOf(C, E) read: C is the class of finite sets of
E.";
  rdfs:range rdfs:Class;
  rdfs:domain sws:Set;
  a dpo:UniqueProperty, dpo:UnambiguousProperty.

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

Received on Monday, 11 June 2001 20:46:36 UTC