Search



Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For

Concept
ShowPartsterm
t422453004|Product containing ethyl morphine|
, the relationship 
Concept
ShowPartsterm
t127489000|Has active ingredient|
Concept
ShowPartsterm
t373529000|Morphine|
 is inherited from
Concept
ShowPartsterm
t73572009|Product containing morphine|
, which is a redundant relationship to . If the rule 1 for class inclusion was to apply, the relationships would not be considered as redundant because 
Concept
ShowPartsterm
t
127489000|Has active ingredient|
74905005|Ethylmorphine (substance)|
 is not a subconcept of 
Concept
ShowPartsterm
t
74905005|Ethyl morphine
373529000|Morphine (substance)|
because . Because 
Concept
ShowPartsterm
t74905005|Ethyl morphine|
 
Concept
ShowPartsterm
t738774007|Is modification of|
 
Concept
ShowPartsterm
t373529000|Morphine|
and property chain of 
Concept
ShowPartsterm
t127489000|Has active ingredient|
 and 
Concept
ShowPartsterm
t738774007|Is modification of|
 is a sub-property of 
Concept
ShowPartsterm
t127489000|Has active ingredient|
, the rule 2 actually compares the anonymous concepts for subsumption, i.e. 
Concept
ShowPartsterm
t127489000|Has active ingredient (attribute)|
 = 
Concept
ShowPartsterm
t373529000 |Morphine (substance)|
 with 
Concept
ShowPartsterm
t127489000|Has active ingredient|
 = 
Concept
ShowPartsterm
t74905005|Ethyl morphine|
. Therefore, the inherited relationship is redundant and can be removed from the NNF.  Their relationships and property chain can be demonstrated in the following diagram.

Image Added


referencedComponentId


owlExpression

(stated relationships)

Inferred Relationships in Necessary Normal Form

sourceId

destinationId

relationshipGroup

typeId

73572009

EquivalentClasses(:73572009 ObjectIntersectionOf(:763158003 ObjectSomeValuesFrom(:609096000 ObjectSomeValuesFrom(:127489000 :373529000))))

73572009

764887005

0

116680003

73572009

360204007

0

116680003

73572009

373529000

1

127489000

422453004

EquivalentClasses(:422453004 ObjectIntersectionOf(:763158003 ObjectSomeValuesFrom(:609096000 ObjectSomeValuesFrom(:127489000 :74905005))))

422453004

73572009

0

116680003

422453004

74905005

1

127489000

127489000

SubObjectPropertyOf(ObjectPropertyChain(:127489000 :738774007) :127489000))

N/A

N/A


N/A

74905005

SubClassOf(:74905005 ObjectIntersectionOf(:440327007 ObjectSomeValuesFrom(:738774007 :373529000)))

74905005

440327007

0

116680003

74905005

373529000

0

738774007

...

For fine level detail the best source of information is the Java class org.snomed.otf.owltoolkit.normalform.RelationshipNormalFormGenerator which performs the Necessary Normal Form calculation.

Assignment for Role Group Number

It is important to clearly indicate if an attribute is grouped or not because 

Concept
ShowPartsterm
t609096000 |Role group (attribute)|
has impact to semantics and classification results. 
Concept
ShowPartsterm
t609096000 |Role group|
is represented by an integer in the field of relationshipGroup in the relationship file. In contrast,
Concept
ShowPartsterm
t609096000 |Role group|
 is represented by 
Concept
t609096000 |Role group (attribute)|
 as an object property in the OWL axiom refset. After the stated relationship file is replaced by the OWL expression refset, role group numbers need to be generated for inferred relationships.  

The following rules should be followed in the inferred relationship file to provide consistent representation aligned with the concept model diagram and the OWL axiom refset.

  1. All 

    Concept
    t116680003 |Is a|
     relationships should be assigned in role group 0;

  2. Attribute that is not grouped, not a value of 

    Concept
    ShowPartsterm
    t609096000 |Role group (attribute)|
     or grouped=0 in MRCM, should be assigned in role group 0;

  3. Attribute that is grouped, value of 
    Concept
    ShowPartsterm
    t609096000 |Role group (attribute)|
     or grouped=1 in MRCM, should be assigned in role group 1 or above. Each 
    Concept
    ShowPartsterm
    t609096000 |Role group (attribute)|
     in the OWL axiom should be presented by a unique role group number. Note, role group merging is not covered here.

Concept
t609096000 |Role group (attribute)|
 is explicitly represented for self-grouped attributes where there is only a single attribute in a role group in an OWL axiom. However, these self-grouped attributes and values are not explicitly represented in the current relationship files. This representation has caused confusion if an attribute in role group 0 is grouped or not. The following example demonstrates the changes to assignment of role group number after the implementation of the complete OWL axiom refset.

An example for the current diagram representation for attribute in role group 0 in the stated relationship file and concept model diagram

sourceIddestinationIdrelationshipGrouptypeId
90708001640330070363698007


Image Added 


After the complete OWL axiom refset is implemented,

Concept
ShowPartsterm
t609096000 |Role group|
 in the OWL axiom refset and concept model diagram should be represented as following.

referencedComponentIdowlExpression
90708001

EquivalentClasses(:90708001 ObjectIntersectionOf(:64572001 ObjectSomeValuesFrom(:609096000 ObjectSomeValuesFrom(:363698007 :64033007))))

Image Added

Representation of 

Concept
ShowPartsterm
t609096000 |Role group|
in the NNF relationship file and concept model diagram

sourceIddestinationIdrelationshipGrouptypeId
907080017340450020116680003
907080014438200000116680003
907080012495780050116680003
90708001640330071363698007

Image Added