From W3C Wiki
Jump to: navigation, search

OWL plays some games with URI semantics, with OWL Full and OWL DL using the same URI vocabulary but with slightly different meaning.

For instance, the graph

    owl:Thing owl:equivalentClass owl:Nothing.

is consistent in OWL Lite and OWL DL but inconsistent in OWL Full. (For discussion on this odd fact, see webont IRC logs: issue raised and resolved.)

This is mostly okay because Full and DL have "concentric" semantics; everything entailed in DL is entailed in Full. Any graph inconsistent in Full is inconsistent in DL. Full is a strictly "larger" language.

What's clever about this is that an OWL reasoner with typical functionality will not reveal which semantics it is using; it will answer the same either way. A complete OWL DL entailment checker looks just like an incomplete OWL Full entailment checker. Since there are no complete OWL Full ones, this is just business as usual.

This has implications for GoodURIs (UnambiguousUri); it may be than some URI has eight different meanings in eight different logic languages, yet because the languages are concentric, everything still works okay. But really, you can think of it as having just one meaning, which is the meaning in the outer-most language. The semantics of the inner languages are just leaving out some details of the meaning, and that's okay. This is just another case of PartialUnderstanding.