OWL Language features:
general line of attack & a first sketch
Frank van Harmelen
Ian Horrocks
This short note (about 2 pgs) is meant to set the direction for the
discussion on language features.
CONTENTS
- First a few general remarks:
- Resulting in a concrete suggestion:
- Finished by next steps to take:
SUMMARY
- OWL should have a frame-style part (for easy idiomatic usage)
as well as a DAML+OIL/DL-style axiomatic part (for high expressiveness)
- The frame-part would consist of (roughly):
- Datatypes, cardinalities, oneOf, conjunction
- Inverse, transitivity
- disjointness axioms, (in)equalities of names
- The axiomatic part would be close to DAML+OIL expressiveness
and include (again roughly):
- quantifications (hasClass, hasValue, toClass), negation,
disjunction, qualified cardinalities
- general subsumption axioms with complex expressions on both side
of the subclassOf symbol.
LANGUAGE FEATURES, NOT SYNTAX:
The focus group should discuss first which
features/expressiveness/constructs OWL should have. This discussion
should be separate from what syntactic form each of these should have,
or even the specific syntactic form of the language as a whole. Syntax
can be designed last, not first. Actually, we expect that a single
syntax won't do. We will need at least two: one RDF-based syntax (for
machines) and one presentation syntax readable for humans (taking lesson
from OIL), and probably also an XML-DTD based syntax.
DISTINGUISH LANGUAGE CONSTRUCTIONS FROM THE UNDERLYING LOGIC.
The language constructions should provide good support for idiomatic
expressions that occur often in practice; the underlying logic consists
of (typically much smaller) atomic constructions with nice mathematical
properties. Of course, the idioms should be translatable into the logic.
Examples of such idiom are:
- a frame with slots
- slots that are optional or required
- slots that are multivalued or singlevalued
- local range restriction on slots
- unique properties, uniquely-identifying properties ("unambiguousProperty")
- etc
Translation of these idioms into the logic might result in e.g.
- a non-optional multivalued slot with a specified range corresponds to
hasClass + toClass
- a non-optional singlevalued slot with a specified range corresponds to
hasClass + cardinality=1,
- etc.
OWL should have a stronger idiomatic vocabulary than DAML+OIL
(which already has some, but not much)
LOW THRESHOLD, HIGH CEILING
On the one hand, we want to make a language that is easy to use for most,
on the other hand we don't want to limit the sophistication of some.
This could be achieved by a better separation of things that are
easy from things that are hard.
Note: easy/hard refers to "easy to understand by our target group",
perhaps also to "easy to implement in a variety of tools" (editors,
storage, browser/visualisors), and least of all to "low complexity class
for a reasoner") In fact it is quite possible that the "easy" part of
the language might formally have the same expressive power and
complexity as the full language.
A first stab:
The following are considered "easy":
- Datatypes, cardinalities, oneOf, conjunction
- Inverse, transitivity
- disjointness axioms, (in)equalities of names
The following are considered "hard":
- quantifications (hasClass, hasValue, toClass), negation,
disjunction, qualified cardinalities
- general subsumption axioms with complex expressions on both side
of the subclassOf symbol
FRAMES VS. AXIOMS
One way of obtaining "low threshold, high ceiling" is to have two parts to the
language: a frame-based part, and an axiom-based part (for want of a better
term).
- In the frame-based part, expressions are limited to the idiom and the
easy constructions, e.g., no quantification (besides of course
implicitly through idiomatic expressions), no boolean connectives
(besides implicitly through idiomatic expressions)
- In the axiomatic part, people would be free to use DL-style axioms with
arbitrary class-expressions on either side of a subsumption symbol.
The expressiveness of the frame-style part of the language may be less
than that of the axiomatic part, but probably not much less.
RELATION TO DAML+OIL
The above proposal takes DAML+OIL as its basis (as per our charter).
The expressiveness of OWL will be close (if not: equal) to DAML+OIL.
The aove proposal extends DAML+OIL in order to provide a lower step-in
threshold (which is
perceived to be too high for DAML+OIL). Another extension is to
provide a human-readable presentation syntax besides an RDF/XML-based syntax.
NEXT STEPS TO TAKE:
-
collect idiom for inclusion in the language
This should be based on
- experience with DAML+OIL
- our use-cases
- experience with earlier ontology/KR-languages
-
deal with other requirements/objectives
The above focusses mostly on the ontological expressiveness of the
language, and not really at requirements like tagging, importing
ontologies, etc. These should (of course) be dealt with.
(but hey, this was only a first step:-)