Thanks for catching this. The restriction was actually correct, but the 
definition of associatedWith was left over from when I was only dealing with 
Person objects. I changed the definition of associatedWith to:

        <owl:SymmetricProperty rdf:ID="associatedWith">
                <rdfs:domain rdf:resource="#Agent" />
                <rdfs:range rdf:resource="#Agent" />
        </owl:SymmetricProperty>

So that should fix the inconsistency. 

-----Original Message-----
From: Dave Reynolds [mailto:[email protected]] 
Sent: Monday, March 18, 2013 5:28 PM
To: [email protected]
Subject: Re: Super/Subclass relationships in OntModel?

On 18/03/13 20:18, Joshua TAYLOR wrote:
> On Mon, Mar 18, 2013 at 4:06 PM, Brian McBride <[email protected]> wrote:
>> I spotted an inconsistency in the ontology.
>>
>> #NewsOrganization has a restriction:
>>
>> [[
>>
>>          <rdfs:subClassOf>
>>              <owl:Restriction>
>>                  <owl:onProperty rdf:resource="#associatedWith" />
>>                  <owl:maxCardinality rdf:datatype="&xsd;nonNegativeInteger">0
>>                  </owl:maxCardinality>
>>              </owl:Restriction>
>>          </rdfs:subClassOf>
>>
>> ]]
>>
>> Thus #NewsOrganization can have an #associatedWith property, i.e. is 
>> within the domain of #associatedWith.  The domain of #associatedWith is 
>> #Person.
>> #Organization is disjoint with #Person.    #NewsOrganization is a subclass
>> of #Organization.
>>
>> The ontology is thus inconsistent.
>
> 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]?

Correct.

Pellet is happy the the ontology is consistent so long as you ignore the broken 
owl:equivalentClass usage that I've already mentioned.

Dave



Reply via email to