W3C home > Mailing lists > Public > www-rdf-interest@w3.org > January 2001

Re: subproperty question / extensible semantic

From: Reinhold Klapsing <Reinhold.Klapsing@uni-essen.de>
Date: Sun, 28 Jan 2001 23:38:13 +0100
Message-ID: <3A749F55.E9BF30CB@uni-essen.de>
To: www-rdf-interest@w3.org
In the last email [1] we misinterpreted Stefanīs question:
(Thanks to Stefan for clarifying this.)

Stefan Decker wrote:
>Now: is a subproperty of rdfs:subClassOf also supposed to be transitive?
>The specification (http://www.w3.org/TR/rdf-schema/#s2.3.3) doesn't mention 
>this
>case.

The subproperty of rdfs:subClassOf is NOT supposed to be transitive. 
However defining this semantics in a "standardizable" manner is possible 
(see below), if RDF is embedded into a suitable "host" formalism.

Assume:
    P2                              P1
sub_P_subClassOf subPropertyOf subClassOf

Class X; Class Y; Class Z

X sub_P_subClassOf Y
Y sub_P_subClassOf Z

results in:

'Y' is subclass of ['Z']
'X' is subclass of ['Y', 'Z']

but not in:

'X' is sub_P_subClassOf of ['Y', 'Z']

However if one wantīs to define this semantics also for the
sub_P_subClassOf-Property, a mechanism is required to specify
more sophisticated relationship properties (such as transitive
properties) beyond simple attribute-value-pairs. In [3] (see Section
4.1 Semantic Templates) we suggest an approach how to do this in a
striaghtforward, RDF-conform manner. The Online RDF Schema Explorer [4] 
supports this approach.

The property isDefinedAs (for the sake of simplicity we assume this
property is in the namespace rdfs) is used to define formally the
semantics of an arbitrary property (with respect to a suitably choosen
host formalism). Defining transitivity for an property is done in the 
following manner:

  <rdf:Description rdf:ID="sub_P_subClassOf">
    <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#subClassOf"/>
    <rdfs:isDefinedAs rdf:parseType="Literal">
    sub_P_subClassOf(S,O) :- statement(S,sub_P_subClassOf,O).
    sub_P_subClassOf(X,Z) :- statement(X,sub_P_subClassOf,Y), sub_P_subClassOf(Y,Z).
    </rdfs:isDefinedAs>
   </rdf:Description>

You can validate this case yourself.

- Paste the attached RDF [5] to the text area field of the 
  Online RDF Schema Explorer [4]
- Select Button "Parse RDF"
- Query the system with: sub_P_subClassOf(A,B)
- Step through the solutions

The result is:  

A = X
B = Y
(means X sub_P_subClassOf Y)
A = Y
B = Z
(means Y sub_P_subClassOf Z)
A = X
B = Z
(means X sub_P_subClassOf Z)
So now 
'X' is sub_P_subClassOf of ['Y', 'Z'] 
is true. 

(Wouldn't it be nice if this form of extensibility (based
on a suitable formalization of the core axioms of RDFS)
would be a "standard tool" for schema designers that want
to specify the semantics of introduced properties with 
sufficient and interchangable preciseness?)

Regards, 

Reinhold, Wolfram

[1] http://lists.w3.org/Archives/Public/www-rdf-interest/2001Jan/0211.html

[2] A Logical Interpretation of RDF 
    http://nestroy.wi-inf.uni-essen.de/rdf/logical_interpretation/

[3] http://nestroy.wi-inf.uni-essen.de/rdf/xrdf/

[4] http://wonkituck.wi-inf.uni-essen.de/rdfs.html

[5]
<?xml version="1.0"?>

<!-- Example for clarifying the subPropertyOf relationship 
     of a the tansitive subClassOf Property
 -->

<rdf:RDF 
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:rdfs="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#"
      xmlns:local="this#">

  <rdf:Description rdf:ID="sub_P_subClassOf">
    <rdf:type resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
    <rdfs:subPropertyOf rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#subClassOf"/>
    <rdfs:isDefinedAs rdf:parseType="Literal">
    sub_P_subClassOf(S,O) :- statement(S,sub_P_subClassOf,O).
    sub_P_subClassOf(X,Z) :- statement(X,sub_P_subClassOf,Y), sub_P_subClassOf(Y,Z).
    </rdfs:isDefinedAs>
   </rdf:Description>

  <rdfs:Class rdf:ID="X"/>
  <rdfs:Class rdf:ID="Y"/>
  <rdfs:Class rdf:ID="Z"/>

  <rdf:Description rdf:about="#X">
  <local:sub_P_subClassOf rdf:resource="#Y"/>
  </rdf:Description>

  <rdf:Description rdf:about="#Y">
  <local:sub_P_subClassOf rdf:resource="#Z"/>
  </rdf:Description>

</rdf:RDF>
Received on Sunday, 28 January 2001 17:31:17 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:47 GMT