NetworkX for ontologies
Project description
NetworkX-based Python library for representing ontologies
nxontology is a Python library for representing ontologies using a NetworkX graph. Currently, the main area of functionality is computing similarity measures between pairs of nodes.
Usage
Here, we'll use the example metals ontology:
Note that NXOntology
represents the ontology as a networkx.DiGraph
, where edge direction goes from superterm to subterm.
Currently, users must create their own networkx.DiGraph
to use this package.
Given an NXOntology
instance, here how to compute intrinsic similarity metrics.
from nxontology.examples import create_metal_nxo
metals = create_metal_nxo()
# Freezing the ontology prevents adding or removing nodes or edges.
# Frozen ontologies cache expensive computations.
metals.freeze()
# Get object for computing similarity, using the Sanchez et al metric for information content.
similarity = metals.similarity("gold", "silver", ic_metric="intrinsic_ic_sanchez")
# Access a single similarity metric
similarity.lin
# Access all similarity metrics
similarity.results()
The final line outputs a dictionary like:
{
'node_0': 'gold',
'node_1': 'silver',
'node_0_subsumes_1': False,
'node_1_subsumes_0': False,
'n_common_ancestors': 3,
'n_union_ancestors': 5,
'batet': 0.6,
'batet_log': 0.5693234419266069,
'ic_metric': 'intrinsic_ic_sanchez',
'mica': 'coinage',
'resnik': 0.8754687373538999,
'resnik_scaled': 0.48860840553061435,
'lin': 0.5581154235118403,
'jiang': 0.41905978419640516,
'jiang_seco': 0.6131471927654584,
}
Bibliography
Here's a list of alternative projects with code for computing semantic similarity measures on ontologies:
- Semantic Measures Library & ToolKit at sharispe/slib in Java.
- DiShIn at lasigeBioTM/DiShIn in Python.
- Sematch at gsi-upm/sematch in Python.
- ontologySimilarity mirrored at cran/ontologySimilarity. Part of the ontologyX suite of R packages.
- Materials for Machine Learning with Ontologies at bio-ontology-research-group/machine-learning-with-ontologies (compilation)
Below are a list of references related to ontology-derived measures of similarity. Feel free to add any reference that provides useful context and details for algorithms supported by this package.
-
Semantic Similarity in Biomedical Ontologies
Catia Pesquita, Daniel Faria, André O. Falcão, Phillip Lord, Francisco M. Couto
PLoS Computational Biology (2009-07-31) https://doi.org/cx8h87
DOI: 10.1371/journal.pcbi.1000443 · PMID: 19649320 · PMCID: PMC2712090 -
An Intrinsic Information Content Metric for Semantic Similarity in WordNet.
Nuno Seco, Tony Veale, Jer Hayes
In Proceedings of the 16th European Conference on Artificial Intelligence (ECAI-04), (2004) https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1065.1695 -
Metrics for GO based protein semantic similarity: a systematic evaluation
Catia Pesquita, Daniel Faria, Hugo Bastos, António EN Ferreira, André O Falcão, Francisco M Couto
BMC Bioinformatics (2008-04-29) https://doi.org/cmcgw6
DOI: 10.1186/1471-2105-9-s5-s4 · PMID: 18460186 · PMCID: PMC2367622 -
Semantic similarity and machine learning with ontologies
Maxat Kulmanov, Fatima Zohra Smaili, Xin Gao, Robert Hoehndorf
Briefings in Bioinformatics (2020-10-13) https://doi.org/ghfqkt
DOI: 10.1093/bib/bbaa199 · PMID: 33049044 -
Semantic Similarity in a Taxonomy: An Information-Based Measure and its Application to Problems of Ambiguity in Natural Language
P. Resnik
Journal of Artificial Intelligence Research (1999-07-01) https://doi.org/gftcpz
DOI: 10.1613/jair.514 -
An Information-Theoretic Definition of Similarity
Dekang Lin
ICML (1998) https://api.semanticscholar.org/CorpusID:5659557 -
ontologyX: a suite of R packages for working with ontological data
Daniel Greene, Sylvia Richardson, Ernest Turro
Bioinformatics (2017-01-05) https://doi.org/f9k7sx
DOI: 10.1093/bioinformatics/btw763 · PMID: 28062448 · PMCID: PMC5386138 -
Metric of intrinsic information content for measuring semantic similarity in an ontology
Md. Hanif Seddiqui, Masaki Aono
Proceedings of the Seventh Asia-Pacific Conference on Conceptual Modelling - Volume 110 (2010-01-01) https://dl.acm.org/doi/10.5555/1862330.1862343
ISBN: 9781920682927 -
Disjunctive shared information between ontology concepts: application to Gene Ontology
Francisco M Couto, Mário J Silva
Journal of Biomedical Semantics (2011) https://doi.org/fnb73v
DOI: 10.1186/2041-1480-2-5 · PMID: 21884591 · PMCID: PMC3200982 -
A framework for unifying ontology-based semantic similarity measures: A study in the biomedical domain
Sébastien Harispe, David Sánchez, Sylvie Ranwez, Stefan Janaqi, Jacky Montmain
Journal of Biomedical Informatics (2014-04) https://doi.org/f52557
DOI: 10.1016/j.jbi.2013.11.006 · PMID: 24269894 -
Semantic Similarity in Cheminformatics
João D. Ferreira, Francisco M. Couto
IntechOpen (2020-07-15) https://doi.org/ghh2d4
DOI: 10.5772/intechopen.89032 -
An ontology-based measure to compute semantic similarity in biomedicine
Montserrat Batet, David Sánchez, Aida Valls
Journal of Biomedical Informatics (2011-02) https://doi.org/dfhkjv
DOI: 10.1016/j.jbi.2010.09.002 · PMID: 20837160 -
Semantic similarity in the biomedical domain: an evaluation across knowledge sources
Vijay N Garla, Cynthia Brandt
BMC Bioinformatics (2012-10-10) https://doi.org/gb8vpn
DOI: 10.1186/1471-2105-13-261 · PMID: 23046094 · PMCID: PMC3533586 -
Semantic similarity estimation in the biomedical domain: An ontology-based information-theoretic perspective
David Sánchez, Montserrat Batet
Journal of Biomedical Informatics (2011-10) https://doi.org/d2436q
DOI: 10.1016/j.jbi.2011.03.013 · PMID: 21463704 -
Ontology-based information content computation
David Sánchez, Montserrat Batet, David Isern
Knowledge-Based Systems (2011-03) https://doi.org/cwzw4r
DOI: 10.1016/j.knosys.2010.10.001
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nxontology-0.1.0.tar.gz
.
File metadata
- Download URL: nxontology-0.1.0.tar.gz
- Upload date:
- Size: 24.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a68d842e0a2da3dc16aa9192fe9b3da4cb9adf6074e82eee13b60738c996871 |
|
MD5 | 544bd48389d0faa6d51c281519728502 |
|
BLAKE2b-256 | d527da6320c0545780c32dfc644bc6c410bfd8cbc747edbbc9c682f554be5a1a |
File details
Details for the file nxontology-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: nxontology-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5cbaa218efc6e19336c896908edfb5117f1b76d7399ed0510a267577dd83ca1 |
|
MD5 | 4ef6e609291c497ddb87375e3138d99c |
|
BLAKE2b-256 | fd8e77bd8608d0c44f37da84bb2b50d80dc24759efc54d39ffca605968651ae6 |