Please excuse the cross posting to both Protege forums. I would like to
know precisely where this discussion belongs; but perhaps it belongs to both
the Protege-Discussion (which is supported to be about protege-frames
(derived from CLIPS but not derived from KIF), and Protege-Owl - which is
specific to Owl. Advise on how to address both forums is requested. (You
can post this privately to me.)
Just for clarification. An class instance of a class, A, is not the same as
a sub-class of class A.
Is this true? I do not always get these types of things correct.
I think that it is ture, according to "all" ? descriptive logics.
This turns out to be an important feature of the DL based ontologies. The
paradigm is often that individuals are treated quite differently than
"classes". This seems correct, from one point of view. However, the nature
of ... hum.. this goes into something called natural category theory, but
perhaps I can say this right.
The nature of "natural category" formation (such as in cell, gene or social
expression) and the nature of linguistic category formation (which is
derivitive of the other forms of biological expression) treats instances of
a particular in two ways; first as the thing itself and second as part of a
"system" of functional types related to the role that the instance plays in
a specific instance. This is called "double articulation" in linguistics,
and degeneracy in cell and gene signal pathway expression. My group is
working on a means based on Soviet era "applied semiotics" for a
n-articulated ontological framework.
But, and this is important if the work on "n-articulated ontology" is to be
understood... the DL based ontologies create a spable "finite state
machine" where some aspects not achievable in the object oriented data
object definitions cannot achieve. So in principle, the n-articilated
ontological framework should produce a DL based ontology, and the
translation of a DL based ontology to a object oriented data object (or
system of objects like the SOA IM).
<end side remark>
I appologize if I said this poorly. Clearly issues now being worked on
regarding the goals of a web service request must take n-articulation into
so back to the class instance discussion.
There is no doubt that DL based ontology has to have some ackwardness if it
is to remain true to descriptive logics. The issue that many of us are
addressing is the translation of data specifications made in UML and object
oriented type information models and standards (such as the ISO 11179 and
the SOA - IM). The larger issue is the development of control interfaces
using information model based standards when DL based ontological models are
In this case, one has to ask what is "something", that is instanced. What
is the meaning of something that is defined as an instance. Functionally,
anything "specific", ie an instance, that serves a purpose is in fact both
an instance and treated as if a class, ie a category. The nature of
"serving a purpose"
This is precisely where the structure to function relationship arise, with
the many to many mapping in natural systems. In gene and cell expression
ontology this many to many expression property is called "degeneracy" by
leading scientists, such as Gerald Edelman.
Andrea's assistance in teasing out the properties of RDF, RDFS, and the DL
based ontology is very valable to all of us. Of course protege frames is a
DL (descriptive logic) based ontology , as is the three or four forms of OWL
(Lite, DL, Full, and S ?)
From: [hidden email] [mailto:[hidden email]]On Behalf Of Andrea Proli
Sent: Monday, February 13, 2006 5:26 AM
To: [hidden email] Subject: [protege-owl] Re: RDF, OWL and Protege frames - thank you
I am afraid the important issues here can not be explained in a few words
because it seems to me that you are a little confused and you probably
would need an extended answer, which unfortunately I do not have time to
write at the moment. But still, I try to give you an intuitive explanation
through an example.
Consider the differences between owl:Class and rdfs:Class. OWL "overrides"
the rdfs:Class resource by additionally defining an owl:Class resource
(though, it would better be qualified as "owl-dl:Class" in my humble
opinion) because not all RDFS classes are valid OWL classes, and this is
due to the fact, among the others, that classes in RDFS can be instances
of other classes, while in OWL-DL and OWL-lite this is forbidden. Thus,
there is a precise motivation to specialize rdfs:Class by means of
"owl:Class is defined as a subclass of rdfs:Class. The rationale for
having a separate OWL class construct lies in the restrictions on OWL DL
(and thus also on OWL Lite), which imply that not all RDFS classes are
legal OWL DL classes. In OWL Full these restrictions do not exist and
therefore owl:Class and rdfs:Class are equivalent in OWL Full."
Instead, the subclass relationship as defined by RDFS (rdfs:subclassof) is
neither too powerful for OWL (as the rdfs:Class resource is) neither too
poor, indeed its semantics ("A is a subclass of B if and only if the set
of individuals ext(A) denoted by A is a subset of the set of individuals
ext(B) denoted by B) remains applicable and unchanged, no matter whether A
and B are "rdfs:Class"es or "owl:Class"es. Thus, there is no need to
introduce a specialized "owl:subclassOf" property and this is why, indeed,
such a specialized property does not exist.
In general, the reason why you have an "owl:" version for some resources,
and not for some others, is that in some cases the original ones are not
"suited" for OWL (rdfs:Class, for instance, is too "powerful", it has too
few semantic conditions attach and does not constrain the legal
interpretation to a degree that is compatible with the definition of a
"Class" in OWL).
Another important thing in answering your questions is the following: you
should not deduce that you are "using OWL" from the mere fact that the
"owl:" prefix appears in your document, and viceversa you should not think
that in order to "use OWL" you need to add "owl:" prefix somewhere in your
document. Your document, "a priori", is just a set of statements written
in RDF syntax with resource names coming from a given vocabulary (say OWL,
RDFS, no matter what ...). It is the fact that *the program you use to
answer your questions over that document* is aware of the semantic
conditions attached to those terms by the definition of OWL, or RDFS, etc,
and produces entailments according to those conditions, that really tells
you that OWL is being "used". The source of confusion might be that it is
often implicitly assume that documents containing a resource name coming
from the "owl:" namespace are "reasoned" over by OWL-aware programs.
So, in the end, the answer to your question "If I want to get the full use
of Owl advantages is there a need to also use RDF/RDFS properties in the
ontology?" is "no".
I'm not sure whether this post was clear enough, so if you have some
refined questions I will try to answer in the best way I can.
On Mon, 13 Feb 2006 12:06:06 +0100, Raj M Verma <[hidden email]>
> the discussion between Andrea and Paul on Owl/RDF/RDFS properties is
> very informative... I wud like to ask one more question regarding the
> relation amoung these three different types of properties...
> In the Pizza Ontology, most of the properties are of the Owl type, but
> "subClassOf" properties is of the RDFS type... why is this so? is it
> there is no possibility of using "owl:subClassOf" property, or is there
> advantage of using this rdfs type for "subClassOf" property even if
> there is
> a possibility of using "owl:subClassOf"?
> If I want to get the full use of Owl advantages is there a need to also
> RDF/RDFS properties in the ontology?