abstract syntax and RDFS

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