- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Mon, 20 Jan 2003 22:26:22 +0100
- To: www-webont-wg@w3.org
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 . ? 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 . ]
Received on Monday, 20 January 2003 16:25:48 UTC