<!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>OWLmaker: An Application for Generating OWL Files from Tabular Text</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jie Zheng</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Judkins</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Stoeckert</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Biology, University of Pennsylvania</institution>
          ,
          <addr-line>Philadelphia, PA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Genetics, Institute for Biomedical Informatics, University of Pennsylvania</institution>
          ,
          <addr-line>Philadelphia, PA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Tools have already been developed that allow an OWL file to be generated from a table as input that contains the necessary information to build an ontology. However, conversion using these tools is time-consuming if the terms in the input file must be assigned to an existing IRI in an external ontology (rather than being assigned a new IRI) and manually assigned new IRIs. We developed OWLmaker to generate an RDF/XML format OWL file from tabular text, with the option of automating IRI assignment with reference to an existing ontology.</p>
      </abstract>
      <kwd-group>
        <kwd>Table to OWL format conversion</kwd>
        <kwd>ontology development</kwd>
        <kwd>automation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Part of our standard procedure for the EuPathDB project
[http://eupathdb.org/] is to create an RDF/XML format OWL file
for each study whose results we intend to incorporate, from a
spreadsheet of variables with extensive annotations used by data
providers. An OWL file may be built and edited one term at a time
using ontology development tools such as Stanford University’s
Protégé [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The Cellfie plugin (based on MappingMaster [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) for
Protégé offers automation for this process by producing OWL
from a spreadsheet, but this plugin requires the use of its own
mapping language [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Ontorat [3] is a web application that
generates an OWL file from tabular input with customizable
settings to provide annotation properties and automatically
generate new IRIs. It improves upon similar tools by not requiring
the user to learn a separate langugage, nor does it require
installation. ROBOT’s “template” command also has this
functionality [4].
      </p>
      <p>Even with these tools available, the overall process required in the
conversion of tabular text to OWL can still be complex and
timeconsuming to learn. A tool that provides similar functionality
while also automating more of the conversion process would be
preferable for the EuPathDB project. One such automating feature
would be the ability to assign an existing IRI in a specified
external ontology to a matching term in the input file based on the
term’s label. The aforementioned tools also are more focused on
axiom creation than annotation creation, even though the
development of many ontologies, such as the EuPathDB
ontology, involves generation of new terms with associated
annotations (e.g. definition, definition source, term editor, etc.)
OWLmaker was created to address this need and is available at
[https://github.com/EuPath-ontology/OWLmaker].</p>
    </sec>
    <sec id="sec-2">
      <title>Methods</title>
      <p>OWLmaker is a JAR file that works with a tab-delimited setting
file to convert the input table to RDF/XML format OWL. Before
the user executes the application, adjustments may need to be
made to both the input file and the setting file. The input file can
be in either tab-delimited or csv format and should, for each term,
have a row identifying the term’s label, parent IRI, and parent
label to ensure the hierarchy is complete in the output OWL file.
(The term IRI can be manually entered also, if required.) To
attribute annotation properties to terms in the output file, the user
first provides a column of values for each property that has the
name of the property as the column header. Optional annotation
values for each term also must be identified in its row to be added
to the OWL file.</p>
      <p>The setting file is arranged in tab-delimited format with two
columns such that the left column names parameters used by the
application and the right column contains the parameters’ values.</p>
      <p>The values can be adjusted by the user and include the names of
the input and output files, the ontology IRI, and the IRI prefix for
new terms. The user also provides the number of the column for
the term’s IRI, label, parent label, and parent IRI, as well as the
name and IRI of each annotation property.</p>
      <p>The setting, input, and output files of a simple example, shown in
Figures 1-3, is available from the “test” directory in the project’s
GitHub repository
[https://github.com/EuPathontology/OWLmaker/tree/master/test]. Here a small OWL file
based on the EuPath ontology is used as the external ontology. A
URI for the external ontology is provided in this example, but a
filename with file path can also be used. An input file and setting
file are also provided so that, when OWLmaker is run,
big_ontology.owl is created.</p>
      <p>Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
IRI Label parentLabel parentIRI adecfainteitgioonrical measurement
pqArPneCcsyRelonscteoomfatoidea by cmaeteagsourriecmalent datum hotrtgp/:o/b/po/uOrl.BoIb_o0l0ib0r0a9r3y.8 radbAeyancatcaaucyttmlreioeogsantotlhorataimisctmasasaleptymoepicedoiaelfyisaemuswreewarmashseedetnehtcteheractined EuPathDB</p>
      <p>datum that specifies whether
dprueosdeenncaeleofbyAnqcPyCloRstoma cmaeteagsourriecmalent datum hotrtgp/:o/b/po/uOrl.BoIb_o0l0ib0r0a9r3y.8 adpAeoncltcayeytmcleotgeesrotdaorisbmceyaalcahdmraueeioanadlsreteuinmraaecelmteioewnnatasssay EuPathDB</p>
      <p>datum that specifies whether
lpurmesberniccoeidoefsAbscyaqrPisCR cmaeteagsourriecmalent datum hotrtgp/:o/b/po/uOrl.BoIb_o0l0ib0r0a9r3y.8 apdAeoscltcayeatmcreitsgeerodlaurisbmceyablcarhmircaeoeianiadlsreteuismraewcemtaioesnntassay EuPathDB</p>
      <p>datum that specifies whether
/hottbpo:///EpUuPrAl.ToHbo_l0ib0r1a0r6y1.o1rg EprLeISsAence of Astrovirus by cmaeteagsourriecmalent datum hotrtgp/:o/b/po/uOrl.BoIb_o0l0ib0r0a9r3y.8 aaeAsnscstzarayotymevgiero-ulrsiincwkaeladmsidemeatmseuucrteneomdseobnrybtaennt EuPathDB</p>
      <p>datum that specifies whether
cpbmaryeetResagTes-nuoPrrciCeecRmaolfenAtstdraotvuirmus Y cmmaeeteaagssouurrrieecmmaleenntt ddaattuumm hotrtgp/:o/b/po/uOrl.BoIb_o0l0ib0r0a9r3y.8 rcAehsvaterinorsvreieruatrscatwniosancsraidpsetsitaoeynctpeodlybmyearase EuPathDB
measurement datum data item
iednanfttoiatrymiteamtion content icgenoenfntnoitetriymrniucaaatnlilotyndceopnetnednetnt
ccgeooennntnittetiiynnriuucaaannlltty dependent ceonntittiynuant
definition
source
The application has been shown to reliably output the desired
OWL file from correctly populated input and setting files. The
output file in Protégé displays the complete hierarchy correctly,
and all annotations are properly attributed. OWLmaker fulfills its
focus, which is the creation of annotated classes, rather than
annotated individuals or properties.</p>
      <p>Since tools are available to merge two OWL files into one, the
output of OWLmaker can be used to add new terms into an
existing ontology. Since a SPARQL query can generate a
conversion file from an OWL file, having OWLMaker and
software supporting SPARQL also allows an ontologist to keep
an ontology in both tabular and OWL formats and convert
between them easily. This way, an ontologist can submit an
ontology as a CSV file to collaborators who can then easily
populate a column with values to attribute a new annotation
property to terms. The modified CSV can then be converted back
to OWL with the new annotation values included.</p>
      <p>Future work may include removing unnecessary warnings
generated upon execution of the application. Generation of IDs
could be improved as well: we could remove the seven-digit
restriction of IDs and prevent the application from generating a
new ID that was already assigned to a term in the external
ontology. Future work could also allow the application to not only
work with tab-delimited or comma-separated files as input, but
also proprietary formats such as Excel files or Google Sheets.</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>OWLmaker does not need to be installed (although it requires
Java) and requires access to only the websites specified in the
setting file. Because a user of OWLmaker has both the options of
having the application search an external ontology for IRIs for
matching term labels and also having the application generate
new IRIs as specified, a complete OWL file for an ontology can
be generated in fewer steps compared to similar tools. For these
reasons, we conclude that OWLmaker usefully supplements
existing similiar tools to convert tabular text to OWL.</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgements</title>
      <p>We thank Mark A. Miller for testing the software and providing
valuable feedback. This work was supported by NIH
HHSN272201400030C.</p>
    </sec>
    <sec id="sec-5">
      <title>Address for correspondence</title>
      <p>Jie Zheng, jiezheng@pennmedicine.upenn.edu
3. Xiang Z, Zheng J, Lin Y, He Y. Ontorat: automatic
generation of new ontology terms, annotations, and axioms
based on ontology design patterns: J Biomed Sem; 2015.
4. Tauber R, Balhoff JP, Douglass E, Mungall CJ,
Overton JA. Standardizing Ontology Workflows Using ROBOT.
CEUR Workshop Proc. 2018;2285.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Noy N F</surname>
            , Crubézy
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fergerson R W</surname>
            , Knublaugh
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tu</surname>
            <given-names>S W</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vendetti</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            <given-names>M A</given-names>
          </string-name>
          . Protégé-2000:
          <article-title>An opensource ontology-development and knowledge-acquisition environment</article-title>
          .
          <source>AMIA Annu Symp Proc</source>
          .
          <year>2003</year>
          ;
          <year>2003</year>
          :
          <fpage>953</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>O</given-names>
            <surname>'Connor</surname>
          </string-name>
          <string-name>
            <given-names>MJ</given-names>
            ,
            <surname>Halaschek-Wiener</surname>
          </string-name>
          <string-name>
            <given-names>C</given-names>
            ,
            <surname>Musen</surname>
          </string-name>
          <string-name>
            <surname>MA</surname>
          </string-name>
          .
          <article-title>Mapping Master: a Language for Mapping Spreadsheets to OWL</article-title>
          . The Semantic Web - ISWC 2010: Springer;
          <year>2010</year>
          . p.
          <fpage>194</fpage>
          -
          <lpage>208</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>