1. OMG Issue

FIBOFTF2 — Issues uncovered in lint tests and reviews

  • Key: FIBOFTF2-77
  • Status: closed  
  • Source: Object Management Group ( Mr. Mike Bennett)
  • Summary:

    Lint findings: these point to model features in which it is possible that the model is saying something other than we intend it to say. These are therefore investigated as part of testing.

    Two lints were found which represented possible issue with the use of equivalent class axioms. Specifically, the equivalence was related to a class which itself had other sub class relationships which may cause the model to say more than we want it to say. These were:

    • People – there is a union class which is equivalent to the named class “LegallyCapablePerson” while this is also a sub class of Person

    • Contracts: there is one equivalent class relationship to a restruction, but there are also two other restrictions with subClassOf relations to this class, and it also has two parent classes (UnilateralContract and WrittenContract). Some but not all of these were introduced after the equivalentClasswasintroduced.

    Additional analysis of the Contract model also reveals that while the property ‘isEvidencedBy’ is defined with relation to the class “WrittenContract”, what we actually intended to say was that a written contract is defined by the fact that it has the propertyisEvidenecdBy. This requires a restriction in addition to the presence of that property.

    Lint Details
    People.rdf has this issue with LegallyCapablePerson:

    <owl:Class rdf:about="http://www.omg.org/spec/EDMC-FIBO/FND/AgentsAndPeople/People/LegallyCapablePerson">
    <rdfs:label>legally capable person</rdfs:label>
    <owl:unionOf rdf:parseType="Collection">
    <rdf:Description rdf:about="http://www.omg.org/spec/EDMC-FIBO/FND/AgentsAndPeople/People/EmancipatedMinor"/>
    <rdf:Description rdf:about="http://www.omg.org/spec/EDMC-FIBO/FND/AgentsAndPeople/People/LegallyCapableAdult"/>
    <rdfs:subClassOf rdf:resource="http://www.omg.org/spec/EDMC-FIBO/FND/AgentsAndPeople/People/Person"/>
    <skos:definition rdf:datatype="http://www.w3.org/2001/XMLSchema#string">a person who is allowed to conduct a business or any other occupation on his or her own behalf or for their own account</skos:definition>

    The subclassof Person should be removed.
    The lint report from pellet is that it doesn't like complex class expressions as subclasses of other things. This happens in TransferableContract (expurgated quote):

    a owl:Class ;
    rdfs:label "transferable contract" ;
    rdfs:subClassOf fibo-fnd-agr-ctr:WrittenContract , fibo-fnd-agr-ctr:UnilateralContract ;
    owl:equivalentClass [ a owl:Restriction ;
    owl:minQualifiedCardinality "1"^^xsd:nonNegativeInteger ;
    owl:onClass fibo-fnd-agr-ctr:ContractOriginator ;
    owl:onProperty fibo-fnd-agr-ctr:hasPrincipal
    ] .

    The issue, from Pellet's point of view, is that equivalentClass to a complex expression (a cardinality restriction) and the subclass to a named class (two of them, in fact).

    There is another issue in this pattern that is potentially problematic, and that is that having the restriction equivalent to this class means that anything that satisfies this restriction (e.g., has a single principal that is a ContractOriginator) is therefore a transferrable contract (and is therefore a WrittenContract and a UnilateralContract).

  • Reported: EDMC-FIBO/FND 1.0b2 — Thu, 20 Nov 2014 15:29 GMT
  • Disposition: Resolved — EDMC-FIBO/FND 1.0
  • Disposition Summary:

    Implement recommendations from lint tests and review

    As recommended in the lint tests:
    Delete the subClassOf relation for LegallyCapablePerson

    Make the class TransferableContract equivalent to a union of all of the restriction and sub class axioms that it currently has a relationship with.

    Add a restriction on WrittenContract to make the isEvidencedBy property a necessary condition for that class.

  • Updated: Tue, 21 Apr 2015 01:18 GMT
  • Attachments: