- From: Reinhold Klapsing <Reinhold.Klapsing@uni-essen.de>
- Date: Sun, 28 Jan 2001 23:38:13 +0100
- 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 UTC