Ontologies are special and each of them is different.
As per @cmungall in #4 :
avoid making any assumptions about root nodes.
Some false assumptions about ontologies:
there is a single root node (unless owl:Thing is considered)
there is a single graph
the graph of all predicate types is a DAG
the is-a graph is a DAG (subClassOf is reflexive, A=B <=> A sub B, B sub A
etc
This means some ontologies, when used as input for semsim, may either be missing expected pairwise comparisons or the resulting scores may not reflect all manners of similarity defined by the ontology.
Examples abound with CHEBI (see chebi#is_conjugate_acid_of and chebi#is_conjugate_base_of relationships vs. is-a relationships).
Ontologies are special and each of them is different. As per @cmungall in #4 :
This means some ontologies, when used as input for semsim, may either be missing expected pairwise comparisons or the resulting scores may not reflect all manners of similarity defined by the ontology. Examples abound with CHEBI (see chebi#is_conjugate_acid_of and chebi#is_conjugate_base_of relationships vs. is-a relationships).