<!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>Ontology Design Patterns in WebProtege</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Karl Hammar</string-name>
          <email>karl.hammar@ju.se</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer and Information Science, Linkoping University</institution>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Information Engineering Group, Jonkoping University</institution>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The use of Ontology Design Patterns (ODPs) in ontology engineering has been shown to have bene cial e ects on the quality of developed ontologies, and promises increased interoperability of those same ontologies. Unfortunately, the lack of user-friendly integrated ODP tooling has prevented the adoption of pattern use. This paper demonstrates an extension to the WebProtege ontology engineering environment supporting the nding, specialisation, and integration of ODPs. The extension combines existing approaches with new developments in ODP search, specialisation strategies, and alignment3.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Content Ontology Design Patterns (ODPs) were introduced by Gangemi [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and
Blomqvist &amp; Sandkuhl [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] in 2005, as a means of simplifying ontology
development. ODPs are intended to guide non-expert users, by packaging best practices
into reusable blocks of functionality, to be adapted and specialised by those users
in individual ontology development projects. Presutti et al.[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] de nes a
typology of ODPs, including patterns for reasoning, naming, transformation, etc. The
most common type of pattern, which the author in this paper will subsequently
intend when using the ODP abbreviation, are Content Patterns. A Content
Pattern can be considered roughly analogous to a software design pattern, with the
added bene t that it includes a reference base implementation (in the form of an
OWL building block) ready for immediate customisation. Studies indicate that
the use of ODPs can lower the number of modelling errors and inconsistencies in
ontologies, and that they are by the users perceived as useful and helpful [
        <xref ref-type="bibr" rid="ref1 ref3">1,3</xref>
        ].
      </p>
      <p>
        The use and understanding of ODPs have been heavily in uenced by the
work taking place in the NeOn Project, one result of which is the eXtreme
Design (XD) ontology development method, based on ODP use. XD is in uenced
by the eXtreme Programming agile software development method, and like it,
emphasises incremental test driven development, refactoring, and a
divide-andconquer approach to problem-solving [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Presutti &amp; Gangemi [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] introduces and
discusses ODP usage in XD, and lists a set of operations on ODPs, e.g., import,
3 This work was partially supported by the EU FP7 project Visual Analytics for
Sensemaking in Criminal Intelligence Analysis (VALCRI) under grant number
FP7-SEC2013-608142.
specialisation, and composition. Using ODPs in an e cient manner requires tool
support for performing such operations. While tool support was also developed
within the NeOn project, it was implemented as a set of plugins for NeOn Toolkit
ontology IDE, which early on lost development traction. Consequently, until now,
ontology engineers who wanted to use ODPs in more widely used IDEs had no
appropriate support tooling available to them.
      </p>
      <p>
        The eXtreme Design for WebProtege (XDP) extension4 remedies this
situation by providing tool support for ODP usage in the modern collaborative
ontology engineering platform WebProtege. Additionally, XDP integrates a set
of novel new developments5:
{ Composite search engine - This search engine combines the results of a
traditional vector search with a comparison of query and ODP competency
questions based on relative Levenshtein edit distances, and a comparison of
query term hypernyms to ODP concept synonyms. This method has shown
to improve recall over a test dataset 3-4 times when compared to an existing
state of the art ODP search engine [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
{ ODP specialisation strategy support - As the author has previously
shown [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], the intended use of properties in ODPs can be specialised using
di erent strategies. XDP supports specialisation using property
subsumption, using existential or universal quanti cation restrictions, and combining
both approaches.
{ ODP specialisation alignment suggestions - XDP helps users align
specialised entities with existing entities in the ontology project. This is an
important and previously unsupported operation, particularly in projects
without a dedicated release manager, where developers may need assistance
merging their work with the existing project in a consistent manner.
Alignments are suggested based on string matching techniques over entity labels
and IRI fragments. Initial experimentation shows that even such simple
techniques can cover over 60 % of the alignments in a real world dataset [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>System Design and Features</title>
      <p>In order to make the integration into the existing WebProtege code base as small
and maintainable as possible, the XDP architecture has been designed to consist
of two loosely connected subsystems:
{ Integrated in a fork of the main WebProtege code are client UI
components and the necessary server-side components needed to persist an ODP
to a WebProtege project. These components interoperate by extending the
WebProtege standard GWT-RPC-based dispatch mechanisms.
4 Online demo: http://wp.xd-protege.com, video walkthrough: https://
youtu.be/ZRH6vGXocqU, code: https://github.com/hammar/webprotege
5 Note that as WebProtege does not at the time of writing support owl:imports, import
and specialisation has been implemented through duplicating ODP entities in the
target ontology.
{ Supporting these components, a REST service enables clients to search for
ODPs, to browse ODPs by category, and to fetch the documentation and
OWL representation of a given ODP. This back-end service queries a Lucene
index built from a set of input ODPs and mapping metadata extracted from
the community ODP portal6.</p>
      <p>XDP's user-facing components are housed in a WebProtege UI tab titled
\Design Patterns" (see Figure 1). This tab houses an ODP Selector portlet, and
an ODP Details portlet. The former provides an interface where the user can
browse for ODPs by category, or search over all ODPs using an query string.
Browsing or search results are displayed in the same portlet; when browsing listed
alphabetically, and when searching listed by search engine con dence score.</p>
      <p>Upon selecting an ODP from the result list, the illustration and
documentation for that ODP is displayed in the ODP Details portlet. When the user has
found an appropriate ODP they can run the Specialisation Wizard component,
which guides them through selecting a specialisation strategy to use, specialising
ODP classes and/or properties by subsumption, constraining the semantics of
6 http://ontologydesignpatterns.org
property specialisations, aligning the resulting model with the existing ontology,
and nally, persisting the ODP specialisation into the existing ontology project.</p>
    </sec>
    <sec id="sec-3">
      <title>Discussion and Future Work</title>
      <p>The XDP extension bridges an important tooling gap, by enabling the use of
ODPs in real world projects by real users. This will bring tangible bene ts both
to practitioners doing ontology engineering work and to researchers, who will be
able to use XDP as an environment in which to evaluate realistic ODP usage.</p>
      <p>In addition to the novel features discussed in Section 1, the integration with
WebProtege allows XDP to enable truly distributed ontology engineering with
ODPs, which is potentially a bene cial side e ect. The XD method emphasises
pair development. For small distributed teams it can be hard to motivate travel
and accommodation costs just to put two people in the same room. Using XDP,
those developers can collaborate on a project across geographical boundaries.</p>
      <p>There are some important steps and operations in the XD method that still
lack appropriate tool support, including requirements management and ontology
testing tasks, as well as ODP composition. Based on the results of initial user
evaluation of XDP in real projects, the author aims to implement functionality
to support these steps, so that XDP can in the future support the entire XD
ontology engineering work ow.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Experiments on Pattern-based Ontology Design</article-title>
          .
          <source>In: Proceedings of the Fifth International Conference on Knowledge Capture</source>
          . pp.
          <volume>41</volume>
          {
          <fpage>48</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sandkuhl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          : Patterns in Ontology Engineering:
          <article-title>Classi cation of Ontology Patterns</article-title>
          .
          <source>In: Proceedings of the 7th International Conference on Enterprise Information Systems</source>
          . pp.
          <volume>413</volume>
          {
          <issue>416</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Experimenting with extreme design. In: Knowledge Engineering and Management by the Masses</article-title>
          , pp.
          <volume>120</volume>
          {
          <fpage>134</fpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Ontology Design Patterns for Semantic Web Content</article-title>
          .
          <source>In: The Semantic Web{ISWC</source>
          <year>2005</year>
          , pp.
          <volume>262</volume>
          {
          <fpage>276</fpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hammar</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Ontology design pattern property specialisation strategies</article-title>
          .
          <source>In: Knowledge Engineering and Knowledge Management</source>
          , pp.
          <volume>165</volume>
          {
          <fpage>180</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Hammar</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Ontology design patterns: Improving ndability and composition</article-title>
          .
          <source>In: The Semantic Web: ESWC 2014 Satellite Events</source>
          , pp.
          <volume>3</volume>
          {
          <fpage>13</fpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blomqvist</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Daga</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Pattern-Based Ontology Design</article-title>
          . In: Ontology Engineering in a Networked World, pp.
          <volume>35</volume>
          {
          <fpage>64</fpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>David</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Aguado de Cea, G.,
          <string-name>
            <surname>Suarez-Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montiel-Ponsoda</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poveda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <source>D2</source>
          .
          <article-title>5.1: A Library of Ontology Design Patterns: Reusable Solutions for Collaborative Design of Networked Ontologies</article-title>
          .
          <source>Tech. rep., NeOn Project</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Presutti</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Content ontology design patterns as practical building blocks for web ontologies</article-title>
          .
          <source>In: Conceptual Modeling-ER</source>
          <year>2008</year>
          , pp.
          <volume>128</volume>
          {
          <fpage>141</fpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>