Search Mailing List Archives
[protege-owl] Checking inconsistence of a "some" relation
tar at ISI.EDU
Sun Aug 5 22:03:14 PDT 2007
On Aug 3, 2007, at 9:32 PM, João Olavo Baião de Vasconcelos wrote:
> On 8/3/07, Samson Tu <swt at stanford.edu> wrote:
> However, the 'red border' check is a legacy from Protege frame. It
> doesn't really mean much in OWL, with its open world assumption.
> The fact that you don't have an explicit B instance associated with
> A doesn't mean that the ontology is inconsistent.
> I got it. The open world assumption means that you can't assume
> that a C isn't a B just bec they are distinct classes, right?
> But it's important to me to check if a C is/isn't a B for the sake
> of consistence.
There are two different ways in which the open world assumption makes
this difficult, if not impossible to verify.
Firstly, unless B and C are disjoint, then the B instance could also
be a C.
This can be fixed by either making the classes B and C disjoint
(assuming they are in fact meant to be disjoint), or by explicitly
expressing the fact that the particular instance of B is not also a C.
Secondly, there is the possibility of some other instance of C that
is a property value, but which is a different individual than the
instance of B. This one is harder to get around, since the some
restriction only requires a single filler of that type. It leaves
open the possibility of other fillers of other types.
> What is the best way to check it? By swrl rules?
Short of imposing careful restrictions on the cardinality of the slot
fillers and careful attention to disjointness, there isn't a lot you
can do. You can use queries to check for known consistency, but to
find inconsistency requires that there be a proof that the
inconsistency MUST happen. That is really hard for negated
propositions. It's usually harder to prove negatives, since they
involve universal statements rather than just finding an existing
More information about the protege-owl