Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<html>
<head>
<title>Alignment API: API structure</title>
<!--style type="text/css">@import url(style.css);</style-->
<link rel="stylesheet" type="text/css" href="base.css" />
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body bgcolor="#ffffff">
<center><h1>Alignment API: API structure</h1></center>
<p>
The Alignement API package name is <tt>org.semanticweb.owl.align</tt>. This package name is used for historical reasons. In fact, the API itself is fully independent from OWL or the OWL API.
</p>
<p>
The API is essentially made of three interfaces. We present here, under the term "features", the
information that the API implementation must provide.
For each feature, there are the usual
reader and writer accessors.
</p>
<p>
Concrete implementation of the API is described in
the <a href="builtin.html">implementation page</a>.
RDF/XML rendering is presented in the <a href="format.html">format</a>
and <a href="edoal.html">EDOAL</a> pages.
</p>
<h2>Ontology networks</h2>
<p>
</p>
<h2>Alignments</h2>
<p>The <tt>Alignment</tt> interface describes a particular alignment. It contains a specification of the alignment and a list of cells. Its features are the following:
<dl>
<dt><tt>xml</tt>
(value: "yes"/"no")</dt><dd>indicates if the alignment can be read as an XML file compliant with the DTD;</dd>
<dt><tt>level</tt> (values "0", "1", "2*")</dt><dd>indicates the level of Alignment format used;</dd>
<dt><tt>type</tt>
(values: "11", "1?", "1+", "1*", "?1", "??", "?+", "?*", "+1", "+?",
"++", "+*", "*1", "*?", "?+", "**")</dt><dd>the type of alignment;</dd>
<dt><tt>onto1</tt>
(value: <a href="ontowrap.html">Ontology</a>)</dt><dd>the first ontology to be aligned;</dd>
<dt><tt>onto2</tt>
(value: <a href="ontowrap.html">Ontology</a>)</dt><dd>the second ontology to be aligned;</dd>
<dt><tt>map</tt>
(value: <tt>Cell</tt>*)</dt><dd>the set of correspondences between entities of the ontologies.</dd>
</dl></p>
<p>In addition, the interface specifies operations:
<dl>
<dt>thresholding: <tt>Alignment.cut(double)</tt></dt><dd> an alignment with threshold as argument;
<dt>hardening: <tt>Alignment.harden(double)</tt></dt><dd> an alignment by considering that all
correspondences whose strength is strictly greater than the
argument is converted to the maximum confidence, the others being
set to the minimum;</dd>
<dt>outputting: <tt>Alignment.render(visitor)</tt></dt><dd> alignment in a particular format (SWRL, OWL, XSLT, RDF, etc.).</dd>
</dl>
</p>
<h2>Correspondences (<tt>Cell</tt>)</h2>
<p>The <tt>Cell</tt> interface describes a particular correspondence between entities.
It provides the following features:
<dl>
<dt><tt>rdf:about</tt>
(value: URI, optional)</dt><dd>the URI identifying the current correspondence;</dd>
<dt><tt>entity1</tt>
(value: Object, URI, <a href="edoal.html">EDOALExpression</a>)</dt><dd>an entity of the first ontology;</dd>
<dt><tt>entity2</tt>
(value: Object, URI, <a href="edoal.html">EDOALExpression</a>)</dt><dd>an entity of the second ontology;</dd>
<dt><tt>relation</tt>
(value: <tt>Relation</tt>)</dt><dd>the relation holding between the first and second entity;</dd>
<dt><tt>measure</tt>
(value: float between 0. and 1.)</dt><dd>the confidence in the assertion that the relation holds between the first and the second entity (the higher the value, the higher the confidence).</dd>
</dl></p>
<p><b>Note:</b>
In a further version the strength will not be restricted to double but abstracted so
that it is possible to define properly a composition algebra.
</p>
<h2>Relations</h2>
<p>The <tt>Relation</tt> interface does not mandate any particular
feature.
</p>
<p>
To these three main interfaces, implementing the format, are added a
couple of other interfaces and classes.
</p>
<h2>AlignmentProcess</h2>
<p>
The <tt>AlignmentProcess</tt> interface extends the Alignment interface by providing an <tt>align</tt> method.
This interface must be implemented for each matching algorithm.
</p>
<dt>computing: <tt>Alignment.align(Alignment, Properties)</tt></dt><dd> the alignment, with input alignment;</dd>
<h2>Evaluator</h2>
<p>
The <tt>Evaluator</tt> interface describes the comparison of two alignments (the first one could serve as a reference).
Its features are the following:
<dl>
<dt><tt>align1</tt> (value: URI)</dt><dd>a first alignment, sometimes the reference alignment;
<dt><tt>align2</tt> (value: URI)</dt><dd>a second alignment which will be compared with the first one.
</dl>
</p>
<dt><a href="eval.html">comparing</a>: <tt>Evaluator.eval(Properties)</tt></dt><dd> one alignment with another;</dd>
<h2>AlignmentException</h2>
<p>The <tt>AlignmentException</tt> class specifies the kind of
exceptions that are raised by matching algorithms and can be used by
alignment implementations.</p>
<h2>AlignmentVisitor</h2>
<p>
The <tt>AlignmentVisitor</tt> interface specifies a way to traverse
alignment structire. It is used, in particular for rendering alignments.
</p>
<p>
In addition, matching and evaluation algorithms accept parameters in
the form of <tt>java.lang.Properties</tt>. The parameters can be the various
weights used by some algorithms, some intermediate thresholds or the tolerance of some
iterative algorithms.
</p>
<address>
<small>
<hr />
<center>http://alignapi.gforge.inria.fr/api.html</center>
<hr />
$Id$
</small>
</body>
</html>