A format for ontology alignment

The Alignment API use a general Alignment format. 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.

JAVA implementation

The Alignment API implements this format. In particular it provides tools for:

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://$CWD/rdf/onto1.owl file://$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://$CWD/rdf/onto1.owl</onto1>
  <onto2>file://$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 467 2007-04-21 06:06:36Z euzenat $