On Mon, Mar 18, 2013 at 4:55 PM, Brian McBride <[email protected]> wrote:
> On 18/03/2013 20:18, Joshua TAYLOR wrote:
>
>> Wouldn't the maxCardinality 0 mean that every NewsOrganization isn't
>> associatedWith *anything*, so there should never be a [newsOrgX
>> associatedWith foo] to use with [associatedWith domain Person] to
>> infer [newsOrgX a Person]?
>
> That's true and I've been wondering since my message whether a max
> cardinality constraint really does assert that the restriction class is in
> the domain of the property. I'm finding it hard to tell looking at the Owl
> documents.
>
> However, I think the reasoner is doing that. With the restriction and a
> cut down ontology I was seeing classes with owl:Nothing as a super class.
> Eliminating the restriction eliminated the owl:Nothing and produces the
> expected answers for the code provided running on the full ontology.
This spurred me to look at some of the relevant rules, and I'm kind of
puzzled by them. E.g., (from owl-fb.rules, line 277):
[maxRec2: (?C owl:equivalentClass max(?P, 0)), (?P rdfs:domain ?D),
(?E owl:disjointWith ?D)
-> (?E owl:equivalentClass ?C)]
If I'm reading maxRec2 correctly, wouldn't it fire in this case:
NonHornedThing owl:equivalentClass max( hasHorn, 0 )
hasHorn rdfs:domain Animal
Mineral owl:disjointWith Animal
and produce
Mineral owl:equivalentClass NonHornedThing ,
which doesn't seem right (although
Mineral owl:subClassOf NonHornedThing
would be OK). Am I missing something here?
--
Joshua Taylor, http://www.cs.rpi.edu/~tayloj/