# Re: subproperty question

From: Reinhold Klapsing <Reinhold.Klapsing@uni-essen.de>
Date: Sat, 27 Jan 2001 00:35:28 +0100
Message-ID: <3A7209C0.A4E71BC2@uni-essen.de>

```We have tested the following case with our Online RDF schema explorer
(see: http://wonkituck.wi-inf.uni-essen.de/rdfs.html).

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.

Arjohn is right in saying:

>From the RDF/S spec: "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."
>Now consider P2 to be a transitive property and you have the following
>situation:
>        X  --P2-->  Y  --P2-->  Z
>In that case, X would also be related to Z through P2 and thus, as P1 is a
>superproperty of P2, also through P1. Therefore P1 also has to transitive.

Assume:

P2                              P1
sub_P_subClassOf subPropertyOf subClassOf

Class X
Class Y
Class Z

X sub_P_subClassOf Y
Y sub_P_subClassOf Z

Applying on this the equations 15-17 (stated in [1])

(15) forall p1,p2: statement(p1,SUBPROPERTYOF,p2) => subPropertyOf(p1,p2)

(16) forall p1,p2,p3: subPropertyOf(p1,p2) /\
subPropertyOf(p2,p3)  => subPropertyOf(p1,p3)

(15) and (16) establishe the transitivity of subPropertyOf.

(17) forall s,p1, p2, o: statement(s,p1,o) /\
subPropertyOf(p1,p2) => statement(s,p2,o)

(17) is used to attach ``derived'' properties to resources:

results in:

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

You can validate this case yourself.

- Paste the attached RDF [4] to the text area field of the
Online RDF Schema Explorer
- Select Button "Parse RDF"
- Select a Query (for example):
- Class Tree
- All SubClass Relations

Some further remarks: The RDF specifications define no concepts or
approaches to formally state more sophisticated relationship
properties (such as transitive properties) beyond simple
attribute-value-pairs. How would you define a transitive property
other than in prose like the RDF specs does in the case of the
subClassOf-property? In the case of the grounding RDF specs this is
may be suitable, because every Programmer writing an RDF application
has to translate the prose in code "understanding" the more
sophisticated properties defined in the RDF specs. But in the case of
new emerging RDF schemata this strategy we think is not suitable,
because this requires code for every new RDF schemata to "understand"
the semantics. A machine canīt automatically understand the prose and
therefore can not derive for example transitivity. We think a better
way would be to define formally the semantics of a property. This does
not require to code new RDF applications for every new RDF schema
(including more sophisticated properties) because RDF applications can
automatically derive the semantics of new RDF schemata. In [2] (see
Section 4.1 Semantic Templates) we tried to address this problem. [3]
also shows an example that can be used with the Online RDF schema explorer.

Regards,

Reinhold, Wolfram

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

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

[3] http://wonkituck.wi-inf.uni-essen.de/extend.html

[4]
<?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"/>
</rdf:Description>

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