- From: Guus Schreiber <schreiber@swi.psy.uva.nl>
- Date: Mon, 20 Jan 2003 23:52:25 +0100
- To: Jeremy Carroll <jjc@hpl.hp.com>
- CC: WebOnt WG <www-webont-wg@w3.org>
Jeremy Carroll wrote: > > In conducting my still unfinished review of the mapping rules I noticed that > no RDFS schema is an OWL DL document. > > This seems like an oversight, and can be addressed by a harmless extension to > the mapping rules. > > The problem is that every RDFS schema contains triples like > > <uri1> rdf:type rdf:Property . > and > <uri2> rdf:type rdfs:Class . > > These triples are simply illegal in OWL Lite and OWL DL. > > But they could be (non-deterministically) introduced in the mapping rules. > > The latest version of the mapping rules does have some non-determinism already > for handling AllDifferent. By extending the notation of the mapping rules to > have say ? triple ? to denote an optional triple that can be omitted or > included at whim, I propose the following changes to the mapping rules to > enhance RDFS compatibility. > (Notationally it may be simpler just to duplicate the rules; this is what is > done with the Ontology construct). > > > OLD > > Class(classID partial > annotation1 … annotationn > description1 … descriptionn) > > => > > classID rdf:type owl:Class . > classID T(annotation1) . … classID T(annotationn) . > classID rdfs:subClassOf T(description1) . … > classID rdfs:subClassOf T(descriptionn) . > > PROPOSED > > Class(classID partial > annotation1 … annotationn > description1 … descriptionn) > > => > > classID rdf:type owl:Class . > ? classID rdf:type rdfs:Class . ? The owl.wol file defines owl:Class as a subclass of rdfs:Class. So this seems redundant to me, or are we not assuming owl.owl is always imported? The same holds for the other examples (owl:ObjectProperty is a subclass of rdf:Property, etc.). Sorry if I misunderstand. Guus > classID T(annotation1) . … classID T(annotationn) . > classID rdfs:subClassOf T(description1) . … > classID rdfs:subClassOf T(descriptionn) . > > (similarly for the other two Class rules) > > OLD > > DatatypeProperty(ID > annotation1 … annotationn > super(super1)… super(supern) > domain(domain1)… > domain(domainn) > range(range1)… > range(rangen) > [Functional]) > > => > > ID rdf:type owl:DatatypeProperty . > ID T(annotation1) . … ID T(annotationn) . > ID rdfs:subPropertyOf T(super1) . … > ID rdfs:subPropertyOf T(supern) . > ID rdfs:domain T(domain1) . … > ID rdfs:domain T(domainn) . > ID rdfs:range T(range1) . … > ID rdfs:range T(rangen) . > [ID rdf:type owl:FunctionalProperty . ] > > PROPOSED > > DatatypeProperty(ID > annotation1 … annotationn > super(super1)… super(supern) > domain(domain1)… > domain(domainn) > range(range1)… > range(rangen) > [Functional]) > > => > > ? ID rdf:type rdf:Property . ? > ID rdf:type owl:DatatypeProperty . > ID T(annotation1) . … ID T(annotationn) . > ID rdfs:subPropertyOf T(super1) . … > ID rdfs:subPropertyOf T(supern) . > ID rdfs:domain T(domain1) . … > ID rdfs:domain T(domainn) . > ID rdfs:range T(range1) . … > ID rdfs:range T(rangen) . > [ID rdf:type owl:FunctionalProperty . ] > > > OLD > > ObjectProperty(ID > annotation1 … annotationn > super(super1)… super(supern) > domain(domain1)… > domain(domainn) > range(range1)… > range(rangen) > [inverseOf(inverse)] > [Symmetric] > [Functional | > InverseFunctional | > Transitive]) > > => > > ID rdf:type owl:ObjectProperty . > ID T(annotation1) . … ID T(annotationn) . > ID rdfs:subPropertyOf T(super1) . … > ID rdfs:subPropertyOf T(supern) . > ID rdfs:domain T(domain1) . … > ID rdfs:domain T(domainn) . > ID rdfs:range T(range1) . … > ID rdfs:range T(rangen) . > [ID owl:inverseOf T(inverse) .] > [ID rdf:type owl:SymmetricProperty . ] > [ID rdf:type owl:FunctionalProperty . ] > [ID rdf:type owl:InverseFunctionalProperty . ] > [ID rdf:type owl:TransitiveProperty . ] > > PROPOSED > > ObjectProperty(ID > annotation1 … annotationn > super(super1)… super(supern) > domain(domain1)… > domain(domainn) > range(range1)… > range(rangen) > [inverseOf(inverse)] > [Symmetric] > [Functional | > InverseFunctional | > Transitive]) > > => > > ? ID rdf:type rdf:Property . ? > ID rdf:type owl:ObjectProperty . > ID T(annotation1) . … ID T(annotationn) . > ID rdfs:subPropertyOf T(super1) . … > ID rdfs:subPropertyOf T(supern) . > ID rdfs:domain T(domain1) . … > ID rdfs:domain T(domainn) . > ID rdfs:range T(range1) . … > ID rdfs:range T(rangen) . > [ID owl:inverseOf T(inverse) .] > [ID rdf:type owl:SymmetricProperty . ] > [ID rdf:type owl:FunctionalProperty . ] > [ID rdf:type owl:InverseFunctionalProperty . ] > [ID rdf:type owl:TransitiveProperty . ] > > -- A. Th. Schreiber, SWI, University of Amsterdam, http://www.swi.psy.uva.nl/usr/Schreiber/home.html
Received on Monday, 20 January 2003 17:56:48 UTC