Re: Cardinality in the open world

On Apr 5, 2005, at 10:41 PM, Paul Gearon wrote:

> Hi,
>
> I've been having some difficulty understanding the use of OWL 
> cardinality with the open world assumption, and I'd like some advice 
> please.
>
> While I know that the open world assumption means that any unspecified 
> statements are "unknown".

What do you mean by "unspecified"?

>  I interpret this to mean that it is possible for any unwritten 
> statement

But there are known unwritten statements. Most entailments, for example.

> to exist.

Eech.

>   (If I'm wrong here, then let me know as the rest of this message is 
> based on this assumption).

This doesn't seem to be the most helpful way to conceive of it. Better 
to think in terms of model theory (though, it's possible that your 
version will line up with the model theoretic one...it's just nicer to 
use standard terminology).

> For owl:minCardinality on a predicate there would seem to be 3 
> situations:
>
> minCardinality of 0:
> This is trivially consistent and valid.
>
> minCardinality of 1:
> This describes existence.  Any statements with this predicate make the 
> model valid.

Not if there were a maxCardinailty of 0.

>   However, if there are no statements with the predicate then the 
> model is still consistent, as those statements could exist.
>
> minCardinality > 1:
> If there are not enough statements using the predicate, then the model 
> will still be consistent because those statements could exist.

Not necessarily. For example, and still trivial, say you had a minCard= 
4 and a maxCard = 2. Oops.

>   In other words, there exists an interpretation which would make this 
> true.
>
> The only case where this could not be consistent would be if it is not 
> legal to create the required statements.  The only instance of this 
> that I can think of is if the range of the predicate is restricted in 
> some way, for instance it could be a oneOf without enough members.

See above.

>   However, that case would be a fault in the ontology, not in the data.

I don't see what this means and the degree that I do, I don't see that 
it matters.

> For validity, it may seem easy to conform if there are enough 
> statements with the predicate.

What? Standard terminology will not only help your communication (with 
me at least :)) but I suspect your understanding.

> However, if any objects from these statements use owl:sameAs to 
> declare that they are the same, the real usage of this predicate will 
> be reduced, making the model invalid.

Stiull lost.

>   The only way validity can be guaranteed is if enough of the objects 
> are declared to be different from the others, via owl:differentFrom or 
> owl:allDifferent.

There could be unknown distinct individuals. Part of what a reasoner 
does is consider such models where the individuals that are members of 
the restriction are related by the property to distinct individuals.

> So for all 3 cases, the model is always consistent.

If *all* you say is that minCard = something, then sure. But so? if 
*all* I say is that something is B or Q, so too. An underconstrained 
ontology is easy to make consistent.

> Validity is guaranteed for cardinality of 0, possible with cardinality 
> of 1, and difficult for cardinality of more than 1.

I don't know what you mean by "validity".

> owl:maxCardinality is similar:
>
> maxCardinality of 0:
> If the predicate is not used, then there is an interpretation

Ah...interpretation. That's sounding nicer to me :)

> where the model is consistent.  However, since there may exist 
> statements which use the predicate, then the model can't be valid.

Or I might have a minCardinatily of 45. Or a someValuesFrom.

> maxCardinality >= 1:
> If the predicate is used fewer times than the maxCardinality, then 
> this is consistent.

Not necessarily. Consider a min conflict. Or consider the case where 
you have maxCard = 1 and someValuesFrom A, and someValuesFrom 
complementOf(A)

>   However, there may be more statements, except when the range is 
> restricted (eg. with owl:oneOf), which means that validity can rarely 
> be proven.

Validity? I still don't know what you mean.

> If the predicate is used more times than the maxCardinality, then this 
> would appear to inconsistent.  However, it is possible for some of the 
> objects to be declared  the same as each other with owl:sameAs.  This 
> would reduce the effective number of times the predicate is used, 
> possibly making it consistent again.  The only way to guarantee 
> inconsistency is if the objects are all different with 
> owl:differentFrom and owl:allDifferent.

No, see above.

> So for maxCardinality of 0 the model will be invalid, and for 
> maxCardinality of 1 validity is only provable for a particular case 
> (and not for the general case).  Consistency can be proven for 
> cardinality of 0, and is very difficult to disprove for cardinality of 
> 1 or more.
>
> Is validity an interesting property in a real-world database?

Well, I'd have a better idea if you'd define what you mean by it.

>  I would have thought that consistency would be more important, 
> particularly since validity is rarely possible to prove.  If validity 
> *is* important, then maxCardinality has a problem, because the model 
> can't be valid in the general case.

Really. I have no idea. "model can't be valid". For me, arguments are 
valid.

> As for consistency, minCardinality is *always* consistent.

For most readings, false.

>  maxCardinality is almost always consistent as well (the model needs 
> to go to a lot of with owl:differentFrom to be inconsistent).

Not true.

> If my interpretation here is correct, then these cardinality 
> constraints would not appear to be be as useful as they seem.

Well, cardinailty in OWL isn't like cardinality in XML Schema or in a 
database or in a OOP. The open world assumption can be surprising.

>   It looks very much like these constraints were designed for a closed 
> world assumption,

Not really. It's just more common for cardinality constraints to be 
used for "data validation", hence the surprise when encountering OWL.

> not the open world.

I fail to see how you couldn't run this in general. If you want or 
expect closed world like reasoning from OWL, you will be disappointed 
or surprised or both.

Number restrictions have a long and illustrious history in description 
logics. I think its fair to conclude that at least some people like 
them the way they are (i.e., open world). They are definitely 
surprising to a lot of people (of course, so is not having the unique 
name assumption!!!), and they are just wrong in many cases (e.g., data 
validation of various sorts). But nothing is particular to cardinalilty 
here.

> Can someone enlighten me here please?  TIA.

I shall wait upon your reply to determine if I am he who can so 
enlighten :)

Cheers,
Bijan Parsia.

Received on Wednesday, 6 April 2005 05:41:39 UTC