I'm currently reading Hendler's brilliant book "Semantic Web for the
Working Ontologist". It really drove home the point that OWL is not a
good fit when using RDF for *data* (names are generally not unique,
open world assumption, ...).
But what is the alternative? For my applications, I have the following
requirements:
- Properties: transitivity, inverse, sub-properties.
- Resources, classes: equivalence. For my purposes, equivalence is a
way of implementing the topic merging in topic maps [1].
- Constraints for integrity checking.
- Schema declaration: partially overlaps with constraints, serves for
documentation and for providing default values for properties.
- Computed property values: for example, one property value being the
concatenation of two other property values etc.
The difficulty seems to me to find something universal that fulfills
these requirements and is still easy to understand. Inference, when
used for transitivity and equivalence, is simple, but when it comes to
editing RDF, they can confound the user: Why can some triples be
replaced, others not? Why do I have to replace the triples of a
different instance if I want to replace the triples in my instance?
While it's not necessarily easier to understand for end users, I've
always found Prolog easy to understand, where OWL is more of a
challenge.
So what solutions are out there? I would prefer description logic
programming to OWL. Does Prolog-like backward-chaining make sense for
RDF? If so, how would it be combined with SPARQL; or would it replace
it? Or maybe something frame-based?
Am I making sense? I would appreciate any pointers, hints and insights.
Axel
[1] http://www.topicmaps.org/xtm/index.html#desc-merging
--
[email protected]
http://www.pst.ifi.lmu.de/~rauschma/