Language Feature Comparison

The following table summarizes differentiating language features available in XML, RDF, DAML+OIL, and OWL. Please send comments/corrections/additions/other feedback to [email protected].

Discussion

  • bounded lists
    • rdf:Seq and rdf:Bag don't provide any indication that the list is complete (e.g. "these are 5 children of X" vs. "X is known to have exactly these 5 children")
    • DAML uses a first/rest structure to represent unordered bounded lists, with nil representing the end of the list
    • rdf:parseType="daml:collection" provides a shorthand and RDF syntax compatibility
  • cardinality constraints
    • limit the number of statements with the same subject and predicate
    • the Kleene operators ? (0 or 1), * (0+), and + (1+) in XML DTD provide basic cardinality constraints
    • DAML supports cardinality, minCardinality, and maxCardinality
  • class expressions
    • wherever a Class is referenced, DAML+OIL also allows an expression involving unionOf, disjointUnionOf, intersectionOf, or complementOf
  • data types
    • RDF Literals are essentially strings
    • DAML+OIL (March 2001) adds XML Schema data types
  • defined classes
    • DAML allows new classes to be defined based on property values or other restrictions of an existing class (e.g. Child is a Person with age < 18) or class expressions.
  • enumerations
    • XML DTD allows specification of a restricted set of values for a given attribute
    • DAML provides oneOf
  • equivalence
    • to support reasoning across ontologies and knowledge bases, DAML supports equivalentTo for classes, properties, and instances
    • additional mapping constructs may be added to future versions of DAML
  • extensibility
    • RDF and DAML allow new Properties to used with existing Classes
    • RDF has been used to define DAML+OIL
    • DAML+OIL may similarly be used to define future languages such as DAML-Logic
  • formal semantics
  • inheritance
    • XML Schema attribute groups formalize DTD use of parameter entities in attribute definitions, but this isn't full inheritance
    • RDF and DAML support subClassOf and subPropertyOf
  • inference
    • DAML+OIL constructs such as TransitiveProperty, UnambiguousProperty, inverseOf, and disjointWith provide additional information for reasoning engines
    • future versions of DAML are expected to support rules, proof-checking, etc.
  • local restrictions
    • RDF associates domain and range constraints with a Property
    • DAML allows Restrictions to be associated with a Class/Property pair, e.g. allowing the color property to be used for the Car and Eye classes with different domains
  • qualified constraints
    • DAML restrictions allow expressions such as "all children of X are of type Person"
    • the DAML properties hasClassQ, cardinalityQ, minCardinalityQ, and maxCardinalityQ allow qualified restrictions such as "at most 3 of the children of X are of type Doctor"
  • reification
    • RDF and DAML allow a statement to be the subject of another statement
    • reification provides a standard mechanism for recording data sources, timestamps, etc. without intruding on the data model
    • the DAML+OIL semantics do not currently cover reification
    • in its initial discussions on reification, the Joint Committee has found it useful to distinguish "tagging" (making statements about asserted statements, e.g. source, timestamp, etc.) from "quoting" (making statements about unasserted statements)


$Id: features.html,v 1.13 2002/08/06 05:55:18 mdean Exp $