Language Feature Comparison
The following table summarizes
differentiating language features available in XML, RDF, and DAML+OIL.
Please send comments/corrections/additions/other feedback to
webmaster@daml.org.
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
Restriction
s 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.12 2001/04/27 15:21:50 mdean Exp $