<!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>Ontohub</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Version Control</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Linked Data</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Theorem Proving for Ontologies</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Otto-von-Guericke University of Magdeburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ontohub is a repository engine for managing distributed heterogeneous ontologies. The distributed nature enables communities to share and exchange their contributions easily. The heterogeneous nature makes it possible to integrate ontologies written in various ontology languages. It supports a wide range of formal logical and ontology languages as well as various structuring and modularity constructs and inter-theory (concept) mappings, building on the OMG-standardized DOL language. Ontohub aims at satisfying a subset of the requirements for an Open Ontology Repository (OOR). OOR is a long-term international initiative, which established requirements and designed an architecture. Ontohub is the first repository engine meeting a substantial amount of OOR's requirements, including an API for federation as well as support for logical inference and axiom selection.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>ontology</kwd>
        <kwd>repository</kwd>
        <kwd>Git</kwd>
        <kwd>linked data</kwd>
        <kwd>logical inference</kwd>
        <kwd>heterogeneity</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Concept and Central Features of Ontohub</title>
      <p>Ontologies play a central role for enriching data with a conceptual semantics and
hence form an important backbone of the Semantic Web. The number of
ontologies that are being built or already in use is steadily growing. Hence, facilities for
organizing ontologies, searching and maintenance are becoming more important.
Ontohub is a novel web-based repository engine. Its distinctive features are:
multiple repositories ontologies can be organized in multiple repositories, each
with its own management of editing and ownership rights,</p>
      <p>
        Concerning the last feature, Ontohub fully supports the Distributed Ontology
Language (DOL), which is an Object Management Group (OMG) specification,
see [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] and http://dol-omg.org. DOL provides a unified framework for (1)
ontologies formalized in heterogeneous logics like OWL, Common Logic, TPTP and
higher-order logic, (2) modular ontologies, (3) mappings between ontologies
including ontology alignments, interpretation of theories, conservative extensions,
translation to other ontology languages – all equipped with a formal semantics.
      </p>
      <p>Users of Ontohub can upload, browse, search and annotate basic ontologies in
various languages via a web frontend, see https://ontohub.org. Ontohub is open
source under GNU AGPL 3.0 license, the sources are available at https://github.
com/ontohub/ontohub. Currently, Ontohub has 200 registered users, which include
ontology researchers, ontology developers as well as master and PhD students.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Existing ontology resources on the web include search engines like Swoogle,
Watson, and Sindice. They concentrate on (full-text and structured) search and
querying. Ontology repositories also provide persistent storage and maintenance.
TONES [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a repository for OWL [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] ontologies that provides some metrics,
as well as an OWL sublanguage analysis. BioPortal [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is a repository that
originates in the biomedical domain, but now has instances for various domains.
Beyond browsing and searching, it provides means for commenting and aligning
ontologies. Besides OWL, also related languages like Open Biomedical Ontologies
(OBO) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] are supported. The NeOn Toolkit [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] supports searching, selecting,
comparing, transforming, aligning and integrating ontologies. It is based on the
OWL API and is no longer actively maintained.
      </p>
      <p>
        The Open Ontology Repository (OOR) initiative aims at “promot[ing] the
global use and sharing of ontologies by (i) establishing a hosted
registryrepository; (ii) enabling and facilitating open, federated, collaborative ontology
repositories, and (iii) establishing best practices for expressing interoperable
ontology and taxonomy work in registry-repositories, where an ontology repository
is a facility where ontologies and related information artifacts can be stored,
retrieved and managed” [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. One important goal of OOR is the support of ontology
languages beyond OWL, for example Common Logic. Another goal is the support
of logical inference. OOR is a long-term initiative, which has not resulted in a
complete implementation so far1, but established requirements and designed an
architecture.2 Ontohub is unique in following OOR’s ambitious goals.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Working with Ontohub</title>
      <p>Ontohub’s main use case is to manage ontologies which are stored in repositories
in Ontohub. How to accomplish this basic task is described in the video tutorial at
http://wiki.ontohub.org/index.php/Tutorial. The user can upload an ontology
file to one of Ontohub’s existing repositories, or create a new repository to store
ontologies in. After the ontology is saved, it is evaluated by the parsing and
inference backend. As soon as this step is finished, the user has access to the
1The main implementation used by OOR is (a cosmetically adapted) BioPortal, which however
does not follow the OOR principles very much.</p>
      <p>2See http://tinyurl.com/OOR-Requirement and http://tinyurl.com/OOR-Candidate3, respectively
ontology’s details like the underlying logic, its symbols and their kind, mappings
from and to other ontologies, child ontologies (in case of a DOL ontology library),
its axioms and its proof obligations (called theorems in Ontohub for simplicity).</p>
      <p>Ontohub stores ontologies as parts of ontology repositories. Each ontology
repository in Ontohub is directly linked to a Git repository. Therefore, Ontohub
supports all aspects of version control that Git provides, including support for
non-linear distributed ontology development. Different versions of an ontology are
available via Git-clients, the Ontohub web application and the Ontohub API.</p>
      <p>If the user already has a Git or subversion repository containing ontologies,
it can be forked or mirrored by Ontohub. This creates a server-local copy of the
existing repository in the web application and allows to analyze the ontologies
on the server. In case of forking the repository, the new copy can be changed
independently of the original repository. In case of mirroring the repository, the
copy is a read-only repository in Ontohub which gets synchronized daily with the
original one.</p>
      <p>Users can be grouped to teams. Both users and teams can be added as
readers, editors or owners to a repository for permission management. Repositories
can be public or private with respect to readability or writability. While owners
are able to manage repository metadata (like e.g. permissions and a description
text), editors are allowed to modify files inside the repository. Ontologies in public
repositories are readable by anyone. Ontologies in private repositories, however,
are only readable by owners, editors and designated readers of the repository.</p>
      <p>Git repositories can be cloned from Ontohub to the local machine via SSH
or, for publicly readable repositories via HTTP. SSH access is given as soon as
an SSH-key is associated with the user’s Ontohub account.</p>
      <p>Modification of files can be achieved in several ways: (1) A file can be
uploaded via the web interface and the target path points to an existing file. (2) An
existing file can be edited directly in the web interface. In both cases, the web
application commits a newer version of the file to the Git repository. (3) Files
can be modified in a local clone of the Git repository. The local commits can
then be pushed to Ontohub via SSH. In all cases, the old version of the ontology
persists in the repository and is accessible. For each commit, Ontohub analyzes
the ontology files and creates versioned metadata for the ontologies.</p>
      <p>
        If an ontology contains theorems, a user with write permissions can attempt
to automatically prove these proof obligations. The web interface for proving
presents a list of available provers for the ontology and allows to select some
additional parameters like proving timeout and axioms allowed to use in the proof
attempt. Ontohub implements a prover-independent variant of the SInE [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] axiom
selection heuristic. Entering parameters for this heuristic or selecting axioms one
by one for proving are the choices for selecting axioms. For each selected prover,
Ontohub runs asynchronous proof attempts in parallel. As soon as a proof attempt
is finished, its details can be seen on the web page of the corresponding theorem.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Architecture of Ontohub</title>
      <p>Fig. 1 depicts the Ontohub architecture. The most challenging part of Ontohub’s
implementation is the complex tool integration. The key feature of the OOR
architecture is the decoupling into decentralised services, which are ontologically
described (thus arriving at Semantic Web services). With Ontohub, we are moving
Parsing and
Static Analysis</p>
      <p>Hets
OWL API</p>
      <p>BioPortal
towards the OOR architecture, while keeping a running and usable system. We
now briefly describe these services.</p>
      <p>The services are centrally integrated by the Ontohub integration layer, which
is a Ruby on Rails application that also includes the presentation layer, i.e. a
front-end providing the web interface, as well as the administration layer, i.e. user
rights management and authorisation.</p>
      <p>The persistence layer is based on Git (via git-svn, also Subversion repositories
can be used) and an SQL database. The database backend is PostgreSQL, but
in principle any database supported by Rails (e.g. MySQL, SQLite) could be
used. For the Git integration into the web application, a custom Git client was
implemented in Ruby to be less prone to errors due to changes in new versions of
the official Git command line client.</p>
      <p>Efficient indexing and searching (the find layer) is done via elasticsearch.</p>
      <p>A federation API allows the data exchange among Ontohub and also with
BioPortal instances. We therefore have generalised the OWL-based BioPortal API
to arbitrary ontology languages, e.g. by abstracting classes and object properties
to symbols of various kinds.</p>
      <p>
        Parsing and static analysis is a RESTful service of its own provided by the
Heterogeneous Tool Set (Hets [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], available at http://hets.eu). Hets supports a
large number of basic ontology languages and logics and is capable of describing
the structural outline of an ontology from the perspective of DOL, which is not
committed to one particular logic. Hets returns the symbols and sentences of an
ontology in XML format. Hets can do this for a large variety of ontology languages,
while the OWL API does scale better for very large OWL ontologies. The latter
is an example for a service of Ontohub which is provided for a restricted set of
ontology languages.
      </p>
      <p>
        We have integrated OOPS! [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] as an ontology evaluation service (for OWL
only), and from the OOPS! API, we have derived a generalised API for use with
other evaluation services.
      </p>
      <p>Inference is done by encapsulating standard batch-processing reasoners
(Pellet, Fact, SPASS, Vampire etc.) into a RESTful API through Hets (which has been
interfaced with 15 different reasoners). Integrating support for logical inference
required a substantial extension of Hets’s HTTP interface which returns proof
details in JSON format. The prover-independent implementation of the SInE
algorithm is a novelty in this field. In Ontohub, it operates independently of the
prover and, thus, supports any prover available in Ontohub.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and Future Work</title>
      <p>
        Ontohub is on its way from a research prototype to productive use. The FOIS 2014
ontology competition has used Ontohub as platform for uploading ontologies used
in submissions, see https://ontohub.org/fois-ontology-competition. Ontologies
used in FOIS papers often need expressiveness beyond OWL; here, the multi-logic
nature of Ontohub is essential. Future work will improve stability and useability,
and include the completion of full DOL support and the integration of ontology
evaluation and workflow tools. The integration of interactive provers bears many
challenges; a first step is the integration of Isabelle via the web interface Clide
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] developed by colleagues in Bremen, which is currently equipped with an API
for this purpose.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>Mossakowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Codescu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Lange</surname>
          </string-name>
          .
          <article-title>The Distributed Ontology, Modeling and Specification Language</article-title>
          . In C. D. V. et al., editor,
          <source>WoMO-13</source>
          , volume
          <volume>1081</volume>
          .
          <string-name>
            <surname>CEUR-WS</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Object</given-names>
            <surname>Management Group</surname>
          </string-name>
          .
          <article-title>The distributed ontology, modeling, and specification language (DOL</article-title>
          ),
          <year>2015</year>
          . OMG draft standard available at https://ontoiop.org.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] The Tones repository</article-title>
          . http://www.inf.unibz.it/tones.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kutz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <article-title>The Even More Irresistible SROIQ</article-title>
          .
          <source>In KR2006</source>
          , pages
          <fpage>57</fpage>
          -
          <lpage>67</lpage>
          . AAAI Press,
          <year>June 2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>N.</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. H.</given-names>
            <surname>Shah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. L.</given-names>
            <surname>Whetzel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Dai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dorf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Griffith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jonquet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.-A.</given-names>
            <surname>Storey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Chute</surname>
          </string-name>
          , et al.
          <article-title>Bioportal: ontologies and integrated data resources at the click of a mouse</article-title>
          .
          <source>Nucleic acids research</source>
          ,
          <volume>37</volume>
          (
          <issue>suppl 2</issue>
          ):
          <fpage>W170</fpage>
          -
          <lpage>W173</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ashburner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rosse</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Bug</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Ceusters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. J.</given-names>
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Eilbeck</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ireland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. J.</given-names>
            <surname>Mungall</surname>
          </string-name>
          , et al.
          <article-title>The OBO Foundry: coordinated evolution of ontologies to support biomedical data integration</article-title>
          .
          <source>Nature biotechnology</source>
          ,
          <volume>25</volume>
          (
          <issue>11</issue>
          ):
          <fpage>1251</fpage>
          -
          <lpage>1255</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>The</given-names>
            <surname>NeOn Ontology Engineering Toolkit</surname>
          </string-name>
          ,
          <year>2008</year>
          . http://www.neon-project.
          <source>org/.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Open</given-names>
            <surname>Ontology Repository</surname>
          </string-name>
          (OOR),
          <year>2012</year>
          . http://oor.net.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hoder</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          .
          <article-title>Sine Qua Non for Large Theory Reasoning</article-title>
          .
          <source>In CADE 23</source>
          , pages
          <fpage>299</fpage>
          -
          <lpage>314</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>T.</given-names>
            <surname>Mossakowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Maeder</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Lüttich</surname>
          </string-name>
          .
          <article-title>The Heterogeneous Tool Set</article-title>
          . In O. Grumberg and M. Huth, editors,
          <source>TACAS</source>
          <year>2007</year>
          , volume
          <volume>4424</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>519</fpage>
          -
          <lpage>522</lpage>
          . Springer-Verlag Heidelberg,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Poveda-Villalón</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Suárez-Figueroa</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gómez-Pérez</surname>
          </string-name>
          .
          <article-title>Validating Ontologies with OOPS! In Knowledge Engineering and Knowledge Management</article-title>
          , pages
          <fpage>267</fpage>
          -
          <lpage>281</lpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Lüth</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Ring</surname>
          </string-name>
          .
          <article-title>A web interface for Isabelle: The next generation</article-title>
          .
          <source>In Intelligent Computer Mathematics</source>
          , pages
          <fpage>326</fpage>
          -
          <lpage>329</lpage>
          . Springer Berlin Heidelberg,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>