![The Alignment API 4.0 1](https://data.docslib.org/img/3a60ab92a6e30910dab9bd827208bcff-1.webp)
Undefined 1 (2010) 1–8 1 IOS Press The Alignment API 4.0 1 Editor(s): Sören Auer, Universität Leipzig, Germany Solicited review(s): Jens Lehmann, Universität Leipzig, Germany; Jun Zhao, University of Oxford, UK Open review(s): Prateek Jain, Wright State University, USA Jérôme David a, Jérôme Euzenat a;∗, François Scharffe a, and Cássia Trojahn dos Santos a a INRIA & LIG, 655 avenue de l’Europe, 38330 Montbonnot Saint-Martin, France Abstract. Alignments represent correspondences between entities of two ontologies. They are produced from the ontologies by ontology matchers. In order for matchers to exchange alignments and for applications to manipulate matchers and alignments, a minimal agreement is necessary. The Alignment API provides abstractions for the notions of network of ontologies, alignments and correspondences as well as building blocks for manipulating them such as matchers, evaluators, renderers and parsers. We recall the building blocks of this API and present here the version 4 of the Alignment API through some of its new features: ontology proxys, the expressive alignment language EDOAL and evaluation primitives. Keywords: Alignment API, Ontology matching, Ontology alignment, Alignment management, Alignment evaluation, Alignment language, EDOAL, Ontowrap, OntoSim 1. Motivation – from a semantic web point of view, as it is possi- ble to dynamically find and reuse existing align- Using ontologies is the privileged way to achieve ments; interoperability among heterogeneous systems within – from a software engineering point of view, as the semantic web. However, as ontologies are not nec- alignments can be passed from a program to an- other; essarily compatible, they may in turn need to be rec- – from an ontology engineering and management onciled. Ontology reconciliation often requires to find point of view, as they will evolve together with the correspondences between entities, e.g., classes, ob- the ontology life cycle. jects, properties, occurring in these ontologies. Alignments are sets of correspondences between el- In order for alignments produced by any means to ements of two ontologies [13]. They are generated by be treated uniformly and for matchers and applications hand or by ontology matchers and they can be used to consume and produce such alignments, we designed for merging ontologies, transforming queries or link- a Java API for alignments: the Alignment API [9]. ing data sets. During their lifecycle, alignments may be The Alignment API is a set of abstractions for ex- written in files and further read, applied various thresh- pressing, accessing and sharing ontology alignments. olds, merged together and finally transformed into a Its reference implementation provides a minimal im- more operational format. plementation of this interface. It aims at facilitating the development of tools manipulating alignments and Considering ontology alignments as first class citi- calling matchers. It is also a way for matcher devel- zens has several benefits: opers to deliver alignments in a well-supported frame- work. We describe in this paper the version 4.0 of the 1Partial support provided by European Network of Excellence Knowledge web (FP6-IST-507482). Alignment API which has been deeply enhanced since *Corresponding author. E-mail: [email protected] its first version in 2003. We emphasise those new fea- 0000-0000/10/$00.00 c 2010 – IOS Press and the authors. All rights reserved 2 J. David, J. Euzenat, F. Scharffe and C. Trojahn / The Alignment API 4.0 Evaluator tures which were not available for [9]. After describing OntologyNetwork eval() the API itself (§2), we describe more precisely areas align1, align2 of major enhancement such as the abstraction from on- tologies and concrete measures (§3), the development 1..1 of an expressive alignment language (§4) and the eval- alignments 0..* ontologies uation of alignments (§5). Alignment 0..* onto1, onto2 id: uri Ontology type: string 1..1 level: string entities 2. The Alignment API in a nutshell map 0..* 0..* The Alignment API itself is a reduced set of Java Cell entity1 interfaces. The most important parts of the API are the id: uri Object representation interfaces which provide access to in- conf : double 1..1 formation about the API elements. These interfaces are relation first presented before considering the process interface 1..1 AlignmentProcess Relation and the reference implementation of the API. align() 2.1. Representation classes Fig. 1. Relations between the main classes of the Alignment API and The Alignment API offers four main representa- the classes of Ontowrap (Ontology). Only the main attributes and tional classes whose structure is represented in Fig- methods are presented. ure 1. 2.2. Processing OntologyNetwork is a container for a set of ontologies and a set of alignments. It makes it easy to retrieve In addition to being a storage structure, the Align- alignments tied to an ontology as well as to ma- ment API provides a minimal processing structure, nipulate them as a network, i.e., traversing them, which can be used by applications for manipulating closing them, etc. and consuming alignments. We present its most impor- Alignment is the main class of the API. An Alignment tant classes: is mostly made of a set of Cells and metadata AlignmentProcess is the interface for all matchers. about the alignment, such as the aligned ontolo- Matching two ontologies is achieved in two steps: gies, the alignment arity, provenance metadata, creating an instance of an Alignment implement- and any other metadata that can be tied to an ing AlignmentProcess and initialising it with alignment. two Ontology instances, then calling the align() Cell represents a correspondence: it relates two en- method. This method takes two arguments: an ini- tities with a Relation. The entities may be any tial Alignment which may be considered by the identified element of an Ontology (see §3) or matcher and a Property object providing param- any construct from the expressive EDOAL lan- eters for the matcher. guage (see §4). In addition, Cell supports any Evaluator is the interface for alignment evaluators type of additional metadata (including confidence which compare a first Alignment which may be values). taken as the reference and a second Alignment Relation represents the relation between two entities. (see §5). The set and type of relations are extensible in the AlignmentVisitor or Renderer is the interface for Alignment API and its implementation. defining Alignment visitors which can output These classes provide access to the information in alignments in different formats, when calling the instances. They also provide local methods for ma- render() method of Alignment. nipulating this information: adding correspondences These operations are presented in Figure 2. to alignments, cutting correspondences under a confi- dence threshold, etc. 2.3. API implementation An RDF vocabulary and an RDF/XML format, cor- responding to the Alignment class, can be used for se- Together with the API definition, a reference imple- rialising alignments. mentation of the Alignment API is available. It pro- J. David, J. Euzenat, F. Scharffe and C. Trojahn / The Alignment API 4.0 3 – a library of wrappers for several ontology APIs A0 (see §3); AlProcess Finally, the API implementation provides tools for align(p) eval(p) cut() manipulating alignments such as the batch utilities de- scribed in §5 or the AlignmentParser which can parse A Evaluator an RDF file in the Alignment format, or the EDOAL extension of this format (see §4), and return the corre- sponding Alignment. read() render() harden() RDF XSLT RDF 3. Abstract support for ontologies and distances AlParser SKOS OWL The implementation of the Alignment API relies on two external abstractions that we describe below: Fig. 2. The main operations of the Alignment API and associated Ontowrap provides uniform access to part of ontol- processing classes: alignments, evaluators and alignment networks. ogy APIs useful for matchers; OntoSim provides various distances and similarity vides, for each class of the API, a basic implementa- measures. It relies on Ontowrap. tion and offers the following services: – Storing, finding, and sharing alignments; 3.1. Ontowrap – Piping matching algorithms (improving an exist- ing alignment); There are many different APIs for ontologies. Even – Manipulating alignments (trimming under a thresh- if the Alignment API is independent from these APIs, old, merging, inverting, and hardening); it is often convenient to interact with them, in particu- – Generating processing output (transformations, lar when one wants to match ontologies. For that pur- axioms, rules); pose, we have designed the Ontowrap API which en- – Comparing alignments (finding differences). capsulates interactions with ontology APIs. The archi- tecture of Ontowrap has been designed to be easily ex- Thus, to quickly instantiate the API, it is sufficient tensible to other ontology APIs. to refine this basic implementation. This will take ad- The Ontowrap package defines the abstract factory vantage of all the services already implemented in the OntologyFactory which is used for generating ontolo- base implementation. It is also possible to define com- gies. Depending on the level of interaction needed with pletely new implementations of the API. The benefit of the ontologies, the factory may provide three levels of this is that such an implementation could still be used ontology interfaces, each one extending the previous by the tools which rely on the Alignment
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages8 Page
-
File Size-