Git Product home page Git Product logo

arom's Introduction

AROM (Alignments Reuse for Ontology Merging)

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.

Installation

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.

Input

  • 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.

Output

  • A new merged ontology (an owl file in the Results folder).

Example

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.

Input Alignments (FMA-NCI + SNOMED-NCI + FMA-SNOMED)

These are three equivalence correspondences from the "Large Biomedical Ontologies" OAEI reference alignments :

FMA-NCI

The first correspondence (in FMA-NCI) matches the Skin_of_head class (from FMA) to the Head_Skin class (from NCI):

FMA-NCI alignment

SNOMED-NCI

The second correspondence (in SNOMED-NCI) matches the Skin_structure_of_head class (from SNOMED) to the Head_Skin class (from NCI):

SNOMED-NCI alignment

FMA-SNOMED

The third correspondence (in FMA-SNOMED) matches the Skin_of_head class (from FMA) to the Skin_structure_of_head class (from SNOMED):

FMA-SNOMED alignment

Input Ontologies (FMA + NCI + SNOMED)

FMA

Here is the definition/description of the Skin_of_head class in its original ontology (FMA (Ont1)) :

Skin_of_head

NCI

Here is the definition/description of the Head_Skin class in its original ontology (NCI (Ont2)) :

Head_Skin

SNOMED

Here is the definition/description of the Skin_structure_of_head class in its original ontology (SNOMED (Ont3)) :

Skin_structure_of_head

Output Merged Ontology

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.

Non-Refactored Version

MergedClass

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.

Refactored Version

RefactoredMergedClass

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.


Conclusion

  • 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.

arom's People

Contributors

inesosman avatar

Stargazers

 avatar  avatar  avatar  avatar

Forkers

zhiyupan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.