Re: A Model Theoretic Semantics for DAML-ONT

Dan Connolly wrote:
> 
> Crud! I reviewed this thing in detail, but lost
> it to a crash.

OK, I think I reconstructed my notes...


* title is misleading; suggestion:
	An axiomatic specification of DAML-ONT


* clarification: this seems to imply (Thing 1)
and (Thing "abc") and (Thing ^(1 2 3)),
i.e. that everything in the KIF
universe of discourse (integers, strings, lists etc.)
is a daml:Thing:

| %% Every object is an instance of Thing.
| (Thing ?x)

If that's what you had in mind, please be explicit.
I think it's also what I had in mind, but it
seems quite different from the OIL semantics.

* How do we avoid Russel's paradox.

It seems easy enough to run into; just define A
ala:
	(<=> (A ?x) (not (holds ?x ?x))

then, assuming (holds P X) can be used
interchangeably with (P X), we have:

(A A)       => (not (holds A A)) => (not (A A)) !
(not (A A)) => (not (holds A A)) => (A A) !

Is there some restriction which avoids
the above definition of A?

* This looks like overspecification:

| %% Classes that are disjointWith have no instances in common,
| and at least one of the classes has an instance.

where do you get the last bit? Surely it's the case that
(disjointWith Nothing Nothing), no?

* Oops... this is a bug in daml-ont.daml:

| %% ?Empty? and ?Nothing? are the same class.

Empty is supposed to be the empty list, not
a synonym for Nothing.

* Oops... another daml-ont.daml bug:

| %% Note: There is no definition of ?asClass? in the spec. 

I think asClass is the same thing as oneOf
(or maybe its inverse); i.e. it turns
a list into a class.

* Umm...

| %% The second argument of ?cardinality? is a non-negative integer.

actually, the second argument of cardinality is a string
that denotes a non-negative integer, I'm afraid.

* Yikes!

| Note that this formulation assumes a finite number of second
| arguments for a given property and first argument.

That seems like a hasty limitation!

* This follows the bogus interpretation of rdfs:domain:

| %% The first argument of onProperty is a restriction or a
| qualification.
| (=> (onProperty ?rq ?p) (or (Restriction ?rq) (Qualification ?rq)))

Following your own specification for domain below, this should be:

 (=> (onProperty ?rq ?p) (Restriction ?rq) )
 (=> (onProperty ?rq ?p) (Qualification ?rq) )

i.e.

 (=> (onProperty ?rq ?p) (and (Restriction ?rq) (Qualification ?rq) ) )

in fact, Restriction and Qualification might be different
names for the same class; I hope to get rid of one of them.


* Indeed, another daml-ont.daml bug:

| %% Note: We are assuming the range restriction given above for
| toValue is wrong and that anything can be the second argument of
toValue. 

* This is perhaps overspecification:

| %% Both arguments of ?imports? are ontologies.

In general, any document can import another document.
But there's nothing to say that the class of ontologies
is any smaller than the class of documents, so perhaps
it doesn't matter.

* Indeed, another daml-ont.daml bug:

| %% Note: ?equivalentTo? is a subproperty of ?subPropertyOf? only
| when the arguments are properties, and is a subproperty of
| ?subClassOf? only when the arguments are classes.



> Deborah McGuinness wrote:
> [...]
> > The document is attached here as a word document and is also available
> > off of the knowledge systems laboratory's DAML page:
> > http://www.ksl.Stanford.EDU/projects/daml/
> > or directly available from:
> > http://www.ksl.Stanford.EDU/people/dlm/DAML-Ont-kif-axioms-001107.doc

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/

Received on Tuesday, 14 November 2000 01:06:26 UTC