- 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