Ontology Visualization
We used a graph-based
approach to represent ontologies in order to make the
comparisons and the alignment easier. It is possible to
visualize ontologies using several tools dedicated to
ontologies (plug-ins for
Protege for
example) or just RDF visualizers. However, we felt that
we needed some visualization tool related to our work
and the construction of OL-Graphs from OWL files.
See a more detailed
description of OL-Graphs here.
The graph structure makes
relationships between language elements
more explicit, e.g., if a class c refers to c'
via a
owl:allValuesFrom
restriction, a path between the corresponding
nodes in the OL-graph will occur. OL-graphs record
further information
that can support comparison, e.g., descriptive knowledge
inherited
from nodes of the same or related categories. Finally,
to
provide the most complete basis for comparison, one may
wish
to bring knowledge encoded in relation types to the
object level.
This could be done by adding edges between objects that
are reverse,
symmetric or transitive for an existing edge or a pair
of edges. Relation types can be handled by saturation of
the graph or
in a lazy way: for
owl:TransitiveProperty by adding transitivity
arcs; for owl:SymmetricProperty
by adding symmetric arcs; for
owl:inverseOf by adding the
reverse arcs (both in generic and individual
descriptions); for
owl:FunctionnalProperty by adding a
cardinality constraint;
owl:InverseFunctionnalProperty is not accounted
for at that stage.
We used the
JGraph API and
extended it to perform the graph representation of the
ontologies.
Below are some examples
of visualization.
Ontology1 :
See the OWL File -
See the visualization
result.
Ontology1 :
See the OWL File -
See the visualization
result.
Right now, a layout
algorithm still needs to adapted to the representation
of ontologies. For example, if you try to visualize the
food ontology, many edges will be overlapping and
the disposition of nodes on the screen isn't optimized. |