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

  1. RDF syntax, most notably in the use of lists in DAML+OIL.

  3. Arbitrary RDF cannot be used in OIL ontologies.

  5. OIL has concrete data types; concrete data types have yet to be defined for DAML+OIL.

  7. OIL has explicit "OIL" instances; DAML+OIL relies on RDF for instances.

  9. 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".

  11. 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:
  12.     <!-- Note that cardinality restrictions on transitive properties, or     -->
        <!-- properties with transitive sub-properties, compromise decidability. -->
  13. DAML+OIL has a "versionInfo" property; OIL has a (Dublin Core compliant) "container".

  15. DAML+OIL has an explicit "samePropertyAs" property; OIL can express this using rdfs:subPropertyOf.

  17. 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.

  19. 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".

  21. 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.

  23. 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.

  25. 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).

  27. 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 $