Re: Saying anything about anything: Comments on Harle & Fensel

At 12:04 PM 12/29/1999 -0800, Stefan Decker wrote:

> I would like to say:
> a) hasChild : Domain: dog -> Range: dog
>     hasChild : Domain: human -> Range: human
> hasChild describes a "Role" which can have different ranges
> for different domains.

I think of this in the following way:

- there is a relationship (a property) whose semantics are described
  roughly as "has a child".

- this relationship can be specialized to apply to instances of
  dogs and to instances of humans.

- when specialized to dogs, it is not exactly the same relationship
  as when specialized to humans even though these two relationships
  share many features.

This is standard O-O stuff.  Part of your complaint has to do
with naming; in RDF all names have global scope.  But as Jonas
Liljegren properly reminds us in
the true name of an RDF property is a full URI.  Just as in
any O-O system -- it seems to permit you to reuse names across
classes but the fully qualified name is actually constructed
using additonal information such as the class hierarchy.
While most O-O systems have a syntactic convience that allows,
e.g., "this->" to be omitted, the fully qualified name for a
class method or variable is always unambiguously defined.
Such naming conveniences have a lot to do with the syntax in
which expressions are written.  XML does not (yet) have the
sorts of name constructors that O-O systems have.  XML
Namespaces are the closest thing provided by XML -- and the
RDF XML encoding uses them heavily.  Putting the class
qualification into the namespace URI is a simple transformation
and precisely matches the usage in traditional O-O systems.

In fact, a significant oversight I find in Harmelen & Fensel
is the reference in 4.2 to DTDs as being "the closest thing
that XML offers for ontological modelling".  While this is
strictly true of XML 1.0, most of us find XML 1.0 by itself
uninteresting; we should be talking about XML 1.0 with Namespaces.
And XML Namespaces are very much all about ontological precision.

The hasChild example is a natural one for multiple inheritance.
The dog.hasChild property is necessarily different from the
human.hasChild property because the domains and ranges are
different.  However, the common features are easily abstracted
in a third property, say animal.hasChild. The RDF Schema
vocabulary gives us the tools to say explicitly what the
relationship is between each of the *.hasChild properties
and thus to allow inferencing in the way you desire.

But the core question here has more to do with "saying anything
about anything".  Where traditional O-O systems make it easy
to write short expressions without fully qualified names, they
at the same time make it more difficult for persons who are not
the class definer to add methods and variables and to write
expressions using these additional resources that are just as
convenient to use as the ones anticipated by the class designer.
Indeed, they often go the opposite direction and allow class
definitions to be sealed.  What you see as a feature -- that
class centric systems use the class to limit the scope of names
by default -- I see as a detriment; if the semantics of some
property in another ontology are precisely what I want to
express, I want to be able to use that property directly
and not have to fuss with creating a new schema that somehow
imports that other definition and makes it available within
my own class.  (XML Schema may, btw, add such class-oriented
features to XML, in which case it would be appropriate to
investigate how to take advantage of them with RDF expressions).

I want to avoid the situation in which the Semantic Web has an
artificial separation between those classes and properties
that were conceived by the original designer and classes and
properties that are later added by others.  I want the
Semantic Web to be able to grow new links that are co-equal
in every respect as we discover new knowledge about the world.
We have been willing to dispense with some amount of syntactic
convenience and require explicit expression of subClassOf and
subPropertyOf relationships in order to accomplish this.

Regarding Tim's comment about Harmelen & Fensel's suggestions
on extending HTML META and CSS in (2.1), you also remarked in
> BTW: I can't see why the suggestions is "frightful"....

One reason is that this effort to stuff new semantics into
existing syntax ignores the practicality of Web deployment.
If we were going to try to improve HTML META, it would at
least be better to propose a new attribute and not reuse
content= (this has been discussed elsewhere).  One thing we
learn from O-O systems is to be careful about the stability of
interfaces and to be cautious about the impact of overloading.
There are other issues with HTML META, however, including the
lack of a way to specify multiple ontologies.  Similar
objections apply to the suggestions for squeezing more into
the existing CSS syntax.  I don't know whether any of this was
what was in Tim's mind when he wrote that comment.


Received on Wednesday, 5 January 2000 19:43:27 UTC