Back to DAML homepage
Some Notes on the Differences Between DAML+OIL and OIL
Feedback to www-rdf-logic,
please.
Ian Horrocks (editor)
Contributors: Tim Berners-Lee, Dan Brickley, Dan Connolly, Mike Dean,
Stefan Decker, Frank van Harmelen, Pat Hayes, Jeff Heflin, Jim Hendler,
Deb McGuinness, Lynn Andrea Stein
-
RDF syntax, most notably in the use of lists in DAML+OIL.
-
Arbitrary RDF cannot be used in OIL ontologies.
-
OIL has concrete data types; concrete data types have yet to be defined
for DAML+OIL.
-
OIL has explicit "OIL" instances; DAML+OIL relies on RDF for instances.
-
OIL has better "backwards compatibility" with RDFS for defined (non-primitive)
concepts, as the subClassOf half of the two way implication is still accessible
to RDFS agents. DAML+OIL, on the other hand, requires more complex definitions
to be embedded in a boolean expressions using a list constructor which
will make their meaning opaque to applications that are not "DAML+OIL-aware".
-
In OIL a transitive property cannot be functional, nor can it (or any of
its superproperties) be used in a cardinality constraint. This restriction
is required in order for class consistency to be decidable. This restriction
does not apply to DAML+OIL, but to quote from daml+oil.daml:
<!-- Note that cardinality restrictions on transitive properties, or -->
<!-- properties with transitive sub-properties, compromise decidability. -->
-
DAML+OIL has a "versionInfo" property; OIL has a (Dublin Core compliant)
"container".
-
DAML+OIL has an explicit "samePropertyAs" property; OIL can express this
using rdfs:subPropertyOf.
-
DAML+OIL provides both a "disjointWith" property that can be used to assert
that two classes are disjoint and a "Disjoint" class that can be used to
assert pairwise disjointness amongst all the classes in a list. OIL simply
uses "disjoint" to assert disjointness amongst two or more classes.
-
DAML+OIL has no direct equivalent to OIL's "covered" axiom. However,
the same effect can be achieved using a combination of "unionOf" and "subClass".
-
In OIL the covered class is a subclass of the union of the covering classes
whereas in DAML+OIL the covered class is exactly equal to the union of
the covering classes. The converse effects can be achieved by using an
"equivalent" assertion in OIL and a combination of "disjointUnionOf" and
"subClass" in DAML+OIL.
-
OIL can assert equivalence between an arbitrary number of classes, whereas
DAML+OIL only allows equivalence to be asserted between two classes. However,
a corresponding effect can obviously be achieved by the use of multiple
"equivalentTo" assertions.
-
DAML+OIL currently does not support SymmetricProperty. However, the
same effect can be achieved simply by asserting that the property is a
subproperty of its inverse and vice versa (i.e., that the property and
its inverse are equivalent).
-
OIL does not support UnambiguousProperty. However, the same effect can
be achieved simply by asserting that the inverse of the property is functional.
$Revision: 1.2 $ of $Date: 2001/01/11 20:39:28 $