AROM is an approach for creating a new ontology resulting from a full merge of multiple ontologies using pairwise alignments between them. It automatically customizes and merges multiple ontologies in a holistic manner and in very short times.
Download AROM and open it in your IDE, then manually add all the jars of the lib folder to the classpath. The lib folder contains OWL API 3.5 jars and their dependencies, Alignment API 4.9 jars, HermiT ontology reasoner jars, and ELK ontology reasoner jars. Then, run one of the following classes of the src/merging folder (depending on your choice) :
-
MergingWithoutRefactoring : It parses all the input ontologies' axioms, and creates an exact copy of them. Then, it merges equivent entities as prescribed in the input alignment(s), and adds bridging axioms (other than equivalence relations) to link different entities.
-
MergingWithRefactoring : It parses all the input ontologies' axioms, and creates a refactored copy of them. A full IRI of an entity (which can be a class, a property, or an individual) is composed of a prefix, followed by a local name (i.e., a suffix or an abbriviated name). Refactoring consists in replacing the prefix IRI of each entity (i.e., the part before the #) by the IRI of the furture merged ontology. Then, it merges equivent refactored entities as prescribed in the input alignment(s), and adds bridging axioms (other than equivalence relations) to link different refactored entities.
N.B: Git should be installed in the machine, in order to run these algorithms directly from the downloaded project.
N.B: See AROM (V2) if you want to try a version that uses OWL API 4.5. And see AROM (V3) if you want to try a version that uses OWL API 5.1.
- Two or more OWL ontologies to be merged (
owl
files in the Data folder) (the path of the files should be correct !) - One or more ontology alignments (in the Alignment API format) (
rdf
files in the Data folder) (the path of the files should be correct !) - A new
IRI
for the output merged ontology - A threshold
real
value between [0,1] to filter the alignment correspondences by their confidence measure.
- A new merged ontology (an
owl
file in the Results folder).
Let's merge the three ontologies of the Large Biomedical Ontologies OAEI track. We will merge them using reference alignments between all possible ontology pairs. This will ensure a complete semantic interoperability between them. All tests were performed with a confidence threshold equal to 0.0, so we have kept all correspondences / cells of the input alignments.
These are three equivalence correspondences from the "Large Biomedical Ontologies" OAEI reference alignments :
The first correspondence (in FMA-NCI) matches the Skin_of_head class (from FMA) to the Head_Skin class (from NCI):
The second correspondence (in SNOMED-NCI) matches the Skin_structure_of_head class (from SNOMED) to the Head_Skin class (from NCI):
The third correspondence (in FMA-SNOMED) matches the Skin_of_head class (from FMA) to the Skin_structure_of_head class (from SNOMED):
Here is the definition/description of the Skin_of_head class in its original ontology (FMA (Ont1)) :
Here is the definition/description of the Head_Skin class in its original ontology (NCI (Ont2)) :
Here is the definition/description of the Skin_structure_of_head class in its original ontology (SNOMED (Ont3)) :
The above-mentioned correspondences will lead to the merging of the three matched classes: Skin_of_head (from FMA (Ont1)), Head_Skin (from NCI (Ont2)), and Skin_structure_of_head (from SNOMED (Ont3)). For this example, we have chosen to give our future merged ontology the following IRI : "http://merging".
The following figures show the merged class in our output ontology that resulted from the merging of the three LargeBio ontologies. The merged class captures all knowledge (axioms and expressions) defining the three equivalent classes. It has a unique code (Code_19351) as a (local) name, and all entities (existing in its description), that have been merged, also have their corresponding unique code as a (local) name. That is, the class Segment_of_skin (from FMA) was merged with its equivalent classes to form the class Code_3840; the class Skin (from NCI) was merged with its equivalent classes to form the class Code_24805; and the class Head (from NCI) was merged with its equivalent classes to form the class Code_17698. Besides, the merged class Code_19351 have three added labels (framed in red), which mention the original (local) names of the classes that have been merged. We attached each name to its ontology number (ID) to directly see from which ontology it originates.
You can view and download all our merged ontologies from the Results folder.
For the non-customized version, axioms are exactly like the original ones. You can download and view this non-refactored merged ontology from the Results folder.
For the customized version, axioms are like the original ones, except that the IRIs of all mentioned entities are customized. You can download and view this refactored merged ontology from the Results folder.
- Our final ontology is complete, in the sense that it retains all entities, axioms and hierarchies from the input ontologies, and all correspondences from the input alignments.
- Running AROM for merging the Large Biomedical Ontologies does not exceed one minute.