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.

Understood. Thanks!
As you pointed, the RDFS can be, is intended to be, used as a foundation for other, richer, languages which are extensions of RDF. 
My point is that the another role of the RDFS is as an ontology language, but the RDFS as an ontology language is not the full RDFS, it should be defined by some constraints. 

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

I tried to use these constraints to characterize the RDFS as an ontology language. It's also possible (maybe necessary) to give a subset of RDFS as an ontolofy language by constrainting the syntax. Suppose it's named as RDFS-ONT.

In most use cases, people and machines just use RDFS-ONT and other ontology languages such as OWL Lite and OWL DL. They needn't to specify a new class of classes, a new class of properties, a new property about classes or properties. If they really need these constructs, they should define these constructs in a new ontology language and publish it. 

Suppose an RDF engine gets an RDF document containing a specification for a new class of classes, or a new class of properties. The RDF engine can do some really useful inferences?  For example, the RDF engine is not OWL-aware, and the class is OWL:TransitiveProperty (a class of properties). The useful inferences depend on the ontology language being used and the awareness of the engine. 

To impose some suitable constraints (as in RDFS-ONT) is to get more, including clearness, simpleness and performance. Yes, it doesn't prevent people from using the RDFS to specify a new class of classes, or a new class of properties. But, it's not really useful to do so. 

In sum, the another role of the RDFS is like RDFS-ONT, a constrained version of the RDFS. In addition, the (or similar) constraints should be satisfied by the other ontology languages. 

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

In this context,a "meta-class" means a class of classes. A class is a class of classes iff it's an rdfs:subClassOf rdfs:Class. The rdf:type relationship can be used to tell if a class is a member of a "meta-class" .

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

I agree. 

The previous constraints are using an exclusion approach. Here I use an inclusion approach.
I tried to figure out what constructs an ontology language (such as RDFS-ONTO) should provide: 

*meta-classes
*property-classes
*properties about classes or properties

and how these constructs are used.

By the previous constraints, I tried to figure out what mechanism an ontology language (such as RDFS-ONTO) should not provide: the mechanism to define a new class of classes, a new class of properties, a new property about classes or properties. 

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

Thanks for your understanding, your response is very helpful!

Yuzhong Qu

> 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 Wednesday, 19 February 2003 06:37:59 UTC