<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>OWLGrEd: a UML Style Graphical Notation and Editor for OWL 2</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jānis Bārzdiņš</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guntis Bārzdiņš</string-name>
          <email>Guntis.Barzdins@lumii.lv</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kārlis Čerāns</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Renārs Liepiņš</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Artūrs Sproģis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Mathematics and Computer Science, University of Latvia</institution>
          ,
          <addr-line>Raina blvd. 29, LV-1459, Riga</addr-line>
          ,
          <country country="LV">Latvia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>There have been several attempts to visualize OWL ontologies with UML style diagrams. Unlike ODM approach of defining a UML profile for OWL, we propose an extension to UML class diagrams (hard extension) that allows a more compact OWL visualization. The compactness is achieved through the native power of UML class diagrams extended with optional Manchester encoding for class expressions thus avoiding many explicit anonymous classes typical in ODM. We have implemented the proposed compact visualization in a UML style graphical editor for OWL 2. The editor contains a rich set of graphical layout algorithms for automatic ontology visualization, search facilities, graphical refactoring and interoperability with Protégé 4.</p>
      </abstract>
      <kwd-group>
        <kwd>OWL</kwd>
        <kwd>graphical editor</kwd>
        <kwd>visualization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        OWL is gradually becoming the most widely used knowledge representation language
that has been successfully deployed in a number of applications. Due to formal
semantics and availability of reasoners for OWL, it is gaining popularity also in the
software engineering community so far largely dominated by UML. Many
newcomers have a background in software engineering where UML diagrams are the
prevalent form of data modeling and they share many characteristics with OWL
ontologies. Although the two languages are similar and it would be natural to reuse
the existing familiarity, the UML notation cannot be used as is, because some OWL
constructs have no equivalents in UML. A number of solutions have been proposed
[
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ], the most notable is ODM [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that defines a UML profile for OWL. The main
advantage of ODM approach is the possibility to use existing UML tools for ontology
modeling. Meanwhile the price for this compatibility is more verbose notation that is
hard to understand and does not facilitate comprehensibility.
      </p>
      <p>In our opinion the most important feature for archiving readable graphical OWL
notation is its maximum compactness. We are using UML notation as far as possible,
but for concepts that are unique to OWL we extend UML with additional symbols and
textual expressions (chapter 2). To make the notation usable in practice we have built
an editor implementing it and supporting a number of features to ease ontology
creation and exploration (chapter 3). The latest version of the editor can be
downloaded from http://OWLGrEd.lumii.lv.</p>
      <p>2</p>
    </sec>
    <sec id="sec-2">
      <title>Extended UML Notation for OWL</title>
      <p>
        The proposed graphical notation is based on UML class diagrams. For most features
there is one to one mapping from OWL to UML concepts, e.g. ontologies to
packages, OWL classes to UML classes, data properties to class attributes, object properties
to associations, individuals to objects, etc. Meanwhile for OWL concepts not having a
good UML equivalent, the following new extension notations were added:
• a field in classes for equivalent class, superclass and disjoint class expressions
written in Manchester OWL syntax [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ];
• a field in associations and attributes for specifying equivalent, disjoint and
super properties as well as a field for specifying property characteristics, e.g.,
functional, transitive, etc.;
• anonymous classes containing equivalent class expression but no name;
• connectors for visualizing disjoint, equivalent, etc. axioms;
• boxes with connectors for n-ary disjoint, equivalent, etc. axioms;
• connectors for visualizing object property restrictions some, only, exactly, etc.
The main advantage of these extensions is the option to specify class expressions in
compact textual form rather than using separate graphical element for each logical
class, constructor (and, or, not) and restriction, in cases where the expression is
referenced only once. If the expression is referenced in multiple places, it can
optionally be shown as an anonymous class. An anonymous class is also used as a
base for property domain/range specification, if this domain/range is not a class.
      </p>
      <p>
        To better understand the proposed notation lets consider an example in Figure 1
that depicts the popular African wildlife ontology [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] using our extended UML
notation. At first glance it is very similar to an ordinary class diagram, therefore it
should be immediately understandable by most people with software engineering
background. On a closer inspection we can see that it also includes a number of
extensions, namely classes Carnivore and Herbivore have a field that contains the
equivalent class expression in Manchester syntax, there are a number of red
connectors that correspond to property restrictions and there is a line between Plant
and Animal for showing that they are disjoint. We believe that the example is intuitive
and the meaning of the newly introduced symbols can be easily guessed, e.g.
Tastyplant must be eaten by some Carnivore and some Herbivore. Super properties are
depicted as a text next to subproperty’s name, e.g. {&lt;eaten-by} next to subproperty
name eaten-by-animal (symbol ‘&lt;‘ corresponds to ‘subproperty’ in UML notation).
      </p>
      <p>We propose alternate notation possibilities for a number of OWL constructs, e.g. a
graphical and textual form for subclass relation and for object property restrictions,
and class disjointness specification by dependency links, by an n-ary disjointness
symbol with multiple dependency links, or by a tag at a subclass fork symbol.</p>
      <p>Plant</p>
      <p>Tasty-plant</p>
      <p>Tree
is-part-of
only</p>
      <p>Leaf
eats only
is-part-of
{tran}</p>
      <p>Thing
eaten-by</p>
      <p>eats
&lt;&lt;disjoint&gt;&gt;</p>
      <p>Carnivore
eaten-by some = Animal
and eats some Animal</p>
      <p>Lion
eaten-by-animal
{&lt;eaten-by}
Animal
= Animal Herbivore
and eats only(Plant</p>
      <p>or (is-part-of onlyPlant))
eats eaten-by
only some</p>
      <p>Giraffe</p>
    </sec>
    <sec id="sec-3">
      <title>Services of the Editor</title>
      <p>
        The OWLGrEd editor is implemented using transformation driven architecture (TDA)
[
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] and it has a number of special services to ease ontology development. One of
the services is graphical refactoring that allows modifying graphical notation without
changing semantics as long as the same concept can be expressed through different
constructions. This feature allows the user to choose the most compact graphical
format depending on the context and the taste. A typical situation illustrating the need
for graphical refactoring is generalization and fork: if there is a single super class with
multiple incoming generalization lines, a fork can be added to reduce multiple lines
into a single line, and vice versa.
      </p>
      <p>When ontologies become large, their management becomes difficult and besides
support for import of modularized ontologies additional features are required from the
editor. First, a good automatic layout is crucial for understanding large ontologies,
therefore several alternative layout modes are supported. Second, searching for the
specific element in large ontologies may become painful and irritating without an
appropriate service. A search mechanism implemented in our editor allows finding
the necessary element by specifying the value for one of its text fields. For example, it
allows finding classes by their name or the value of any other text field.</p>
      <p>
        A more advanced service is full interoperability with Protégé 4 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], an editor
widely used by ontology developers. The interoperability allows ontology developers
to use Protégé without changing their habits and afterwards visualize ontologies or
their fragments in our graphical editor using various automatic layout algorithms
along with manual layout tuning. Moreover, a user can specify the way ontologies
will be visualized by selecting the exported information and notation options in
preferences (e.g. only parts of ontology such as all classes and object properties but
not instances can be sent for visualization).
      </p>
      <p>In our graphical editor ontology developers can create new ontologies from scratch
or alternatively edit graphically ontologies imported from Protégé; all graphically
developed ontologies can afterwards be exported to Protégé from where they can be
stored to various formats or checked with OWL reasoners.</p>
      <p>4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>
        In this paper we described a new, compact OWL graphical notation and a
betaversion implementation of the actual graphical editor. Our notation is based on UML
class diagrams with additional constructs for OWL specific concepts – our aim is to
cover full OWL 2.0 specification. The use of TDA platform [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] has allowed
developing OWLGrEd as a new editor that is not limited by possibilities offered by
UML notation (including its profile mechanism), but where the extensions to the
UML notation can be easily introduced, as necessary. The editor has also a number of
features to ease ontology exploration and development, e.g. automatic layout
algorithms and options for selecting which concepts shall be displayed. We are
planning to add an option to store graphic layout information inside ontologies (we
consider adding it as a special kind of annotations). We would also like to improve
integration with Protégé, in particular, to synchronize ontologies in both tools after
every editing step - current implementation allows exchanging only whole ontologies.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>ODM</given-names>
            <surname>UML profile for</surname>
          </string-name>
          <string-name>
            <surname>OWL</surname>
          </string-name>
          , http://www.omg.org/spec/ODM/1.0/PDF/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>TopBraid</given-names>
            <surname>Composer</surname>
          </string-name>
          , http://www.topquadrant.com/products/TB_Composer.html
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Brockmans</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberhart</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Löffler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Visual Modeling of OWL DL Ontologies Using UML</article-title>
          ,
          <source>Proc. of ISWC</source>
          <year>2004</year>
          , LNCS 3298,
          <year>2004</year>
          , pp.
          <fpage>198</fpage>
          -
          <lpage>213</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>4. OWL 2 Manchester Syntax, http://www.w3.org/TR/owl2-manchester-syntax/</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Antoniou</surname>
          </string-name>
          , G., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F. A Semantic</given-names>
          </string-name>
          <string-name>
            <surname>Web</surname>
            <given-names>Primer</given-names>
          </string-name>
          ,
          <source>2nd Edition</source>
          , MIT Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Barzdins</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rencis</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlovics</surname>
            ,
            <given-names>S. The</given-names>
          </string-name>
          <string-name>
            <surname>Transformation-Driven</surname>
            <given-names>Architecture</given-names>
          </string-name>
          ,
          <source>Proc. of 8th OOPSLA Workshop on Domain-Specific Modeling. Nashville, USA</source>
          ,
          <year>2008</year>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>63</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Barzdins</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kozlovics</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rencis</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zarins</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>A Graph Diagram Engine for the Transformation-Driven Architecture</article-title>
          ,
          <source>Proc. of 4th MDDAUI. Florida, USA</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>29</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>8. Protégé, http://protege.stanford.edu/</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>