W3C home > Mailing lists > Public > www-webont-wg@w3.org > October 2002

Addendum to OWL Lite Proposal - DisjointWith, oneOf

From: Raphael Volz <volz@aifb.uni-karlsruhe.de>
Date: Sat, 5 Oct 2002 22:45:19 +0200
To: "Webont" <www-webont-wg@w3.org>
Cc: "ls3" <ls3@aifb.uni-karlsruhe.de>
Message-ID: <DMECLAFLIOFJEFFIAJPCGEMLDAAA.volz@aifb.uni-karlsruhe.de>
Hi -

I forgot to mention disjointWith, which is not problematic and can be
My assumption on oneOf (in the reply to Dan's mail was wrong), it is fully
in the revised document, why I was wrong.

So we have: 22. disjointWith

Here is the delta to the old version to simplify reading :

5.4.4 Construction of classes by enumeration

This is can be problematic,since we cannot disallow using predicates in
However,we can support the construction of classes via enumeration with the
chosen representation under certain circumstances.

A ”trick “can build on the fact that the enumerated individuals are usually
assigned to the enumerated class via the OWL collection mechanism and not
the rdf:type predicate.They become instances of the enumerated class through
the following rule pattern:

C(X) : ?oneOf(c,L) , member(L,X).

Let us assume that individuals can only be assigned this way.Then we can
control the closure of the enumeration via the following rules.

type(X,C) : ?type(X,D) , subClassOf(D,C).
inconsistent(C, L) : ?oneOf(C,L) , type(Y,C).

This disallows that the enumerated class has any nonempty subclasses and
allows that there is any explicit assignment of individuals to the
The latter assumption is too strong.Since this would raise inconsistencies
even if the knowledge base is consistent.For example,the following
of Boolean would mistakenly trigger an inconsistency:

<Class rdf:ID="Boolean">
 <oneOf owl:parseType="collection">
  <myDoc:Boolean rdf:about="#true"/>
  <myDoc:Boolean rdf:about="#false"/>

The problem is that the class itself is used in a type statement.This
can be solved via use of negation in rules only.

5.4.5 Disjointness of classes

The pairwise disjointness of two classes can be expressed using the
constructor.It guarantees that there exists no individual that is member of
classes.The following rule pattern captures this:

inconsistent(C,D) :? disjointWith (C,D) , type(X,C) , type(X,D).

Sorry for the inconvenience,

attached you find the updated version of the document.



Raphael Volz, University of Karlsruhe - http://www.uni-karlsruhe.de/WBS/rvo/

Received on Saturday, 5 October 2002 16:48:00 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:56:48 UTC