- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Wed, 27 Feb 2008 20:00:07 +0000
- To: Matthew Pocock <matthew.pocock@ncl.ac.uk>
- Cc: public-owl-dev@w3.org
Matthew,
It sounds like you (roughly) want something like unit tests. Well a
bit more general than that, but it's similar in spirit.
I'd use annotations on the axioms. Then it's easy enough to flush out
the ones that should be verified rather than the ones that should be
used. Since this is only a development time matter (i.e., I presume
it doesn't matter to a shipping app that C subClassOf D is asserted
rather than inferred...in fact, having the asserted one is way faster!)
I've been wanting this for a while...so maybe I'll cook something up.
In particular, Matthew Horridge and I have been discussing a lint
tool that looked at all the justificaitons for all the subsumptions
and reported ones whose only explanation was the singleton set
contain itself. So, for example, suppose in some ontology O, the set
of justifications for C sub D was:
{{C sub D}}
The lint tool would raise a fuss ("Hey, you're a lazy modeller,
y'know?"). However, if the set were:
{{C sub D}
{C sub E. E sub D}}
It'd be fine.
Er..ok you say something weird I don't get:
"""Post-reasoning, for the ontology to be consistent, this assertion
MUST be
satisfied. If not, then there is a problem. However, this is weaker
in one
sense than asserting
subClass(uncle brother)
which would add this as a one of the input axioms of the reasoner,
potentially
raising an inconsistency if this clashes with other axioms. The
inferredSubClass axiom would only raise inconsistency if it is not
entailed
by the other axioms."""
Does this mean that if I had:
inferedSubClass(uncle, brother)
subClass(uncle, complementOf(brother)
and your other axioms, the ontology wouldn't be inconsistent? (That
introduces non-monotonicity, which is a different game...)
Cheers,
Bijan.
Received on Wednesday, 27 February 2008 19:58:21 UTC