Re: model-theoretic semantics for DAML-ONT

Perhaps a couple of clarification of the semantics that I sent out are
needed.

The semantics was written in ASCII text as a means of making it easy to
distribut.  This meant that I used words to describe things like disjoint,
intersection, etc., etc.  My intent was that these phrases have their usual
meaning in naive set theory.  The set theory is naive set theory, which is
all that is needed, as there is no set of sets, etc., required.  The
transliteration from words to symbols from set theory introduces no use of
anything like ``holds'' or ``type'' into the semantics.

I think that the semantics is thus as formal as would be required.  The
semantics covers almost all of DAML-ONT, missing only lists.  I don't see
how lists contribute to the semantics of DAML-ONT in any case.  (If someone
can say how they contribute, please let me know.)   If any other portion of
the semantics of DAML-ONT is missing, please let me know.

peter


Here is a slight revision of the semantics.   


		A Draft Model-Theoretic Semantics for DAML-ONT

Caveats:

This is only a draft of a semantics.  It may be missing some pieces that
people consider to be important.  It was developed to provide a different
semantics for DAML-ONT than given in the Axiomatic Semantics.
This draft may not completely conform to the DAML-ONT and RDF syntax.

Also, this semantics is not to be read as support for the constructs of
DAML-ONT or their intended meaning.  It is simply a method of providing
a semantics that captures one possible (hopefully the intended) meaning of
DAML-ONT constructs.

The semantics is written without using the usual symbols of set theory.
This does not mean that it is informal, however, as there is a direct
mapping from the wording herein to the set theory symbols.

Basic Assumptions:

A DAML-ONT knowledge base is a collection of RDF triples.  Some of these
triples are relevant to DAML-ONT and some are not.  This semantics
currently only treats the triples that are obviously relevant to DAML-ONT
and ignores the rest.  

This document says nothing about how the collection of RDF triples is
obtained.  Thus it has nothing to do with the meaning of Ontology or
versionInfo or imports.  This document ignores all aspects of naming and
importing.  It uses the ID of an RDF node as an identifier for the node.

Semantics:

The semantics uses a domain of discourse, DD, which is the collection of
all DAML-ONT individuals.  The semantics assigns a meaning to various
syntactic constructs by means of several interpretation functions, namely
	IC, which maps classes (nodes) into subsets of DD
	IO, which maps individuals (nodes) into elements of DD
	IR, which maps relationships (nodes) into subsets of DD x DD
There currently is no unique name assumption.  The means of asserting
equality between individuals is via equivalentTo, which may not be the
intended meaning.

The semantics is specified via a collection of semantic rules, most of
which trigger on the presence of certain kinds of triples in the KB.  Such
rules have formal parameters signified by means of a leading ?.  A semantic
structure <DD,IC,IO,IR> is a model for a DAML-ONT KB if the consequences of
all applicable rule instantiations in the KB are true in the structure.
Abbreviated syntax is used in some places, such as for lists.


Let KB be a DAML-ONT KB in the form of a collection of RDF triples.

If <type,?C,CLASS> is in KB then IC(?C) is a subset of DD.
	(Yes, this is redundant.)

If <type,?R,PROPERTY> is in KB then IR(?R) is a subset of DD x DD
	(Yes, this is redundant.)

If <?R,?O1,?O2> is in KB then <IO(?O1),IO(?O2)> is in IR(?R).

If <subClassOf,?C,?D> is in KB then IC(?C) is a subset of IC(?D)

If <subPropertyOf,?R,?S> is in KB then IR(?R) is a subset of IR(?S)


IC(Thing) = DD

IC(Nothing) is the empty set

If <disjointWith,?X,?Y> is in KB then IC(?X) and IC(?Y) are disjoint.

If <type,[?X1,...,?Xn],Disjoint> is in KB then IC(?Xi) and IC(?Xj) are disjoint
for i different from j.

If <unionOf,?C,[?X1,...,?Xn]> is in KB then IC(?C) is the union of the IC(?Xi).

If <disjointUnionOf,?C,[?X1,...,?Xn]> is in KB then IC(?C) is the union of
the IC(?Xi) and IC(?Xi) and IC(?Xj) are disjoint for i different from j.

If <intersectionOf,?C,[?X1,...,?Xn]> is in KB then IC(?C) is the
intersection of the IC(?Xi). 

If <complementOf,?X,?Y> is in KB then IC(?X) and IC(?Y) are disjoint and
their union is DD.

NB: List is ignored for now.

If <oneOf,?C,[?O1,...,?On]> is in KB then IC(?C) = { IO(?O1), ..., IO(?On) }

If <domain,?R,?C> is in KB then if <x,y> is in IR(?R) then x is in IR(?C)
NB: This does not conform to the definition of domain in RDF for multiple
domains!

If <range,?R,?C> is in KB then if <x,y> is in IR(?R) then y is in IR(?C)
NB: RDF does not allow multiple ranges.

If <cardinality,?R,?n> is in KB 
and x is in IC(?C) for each ?C such that <domain,?R,?C> is in KB
then there are n distinct y in DD such that <x,y> is in IR(?R)

If <minCardinality,?R,?n> is in KB 
and x is in IC(?C) for each ?C such that <domain,?R,?C> is in KB
then there are at least n distinct y in DD such that <x,y> is in IR(?R)

NB:  This semantics for cardinality and minCardinality has certain negative
interactions with range restrictions on inverses.  It also has a certain
autoepistemic flavour, which is probably not a good idea.  A different
reading for cardinality and minCardinality may be needed.

NB:  This semantics for cardinality and minCardinality differs from the
semantics in the axiomatic semantics.  I feel that is is closer to the
intended meaning than the one in the axiomatic semantics.

If <maxCardinality,?R,?n> is in KB 
then for any x in DD there are at most n distinct y in DD such that <x,y>
is in IR(?R) 

If <inverseOf,?R,?S> is in KB then if <x,y> is in IR(?R) then <y,x> is in IR(?S)

If <type,?R,TransitiveProperty> is in KB then if <x,y> and <y,z> are in IR(?R) 
then <x,z> is in IR(?R)

If <type,?R,UniqueProperty> is in KB then if <x,y> and <x,z> are in IR(?R)
then y=z

If <type,?R,UnambiguousProperty> is in KB then if <x,y> and <z,y> are in IR(?R)
then x=z

NB: Restriction and Qualification are not needed in the semantics.

If <restrictedBy,?C,?N> and <onProperty,?N,?R> and <toValue,?N,?V> are in KB
then if x is in IC(?C) then <x,IO(?V)> is in IR(?R)

If <restrictedBy,?C,?N> and <onProperty,?N,?R> and <toClass,?N,?D> are in KB
then if x is in IC(?C) and <x,y> is in IR(?R) then y is in IC(?D)

If <qualifiedBy,?C,?N> and <onProperty,?N,?R> and <hasValue,?N,?D> are in KB
then if x is in IC(?C) 
then there is some y such that y is in IC(?D) and <x,y> is in IR(?R)

If <equivalentTo,?C,?D> is in KB then IC(?C) = IC(?D), IR(?C) = IR(?D), and
IO(?C)= IO(?D).

NB:  This reading of equivalentTo is a very strong one as it identifies ?C
and ?D as classes, properties, and objects.

Received on Thursday, 16 November 2000 16:34:04 UTC