A format for ontology alignment

A format for expressing ontology alignment is provided here. Its goal is to be able to express an alignment in a consensual format. It can then be manipulated by various tools which will use it as imput for further alignment methods, transform it into axioms or transformations or compare different alignments.

This is a first format that could be extended for accomodating further needs.

We describe below its source descriptions, its specifications and some implementations.

Specifications

There are two specifications of the format:

OWL Ontology
An OWL description of the format which can then be described in RDF. This is the reference description of the format.
DTD
A DTD for expressing the same format in RDF/XML. It is useful for tools which wants to have a more fixed format than RDF.

The namespace used by these formats is http://knowledgeweb.semanticweb.org/heterogeneity/alignment.

Format descriptions

Alignment class

The Alignment class describes a partlicular alignment. Its properties are the following:

xml
(value: "yes"/"no") indicates if the alignment can be read as an XML file compliant with the DTD;
level
(values: "0", "1", "2OWL") the level of alignment
type
(values: "11"/"1?"/"1+"/"1*"/"?1"/"??"/"?+"/"?*"/"+1"/"+?"/"++"/"+*"/"*1"/"*?"/"?+"/"**") the type of alignment;
onto1
(value: URL) the first ontology to be aligned;
onto2
(value: URL) the second ontology to be aligned;
map
(value: Cell*) the set of correspondance between entities of the ontologies.

Cell class

entity1
(value: URI) the URI of some entity of the first ontology;
entity2
(value: URI) the URI of some entity of the second ontology;
measure
(value: float between 0. and 1.) the confidence in the assertion that the relation holds between the first and the second entity (the value is given as a distance between entities: the higher the smallest the value, the higher the confidence);
relation
(value: String, see below) the relation holding between the first and second entity.

Relation class

This class does not currently exists in the format (it exists in its implementation). Currently, the relation is expressed as a string.

Implementations

JAVA implementation

There is a JAVA API, extending the OWL API implementing this format.

We have implemented this API and provided tools for:

This API and its implementation could fairly easily be adapted to other representation languages than OWL.

There is a small stand-alone program that parses an alignment and displays it ($CWD is the directory where you are):

$ java -jar lib/procalign file://localhost$$CWD/rdf/onto1.owl file://localhost$CWD/rdf/onto2.owl 
<?xml version='1.0' encoding='utf-8' standalone='no'?>
<!DOCTYPE rdf:RDF SYSTEM "align.dtd">

<rdf:RDF xmlns='http://knowledgeweb.semanticweb.org/heterogeneity/alignment'
         xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xmlns:xsd='http://www.w3.org/2001/XMLSchema#'>
<Alignment>
  <xml>yes</xml>
  <type>11</type>
  <onto1>file://localhost$CWD/rdf/onto1.owl</onto1>
  <onto2>file://localhost$CWD/rdf/onto2.owl</onto2>
  <map>
    <Cell>
      <entity1 rdf:resource='http://www.example.org/ontology1#journalarticle'/>
      <entity2 rdf:resource='http://www.example.org/ontology2#journalarticle'/>
      <measure rdf:datatype='xsd:float'>0.0</measure>
      <relation>=</relation>
    </Cell>
  </map>
</Alignment>
</rdf:RDF>


http://alignapi.gforge.inria.fr/format.html

$Id: format.html 220 2006-02-18 17:23:54Z euzenat $