W3C home > Mailing lists > Public > public-owl-dev@w3.org > January to March 2011

Re: Querying for individuals

From: Paul Gearon <gearon@ieee.org>
Date: Tue, 22 Feb 2011 12:48:33 -0500
Message-ID: <AANLkTinUt=QzsrUkPX3Lyv+RjkHMx9aUMAK5mexGoTWh@mail.gmail.com>
To: cristi@ieee.org
Cc: Cristian Cocos <cristico@gmail.com>, public-owl-dev@w3.org, pellet-users@lists.owldl.com
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 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:58 GMT