Re: Extending daml+oil with concrete datatypes

Ian,

There is one thing that bothers me about your proposal: the need to have
a set of restrictions for data types that mirrors those for classes
(i.e., the toDataType, hasDataType, hasDataTypeQ, hasDataValue and
onConcreteProperty properties mirror the existing DAML properties
toClass, hasClass, hasClassQ, hasValue, and onProperty). At any rate,
the proposal seems to imply that whenever we add a special semantic
"property" to the language we will have to create both ordinary and
concrete versions of it. This could get rather cumbersome as the DAML
language is expanded.

I noticed in daml+oil+concreate.daml that ConcreteProperty is already a
subclass of rdfs:Property, which effectively eliminates the need for an
onConcreteProperty property (since the range of onProperty is Property).
What is we also add a class called DataType that is a subclass of
rdfs:Class? That is:

<rdf:Description rdf:ID="DataType">
  <rdfs:subClassOf="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>

where the range of any particular ConcreteProperty must be a DataType.
If useful, you could also add AbstractClass which is disjoint with
DataType.

Now, since DataTypes are Classes, we should be able to use DataTypes in
the domains of toClass, hasClass, etc., while still being able to
distinguish between "ordinary" classes and data types (since all data
types are instances of DataType). This seems more natural to me than
having to come up with a whole new set of semantic primitives (such as
hasDataType, toDataType, etc.) for data types. Also note that the model
theoretic semantics are relatively unchanged by this (since your
proposed semantics for toDataType are already identical to those of
toClass, and the same is true for the other pairs of properties as
well).

One problem with my suggestion is that someone may attempt to define an
instance of a particular data type or place ad hoc constraints on a data
type (things I believe you were trying to prohibit syntactically with
your proposal). We could say such constructs are undefined, allowing
most systems to effectively ignore such messy stuff, although some
theorem provers may still be able to make some use of it.

Jeff


Ian Horrocks wrote:
> 
> An outline proposal for extending daml+oil with concrete datatypes can
> be found at:
> 
>    http://www.cs.man.ac.uk/~horrocks/DAML+OIL/Datatypes/
> 
> Comments welcome.
> 
> Ian Horrocks and Peter Patel-Schneider

Received on Monday, 22 January 2001 16:09:42 UTC