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.

That is not exactly my understanding, although we may be simply using 
terminology slightly differently.

RDF is a language for making simple assertions about things (which 
can be anything, in principle). The primary intended purpose of 
RDF(S) is to provide for semantic markup of web pages to express 
content in a machine-usable form. It is essentially a small subset of 
a first-order logic. It can be, and is intended to be, used as a 
foundation for other, richer, languages which are extensions of RDF 
(and include RDF as sublanguages) but it is not accurate to describe 
this as using RDF to *define* other languages, since these other 
languages (including RDFS and OWL) in fact cannot be defined in RDF: 
they require extra semantic conditions which need to be stated 
explicitly in a specification document.

>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):

BUt it is not appropriate for RDF to incorporate such constraints and 
exclusions, and in fact avoiding any such constraints and exclusions 
was a design goal of the entire project. This is because one expects 
that an RDF(S) reasoner will be using content expressed in RDF(S) 
which comes from a variety of sources, written by different authors 
at different times and possibly from completely different parts of 
the planet. To impose any kind of global constraint or exclusions 
would therefore be likely to prevent useful inferences being made, 
since it is impossible to guarantee that the merged pieces of RDF 
will satisfy any such constraint; and in any case there would be 
little point in doing so since there would be no central authority to 
report any such 'error' to.

>*Not allowed to define a new "meta-class" (class of classes).

So any class of classes is a meta-class? That seems to me to be a 
very odd notion, particularly when there may be no way in general to 
tell if a class has other classes as its members.

>  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:

I am not sure what you mean by 'typically', but this does not 
correspond to the kind of ontology construction with which I am 
familiar. I do not think it would be appropriate for RDF to enforce 
this technique on all users.  However, I note that all the following 
can be done within the RDF(S) framework; that is, there is nothing in 
RDFS which *prevents* one from adopting this methodology. Do you 
agree?

>*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).

I find it hard to reconcile this assertion (with which I fully agree, 
by the way) with your above description of the typical ontology 
language. FOL does not impose any of the constraints or restrictions 
which you describe above.

>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!

Thanks for your reply. I am not sure if we are converging on an 
agreement, but I certainly feel like I understand your ideas better.

Pat Hayes
-- 
---------------------------------------------------------------------
IHMC					(850)434 8903 or (650)494 3973   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola              			(850)202 4440   fax
FL 32501           				(850)291 0667    cell
phayes@ai.uwf.edu	          http://www.coginst.uwf.edu/~phayes
s.pam@ai.uwf.edu   for spam

Received on Tuesday, 18 February 2003 18:22:50 UTC