Re: Cardinality Reasoning

On 17 Aug 2006, at 12:52, Luke Steller wrote:

>
> I have the following ontology about colors and printers. I have
> defined colours: Red, Yellow, Blue and Black - all different from each
> other. For the 'hasColor' property, I have classes specified as
> cardinality exactly 4 (HasFourColours), at least 4
> (HasAtLeastFourColours), exactly 0 (HasNoColors). I have defined an
> instance/individual of Printer with all four colours and another
> second printer with not 'hasColor' property instances specified.
>
> I would have thought that printer1 should be an instance of both
> 'HasFourColors' and 'HasAtLeastFourColors', but it is only an instance
> of 'HasAtLeastFourColors', when using pellet for reasoning. Also
> printer2 I would have thought would be an instance of 'HasNoColors'
> but its not.
>
> Can anyone help me understand why this is so?

OWL-DL employs open world reasoning. By asserting four colours for a  
printer, you can only deduce that the printer has at least four  
colours, since it may be unknown whether the printer has more colors.  
Similarly in the case of zero colours.

> How would one create a
> class which refers to those printers with no colours and exactly 4
> colours?

By explicitly saying that (e.g., by asserting that a particular  
printer is an instance of the class of printers with exactly 4  
colours, or at least that it is an instance of the concept describing  
any object with exactly four colours).

> Also why does printer1 fail to be an instance of
> 'HasAtLeastFourColours' when the colours are not specified as
> 'differentFrom' one another, is this because there is no unique name
> assumption, therefore it doesnt know if these are really different?

yep.

cheers
--e.

Received on Thursday, 17 August 2006 11:21:32 UTC