Re: Querying for individuals

On Mon, Feb 21, 2011 at 10:01 PM, Cristian Cocos <cristico@gmail.com> wrote:
> I got a class (A) with 191 members, and one of its subclasses (B) has 8
> members. If I query with "B" in Protege (against both Pellet and Fact++) or
> outside Protege (Pellet in command line), the query returns all elements of
> B as it should, but when I query "not B" I get, as far as I can tell, all
> individuals in the ontology minus the elements of A(!). Isn't the "not B"
> query supposed to return all individuals in the ontology *minus* the
> elements of B?

It's an open world, so every instance of A is potentially also an
instance of B. In fact, unless A or B are disjoint with other classes,
then there are a lot of other things that are potentially instances of
B, and may not appear in the complement.

To clean it up, you can try creating C, where C ⊑ (A ⊓ ¬B)  ie. All
the instances of A that are not instances of B. If you make your
remaining 183 members of A members of this new class then you'll see
them show up in ¬B (because that's how C is defined).

Regards,
Paul

Received on Tuesday, 22 February 2011 17:49:06 UTC