Search and Find
7 Tools (S. 145-146)
After the creation of the new approaches, we now need to deploy them. Therefore, we will first show how these are implemented. This chapter is split into three implementations of the alignment approach: a basic infrastructure for ontology alignment and mapping (FOAM), Ontology Mapping based on Axioms (OMA), and the OntoStudio plug-in OntoMap. All of them have specific strengths, though the most important implementation undoubtedly is FOAM. We will refer to it in the subsequent practical applications.
7.1 Basic Infrastructure for Ontology Alignment and Mapping - FOAM
Many methods and approaches for ontology alignment have been presented in this work, but a theoretical framework alone is not sufficient. One needs a proof of concept. In the beginning of this work we made another claim: In fact, we want a system suiting practical applications. Therefore, the goal of our Framework for Ontology Alignment and Mapping (FOAM) is twofold: first, an environment for testing of our new methods for alignment, and second, a stable ontology alignment system. The infrastructure fulfilling the two goals will now be described in detail.
7.1.1 User Example
To give an example, our user wants to align the two ontologies animals A. owl and animalsB.owl. The goal is to find the ahgnments. They are supposed to be general enough for any usage afterwards. Therefore, she starts the FOAM tool from command line (Figure 7.1) with the corresponding parameters (Example 7.1), i.e., the two ontologies and the alignment discovery scenario. The whole process takes time, but this is not a critical factor for this use case. After finishing, FOAM saves the results in a file. The results are of high quality with interesting nontrivial alignments, e.g., a two-legged person in one ontology is equivalent to a bipedal person in the other one.
7.1.2 Process Implementation
We will first generally present FOAM with its parameters and the actual implementation of the process.
FOAM provides three modes for execution. It may be accessed through the command line using a simple parameter file. Further, as it has been implemented in Java,^ it may be run through a Java API making it easy to connect to other applications. It has been run successfully on PCs under the Windows and Linux operating systems. And finally, for lightweight testing purposes, it can be run on our server as a web service which can easily be accessed via a web interface.^ According to the twofold goal of FOAM the user can either specify all parameters himself (strategy, number of iterations, semi-automatic or not, etc.) or let the system set the optimal parameters based on the ontologies to align and the desired use case. A NOSCENARIOoption is available, if the use case is unspecified. The parameters are either set in a separate parameter file or directly handed over to the alignment class within the Java application. Example 7.1 contains two ontologies to align, the scenario, and the filename for the results.
The process of ontology alignment has been implemented as follows. FOAM requires two ontologies as input, in particular ontologies in OWLDL. Besides, preknown alignments may be entered into the system. Figure 7.1 shows the command fine call, the output information of FOAM on the used strategy, the process with several iterations, and the location where the results are saved. Alignments are provided either in the RDF-representation format or as a comma-separated list. The search step selection is implemented with difi'erent kinds of agendas. FOAM includes flexible classes for feature selection (RDF(S) and OWL), as well as a hbrary of similarity measures (also using external information such as dictionaries). Afterwards, there are different combination strategies ranging from simple averaging to machine learned decision trees or neural nets. Whereas the iteration step is trivially implemented through a loop, the interpretation allows for human interaction, where the user has to confirm or reject questionable alignments. If required, the one alignment link strategy is enforced during the interpretation step. The final results are, according to the different implementation goals, either a file of alignments above the threshold and doubtable alignments (for human interaction), or a complete file of alignments ranked by their confidence value. If a gold standard is provided, the alignments are automatically evaluated and the evaluation results are stored as well. All methods of the previous chapters have been implemented. Sometimes, they have been extended with additional features, if this made the framework more flexible for future extensions.