<!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>Towards an Extensible Web-Based Open-Source Graphical Ontology Editing Framework</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sergejs Kozlovics?</string-name>
          <email>sergejs.kozlovics@lumii.lv</email>
          <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 (Riga</institution>
          ,
          <addr-line>Latvia) Raina blvd. 29, LV-1459, Riga</addr-line>
          ,
          <country country="LV">Latvia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We describe work in progress towards an 1) extensible, 2) web-based, and 3) open-source ontology editor. The domain logic is the same as in our classical desktop-based graphical ontology editor OWLGrEd. Thus, we are bringing the same set of features to the web environment. Moreover, it becomes possible to implement additional web-based features, such as collaborative editing and integration with third-party applications.</p>
      </abstract>
      <kwd-group>
        <kwd>OWLGrEd ontology framework</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>web
graphical ontology editor extensible</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>
        In OWLGrEd, most OWL constructs have a one-to-one mapping to UML
constructs (e.g., OWL classes map to UML classes, while OWL properties map to
UML associations and attributes). OWLGrEd has a compact syntax, where
unnecessary anonymous classes are not visualized. The main strength of OWLGrEd
is the ability to tune graphical presentations to meet various speci c needs. For
instance, domain-speci c pro les can be used to modify graphical elements
depending on their annotations (e.g., to specify a diamond shape at one end of the
connector for UML-like compositions or to alter shapes of particular classes) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
The visual appearance of elements (such as their shapes and colors as well as the
layout and structure) can be changed either manually, or programmatically via
prede ned or user-de ned extensions [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Our goal is to retain the same set of features as in the web-based OWLGrEd.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Moving OWLGrEd to the Web</title>
      <p>To simplify the transition to the web and to minimize the maintenance costs
of existing OWLGrEd features, we retained the code implementing the domain
logic in the classical desktop OWLGrEd. However, we still had to perform the
next two steps.</p>
      <p>
        First, we had to move to the web browser the two main UI components, the
graph diagram editor and the dialog engine (see Figure 1).4 Both components
are essential for a typical scenario: the user starts with an empty diagram or
imports an existing ontology, then adjusts the diagram incrementally (by adding,
moving, and deleting diagram elements and by specifying their properties in
dialog windows), and nally exports the ontology in some serialization format.
4 We use the ajoo library for editing graph-like diagrams [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. We use the DoJo Toolkit
for visualizing dialog windows, https://dojotoolkit.org/.
      </p>
      <p>
        The graph diagram editor relies on an advanced layout algorithm to obtain the
initial layout (e.g., to arrange the whole diagram hierarchically, symmetrically, or
universally) as well as to adjust the existing layout incrementally while the user
edits the diagram [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The dialog engine, in its turn, uses a variation of the same
algorithm to visualize GUI dialogs on-the- y (some of them can be generated by
OWLGrEd extensions at runtime) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Second, we had to deal with network-related issues such as user management,
connection management, data synchronization, and client-server code
interoperation. For that, we rely on webAppOS5, our open-source cloud-based infrastructure
for developing and running web applications [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. The infrastructure was specially
designed for migrating existing standalone applications by providing a single-PC
illusion for them. OWLGrEd is a guinea pig within the webAppOS project. All
client-side and server-side code interoperation is factored out by webAppOS.
Besides, webAppOS provides a means to upload, download, and open OWLGrEd
projects in a way similar to Windows Explorer or macOS Finder. Existing
ontologies (.owl les) can be imported into the web-based OWLGrEd and exported
back in the desired serialization format by means of the web-based \Browse for
le" and \Save as" dialogs, which provide the same user experience as in the
classical desktop-based OWLGrEd.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Bringing Additional Features</title>
      <p>In webAppOS, data can be synchronized not only between the server and the
client but also with other authorized clients (e.g., debuggers or third-party
applications). Thus, the full OWLGrEd project currently being edited (including
all ontology diagrams) can be manipulated from the outside via a web socket
using a documented protocol. One of such third-party applications can be a
collaborative bot for synchronizing diagrams between multiple editors.</p>
      <p>
        Similar features have already been o ered by WebProtege, which uses a
proprietary webhooks-based service Slack6 for that [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Our goal is not to compete,
but complement WebProtege with the ability to edit ontologies graphically. We
are considering the idea of using WebProtege as domain storage for ontologies
being edited graphically in the web-based OWLGrEd.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>The Demo</title>
      <p>The web-based OWLGrEd is expected to be fully open-source, with the ability to
launch it on a private server or as a cross-platform standalone desktop application,
with no technical and licensing obstacles of the classical OWLGrEd.</p>
      <p>The demo re ecting the current work in progress can be found at http:
//webappos.org/owlgred. We show how to 1) import and adjust an existing
ontology; 2) create an ontology from scratch and export it to an .owl le; 3)
5 http://webappos.org
6 https://slack.com
manipulate the diagram programmatically from the outside; 4) upload and open
an OWLGrEd project from the webAppOS desktop.</p>
      <p>Acknowledgments. The work has been supported by European
Regional Development Fund within the project #1.1.1.2/16/I/001, application
#1.1.1.2/VIAA/1/16/214 \Model-Based Web Application Infrastructure with
Cloud Technology Support".</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Barzdins</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barzdins</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liepins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sprogis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>OWLGrEd: a UML style graphical notation and editor for OWL 2</article-title>
          .
          <source>In: Proceedings of OWLED</source>
          <year>2010</year>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liepins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sprogis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ovcinnikova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barzdins</surname>
          </string-name>
          , G.:
          <article-title>Domain-speci c OWL ontology visualization with OWLGrEd</article-title>
          . In: The Semantic Web:
          <article-title>ESWC 2012 Satellite Events</article-title>
          . pp.
          <volume>419</volume>
          {
          <fpage>424</fpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dudas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svatek</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Ontology visualization methods and tools: a survey of the state of the art</article-title>
          .
          <source>The Knowledge Engineering Review</source>
          <volume>33</volume>
          ,
          <issue>e10</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ovcinnikova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liepins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grasmanis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Extensible visualizations of ontologies in OWLGrEd</article-title>
          . ESWC 2019
          <string-name>
            <given-names>Satellite</given-names>
            <surname>Events</surname>
          </string-name>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Freivalds</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kikusts</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Optimum layout adjustment supporting ordering constraints in graph-like diagram drawing</article-title>
          .
          <source>In: Proceedings of the Latvian Academy of Sciences, Section B</source>
          . vol.
          <volume>55</volume>
          , pp.
          <volume>43</volume>
          {
          <issue>51</issue>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nyulas</surname>
            ,
            <given-names>C.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tudorache</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>WebProtege: A cloud-based ontology editor</article-title>
          .
          <source>In: Companion Proceedings of The 2019 World Wide Web Conference</source>
          . pp.
          <volume>686</volume>
          {
          <fpage>689</fpage>
          . WWW '19,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kozlovics</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Calculating The Layout For Dialog Windows Speci ed As Models</article-title>
          . In: Scienti c Papers, University of Latvia. vol.
          <volume>787</volume>
          , pp.
          <volume>106</volume>
          {
          <issue>124</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kozlovics</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The web computer and its operating system: A new approach for creating web applications</article-title>
          .
          <source>Proceedings of the 15th International Conference on Web Information Systems and Technologies</source>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Negru</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haag</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ertl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Visualizing ontologies with VOWL</article-title>
          .
          <source>Semantic Web</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <volume>399</volume>
          {
          <fpage>419</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Mouromtsev</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pavlov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Emelyanov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Razdyakonov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Galkin</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The simple, web-based tool for visualization and sharing of semantic data and ontologies</article-title>
          . In: ISWC P&amp;
          <article-title>D 2015</article-title>
          , CEUR (10
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. OMG: OMG Uni ed
          <article-title>Modeling Language (OMG UML), Version 2.5</article-title>
          . OMG Document Number: formal/15-03-01, http://www.omg.org/spec/UML
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ovcinnikova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Advanced UML style visualization of OWL ontologies</article-title>
          . Proceedings of the Second International Workshop on Visualization and
          <article-title>Interaction for Ontologies and Linked Data co-located with the 15th</article-title>
          <source>International Semantic Web Conference (ISWC 2016) CEUR</source>
          <volume>1704</volume>
          ,
          <issue>136</issue>
          {
          <fpage>142</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Sprogis</surname>
          </string-name>
          , A.:
          <article-title>ajoo: Web based framework for domain speci c modeling tools</article-title>
          .
          <source>Frontiers in Arti cial Intelligence and Applications</source>
          Volume
          <volume>291</volume>
          : Databases and
          <string-name>
            <surname>Information Systems IX</surname>
          </string-name>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <article-title>W3C: OWL 2 web ontology language Manchester syntax (second edition) (11</article-title>
          <issue>December 2012</issue>
          ), https://www.w3.org/TR/owl2-manchester-syntax/
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>