NanoParticle Ontology (NPO)¶
The NanoParticle Ontology (NPO) is a domain ontology developed within the Basic Formal Ontology (BFO) framework to represent knowledge about the preparation, chemical composition, and characterization of nanomaterials, especially in cancer research and nanomedicine [1] [2]. NPO provides a structured vocabulary for describing nanoparticle composition, preparation methods, physicochemical characteristics, and related entities relevant to nanotechnology research [1] [3]. The ontology supports semantic annotation of nanomaterial data, enabling data integration, interoperability, and ontology-based querying across biomedical and nanoinformatics resources [1] [3]. NPO is publicly available through NCBO BioPortal and has been used as a reference ontology in nanomaterial data standardization efforts [2] [3]. By providing a standardized semantic framework for nanomaterial representation, NPO supports knowledge sharing, data reuse, and computational analysis in nanotechnology and nanomedicine research [1] [4].
Example Usage: Annotate a nanomedicine study with NPO terms to specify nanoparticle composition (for example, a gold nanoparticle), preparation or formulation characteristics, surface functionalization, and measured physicochemical or biological assay properties, enabling cross-study comparison, semantic search, and integration across nanomaterial datasets [1] [3].
Metrics & Statistics¶
Total Nodes |
9976 |
Total Edges |
36031 |
Root Nodes |
11 |
Leaf Nodes |
4344 |
Classes |
2464 |
Individuals |
0 |
Properties |
87 |
Maximum Depth |
10 |
Minimum Depth |
0 |
Average Depth |
4.26 |
Depth Variance |
7.37 |
Maximum Breadth |
35 |
Minimum Breadth |
7 |
Average Breadth |
21.82 |
Breadth Variance |
106.88 |
Term Types |
0 |
Taxonomic Relations |
2724 |
Non-taxonomic Relations |
12277 |
Average Terms per Type |
0.00 |
Usage Example¶
Use the following code to import this ontology programmatically:
from ontolearner.ontology import NPO
ontology = NPO()
ontology.load("path/to/NPO-ontology.owl")
# Extract datasets
data = ontology.extract()
# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations