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 $