Language Feature Comparison (original) (raw)
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].
XML DTD | XML Schema | RDF(S) | DAML+OIL | RDF(S) 2002 | OWL |
---|---|---|---|---|---|
bounded lists | X | X | X | ||
cardinality constraints | X | X | X | X | |
class expressions | X | X | |||
data types | X | X | ? | X | |
defined classes | X | X | |||
enumerations | X | X | X | X | |
equivalence | X | X | |||
extensibility | X | X | X | X | |
formal semantics | X | X | X | ||
inheritance | X | X | X | X | |
inference | X | X | |||
local restrictions | X | X | |||
qualified constraints | X | ||||
reification | X | X | X | X |
Discussion
- bounded lists
rdf:Seq
andrdf: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
, andmaxCardinality
- class expressions
- wherever a Class is referenced, DAML+OIL also allows an expression involving
unionOf
,disjointUnionOf
,intersectionOf
, orcomplementOf
- wherever a Class is referenced, DAML+OIL also allows an expression involving
- 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
- to support reasoning across ontologies and knowledge bases, DAML supports
- 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
- DAML+OIL semantics have been expressed in bothmodel-theoretic andaxiomatic forms
- 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
andsubPropertyOf
- inference
- DAML+OIL constructs such as
TransitiveProperty
,UnambiguousProperty
,inverseOf
, anddisjointWith
provide additional information for reasoning engines - future versions of DAML are expected to support rules, proof-checking, etc.
- DAML+OIL constructs such as
- local restrictions
- RDF associates
domain
andrange
constraints with a Property - DAML allows
Restriction
s to be associated with a Class/Property pair, e.g. allowing thecolor
property to be used for theCar
andEye
classes with different domains
- RDF associates
- qualified constraints
- DAML restrictions allow expressions such as "all children of X are of type Person"
- the DAML properties
hasClassQ
,cardinalityQ
,minCardinalityQ
, andmaxCardinalityQ
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, theJoint 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,v1.132002/08/0605:55:18mdeanExpId: features.html,v 1.13 2002/08/06 05:55:18 mdean Exp Id:features.html,v1.132002/08/0605:55:18mdeanExp