nemo-ufes / ufo-protege-plugin

A plugin for Protégé that checks gUFO-based ontologies for adherence to UFO rules
GNU General Public License v3.0
8 stars 2 forks source link

Implement rule: a class cannot specialize more than one instance of Kind #5

Closed lcbarcellos closed 4 years ago

lcbarcellos commented 4 years ago

Rule

A class cannot specialize more than one instance of gufo:Kind.

Source

Fourth rule from Table 1 of paper Endurant Types in Ontology-Driven ConceptualModeling: Towards OntoUML 2.0, presented on page 13 of document.

From (t14), a class cannot specialize more than one kind.

lcbarcellos commented 4 years ago

This same constraint is expressed in A modeling infrastructure for OntoUML, section 6.1, page 48, using other terminology:

Ultimate Substance Sortal Every Object Class must not have more than one Substance Sortal ancestor

context ObjectClass inv:
allParents()->select( x | x.oclIsKindOf(SubstanceSortal) )->size() <= 1
lcbarcellos commented 4 years ago

Validated by OnlyAKindRule class.