Thursday, March 31, 2005

More Cardinality
After prototypo's comment I thought that I should try to be clearer in my criticism of owl:minCardinality.

A system will always be in two of four states. It can be valid or invalid, and it can be consistent or inconsistent. A valid system is true under every possible interpretation, while an invalid system has at least one interpretation where it is not true. An inconsistent system is false under every possible interpretation, while a consistent system has at least one interpretation where it is true.

With the open world assumption there are always going to be a lot of interpretations open to us. We cannot tell a user that the data has a problem until we know that the data cannot possibly be right. This means that we want our system to be consistent, so we have to report an inconsistent system. Invalid systems are fine, as they could well evaluate to true, depending on future data. Of course, valid systems are also OK, as they always evaluate to true.

If we can prove inconsistency, then we can report the problem, and Kowari will be done.

The problem is that owl:minCardinality statements will always be consistent in an open world. On occasion they will even be valid (when all the objects are owl:differentFrom each other). So what is the point of statements with the owl:minCardinality predicate? They can't ever be false, so they don't tell you anything! It's kind of like a belt and braces when your belt is unbreakable.

If owl:minCardinality is not useful in the open world, then what is the point? I have to infer that it takes on the more intuitive meaning, and gets applied in a closed world sense. In that case it becomes useful to a database like Kowari. It is for this reason that I think that the contributor of this statement wasn't thinking clearly about the open world assumption. Otherwise, why include a statement of no value?

OK, I should concede that a system based on an owl:minCardinality statement can be false... but only when the range of the predicate is a class with a restricted set of instances, where the size of that set is less than the cardinality. However, the Description Logic Handbook actually defines consistency as ABox data which meets the criteria of TBox data. This example demonstrates inconsistent TBox data, which isn't quite the same thing. In other words, it's a bad ontology, not bad data being described by the ontology. It's still inconsistent, but it doesn't meet the inconsistency definition put forward by the DL Handbook.

6 comments:

Andrew said...
This comment has been removed by a blog administrator.
Andrew said...
This comment has been removed by a blog administrator.
Andrew said...

FaCT and RACER are two DL systems that make the unique name assumption. Databases seem to require a closed world/unique names for reasons like indexing, applying negation, etc.

Quoll said...

With a unique name assumption it all becomes much easier, but that's a cop out. It ignores the owl:sameAs predicate, which is perfectly valid, and considered in lots of other places in the inferencing.

I agree that the closed world assumption occasionally needs to be used for practical purposes. That's why I'm considering it for the cardinality consistency checking.

Quoll said...

BTW, I get to see the comments that you post and then delete. You've said several things that were worth leaving, but they're gone now.
You should leave past comments up and just add a new comment.

Andrew said...

I also make silly grammatical and spelling mistakes (more than my threshold anyway).

So yeah okay...I'll leave them in there in there raw glory.