VisOn Documentation
VisOn (for Visualisation
of Ontologies) is the tool initially developed to
represent ontologies as graphs. It quickly evolved to
embed the alignment functions and offers different
functionalities. We hope this document will be helpful
to anyone using VisOn, as it presents the several
features available.
1. Getting the files and
running the application
The last version of the OL-Graph implementation and the
VisOn tool, as well as the alignment program, can be found on our CVS
server by logging anonymously.
$ cvs -d :pserver:cvs@cvs-sop.inria.fr:/CVS/exmosoft
login
- ENTER return when asked for the password -
$ cvs -d :pserver:cvs@cvs-sop.inria.fr:/CVS/exmosoft checkout ontoalign
The required packages are located in the lib/ directory
of the archive. For example, you will find there the
OWL API package and
the modified JGraph JAR file. To run
the application, just run the 'VisOn' target in ant after compiling.
$ ant compile
$ ant run VisOn
2. Building an OL-Graph
from an ontology file
The VisOn tool is based upon the
construction of graphs named OL-Graph from the OWL structure of the
ontology. This work is done underneath each time the user loads an
ontology. More details on the structure of OL-Graph coming soon. If
you have any question, feel free to
contact
us.
3. Visualization of an ontology as an OL-Graph
The main window of VisOn allows to perform different
operations, the different tabs corresponding to these functionalities.
The "Visualization" tab allows to visualize an ontology.
To do so, you can load it from the local file system or typing its URI
in the popup window appearing when choosing "File/Load...". You
can also enter its URI directly in the address bar then pressing the
"Visualize" button.
When the ontology is correctly loaded, its URI is
displayed in the bar and the panel displays in as an OL-Graph.
4. Aligning two ontologies
The "Alignment" tab allows to perform an alignment
between two ontologies, specifying their URI or using the "Load" button.
You also have to define some important parameters for the alignment
process, like the different weights of the entities and their
properties. You must also choose the algorithm which will be used to
align the ontologies, and the lexical function : right now, you can
either use lexical similarity with WordNet or simply use a
StringDistance function. These functions are listed in another file,
similarityFunctions.xml.
The algorithms you wanna be able to use have to be
described in the algorithms directory of the application. They
are defined in XML files and contain different informations.
Click
here to see a sample algorithm file.
Each 'param' item describes a parameter required for
this algorithm. The sample file shows that this algorithm needs : the
two OL-Graph objects built from the ontologies, the two OWLOntology
objects, an existing alignment et a threshold.
This same algorithms directory must also contain a
file named nodeWeights.xml, which describes the different weights
for the entities, as well as their default values. The similarity
computation uses these weights during the process, and you will have to
set them by accessing the "Edit/Set Alignment Parameters" menu item. If
they are not defined when you try to align two ontologies, you will be
prompted to do so.

Once
the alignment is performed, a table displays the aligned
entities with the similarity measure between them, and
you can save the alignment result in an XML file like
this one.
Example of displayed results for the
alignment of classes :

5. Visualizing two
ontologies in a parallel way
The "Aliggnment Visualization" tab allows to visualize
two ontologies side by side in order to compare their structure. In the
future, once these ontologies are aligned it will be possible to see
which entities go together : by clicking on an entity from the graph of
first ontology, the second graph will focus on the aligned entity.
6. Alignment Evaluation
It is possible to compare two
alignments performed between the same two ontologies, for example if
you want to compare two different algorithms. To do so, you must
select the "Alignments Comparison" tab, then load the two aligments
from the local file system or by typing their URIs. You can then
launch the comparison process, which will display the results that
you can saved in an XML file.
<?xml version='1.0' encoding='utf-8'
standalone='yes'?>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
xmlns:map='http://www.atl.external.lmco.com/projects/ontology/ResultsOntology.n3#'>
<map:output rdf:about=''>
<map:precision>1.0</map:precision>
<map:recall>0.610738255033557</map:recall>
<fallout>0.0</fallout>
<map:fMeasure>0.7583333333333334</map:fMeasure>
<map:oMeasure>0.610738255033557</map:oMeasure>
<result>0.610738255033557</result>
</map:output>
</rdf:RDF>
7. Alignment
Production
It is possible to
produce manually an alignment in the "Alignment
Production" tab, choosing one by one the different
entities you want to align and the value of the
similarity.

8.
Work in progress and improvements
Better errors management : Right now, some errors
still cause the Java Exceptions to display in the console instead of
displaying a popup message. It would be nice to centralize the error
management to avoid this kind of behaviour.
Graph Layout : The layout problem has been put
aside for now, but with big ontologies the displayed graph is not very
clear. It depends from the JGraph community, who is working on the
problem right now, but we could develop a specific algorithm for our
application.
Graph look : It would be interesting for the user
to be able to change the looks and the colors used to represent the
entities. |