Re: Comment on Last Call Working Draft of RDF Semantics document concerning treating classes and properties as objects

{pat wrote]
...

> I would ask for this notion of 'role' to be clarified before giving a 
> detailed response. The existing RDFS model theory does not recognize 
> any 'roles'.

Yes, the existing RDFS model theory does not recognize any dual 'roles'.

Based on my understanding, RDFS (RDF and RDF Schema) can be used as a meta-language (a language for defining other ontology languages) as well as an ontology language. The basic difference between them can be figured out as follows:

1. RDFS as an ontology language.

It can be defined by following constraints (exclusion approach):
*Not allowed to define a new "meta-class" (class of classes).
 Examples of meta-classes:  rdfs:Class, rdfs:Datatype, OWL:Class
(This also implies that one couldn't use the rdfs:subClassOf construct to specify a class from a predefined "meta-class") 

*Not allowed to define a new "property-class" (class of properties).
 Examples of property-classes:  rdf:Property, rdfs:ContainerMembershipProperty, OWL:TransitiveProperty.
(This also implies that one couldn't use the rdfs:subClassOf construct to specify a class from a predefined "property-class") 

*Not allowed to define a new property about classes or properties (Typically, the rdfs:range and/or rdfs:domain of the property is specified to be a "meta-class" or "property-class"). 
Examples:  rdfs:subClassOf, rdfs:subPropertyOf, rdfs:range, rdfs:domain, 
OWL:equivalentClass 

*Not allowed to define a new subproperty of an RDFS Kernel property(Or broaden to the predefined RDFS properties).
 The RDFS Kernel properties are as follows:
 rdfs:range, rdfs:domain, rdf:type, rdfs:subClassOf, rdfs:subPropertyOf.
 Other predefined RDFS properties includes rdfs:label, rdfs:comment, ....


Typically, An ontology language is used as follows:
*use the predefined "meta-class" to instantiate or specify a new class.
*use the rdfs:subClassOf construct to specify a class from a user-defined class, or a predefined class other than a "meta-class" or "property-class".
*use the predefined "property-class" to instantiate or specify a new property.
*use the rdfs:subPropertyOf construct to define a new property from a user-defined property.
*use rdfs:range and/or rdfs:domain to constraint a user-defined property,and the rdfs:range and/or rdfs:domain of the property must not be a "meta-class" or "property-class".

*specify individual resources.
*make assertions on individual resources

*Other approach based on the specific constructs in the given ontology language.
 
    
2. RDFS as a language for defining other (RDFS-based) ontology languages.
As a meta-language, RDFS is typically used to define the following constructs of the target ontology language: 
*"meta-classes" other than rdfs:Class. Example: OWL:Class

*"property-classes" other than rdf:Property. Example: OWL:TransitiveProperty. 

*built-in core properties other than RDFS Kernel property (rdfs:range, rdfs:domain, rdf:type, rdfs:subClassOf, rdfs:subPropertyOf), they are properties about classes or properties. Examples: OWL:equivalentClass, OWL:inverseOf. 

*Other constructs(classes, properties,individuals,...)


In sum, RDFS (as a meta-language) can be used to define other ontology languages such as DAML and OWL, these languages are extensions of RDFS (as an ontology language). 

The dual roles have different attitude to the following key constructs:
*meta-classes
*property-classes
*properties about classes or properties

Roughly speaking, RDF Semantics (the spec) is ambitious in that it tries to give the semantics of RDFS at both of ontology language layer and meta-language layer with a single mechanism. It seems not bad as the semantics of RDFS (as a meta-language), but not perfect as the semantics of RDFS (as an ontology language) .
As an ontology language, RDFS should have a clear and fixed semantics based on a subset of FOL (or other well known Logic such as Order-Sorted Logic). The semantics of OWL (as an extension of RDFS) can also be defined by using the same approach.


Thanks for your concern, any comment is welcome!


Yuzhong Qu

Received on Tuesday, 18 February 2003 11:45:14 UTC