<!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>An OBI ontology Datum Proof Sheet</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Damion M. Dooley</string-name>
          <email>damion.dooley@bccdc.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>William W.L Hsiao</string-name>
          <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 Pathology University of British Columbia Vancouver</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Emma Griffiths Department of Molecular Biology and Biochemistry Simon Fraser University Burnaby</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-There are numerous past and current examples of ontology-driven projects that provide auto-generated user interfaces for managing entities and relations, each presenting its own varied and complex data model. Our Datum Proof Sheet application aims to simplify the application development landscape by building community consensus about the way basic categorical, textual and numeric datum fields should be described within the OBOFoundry community of ontologies. The proof sheet shows selected datums (grouped under the context of an OBI “data representational model” item) as form inputs on an HTML page, enabling an application ontology's contents to be presented to end users (ranging in our case from epidemiologists to software developers) for review without necessarily having a working application to showcase them in. The basic relations and cases necessary for presenting datums in a user interface are mostly satisfied by OBI's design, but we introduce a few extra elements to bring more clarity to datum specifications, and to provide user interface term labels and definitions that may differ from those that ontologists prefer in the “backend”.</p>
      </abstract>
      <kwd-group>
        <kwd>ontology</kwd>
        <kwd>measurable</kwd>
        <kwd>scalar variable</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Our open-source Datum Proof Sheet application, viewable
at tinyurl.com/uiproofsheet as part of the under-development
Genomic Epidemiology Ontology (GenEpiO) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], is motivated
by the different ontology needs of software developers, end
users, and data exchange administrators – people who are
usually unfamilar with the Web Ontology Language (OWL) or
savy to Basic Formal Ontology (BFO) / Ontology for
Biomedical Investigations (OBI) design principles. One need
is to show ontology domain stakeholders what particular
datums would look like in a data entry form visa vis field
labels, definitions, units, or default pick-list options, in order
for feedback to be gathered and those features to be finalized.
In this way we avoid forcing non-technical users to vet an
ontology on paper, or within the more complex environment of
an ontology editor like Stanford’s Protégé, and we can begin
the ontology development process well before any related
application is built.
      </p>
      <p>Another motivation is to test the use of OBI categories for
describing datums, namely the “data representaitonal model”,
“has value specification”, “categorical measurement datum”,
IRIDA project funding is graciously provided by Genome Canada,
Genome BC, and the Genomics R&amp;D Initiative (GRDI) with additional
support from Simon Fraser University and Cystic Fibrosis Canada</p>
      <p>Fig. 1. Proof sheet of a symptom record
and “has measurement unit label” classes. Our own experience
of trying to determine the accepted use of these terms by
searching the literature for examples was frustrating insofar as
working implementations lacked some of the terms or
employed alternative usage. It should be a simple or at least
well-defined process to establish OBI-conformant datum
definitions independent of (but also as a natural precursor to) a
more advanced content management system. We aim to reduce
the training requirements for software implementers to adopt
the ontology-defined aspects of input variables into their own
interfaces.</p>
      <p>Although the Web Ontology Language (OWL) was
designed to provide reasoning in a world of entities described
by subject-predicate-object triplets, it also inherits ways to
describe “primitive” data – allowing entities to have properties
with string, numeric and date/time values whose datatypes (like
integer, decimal, string, and date) are imported from the XML
namespace/schema. Using “data properties”, Protégé’s editor
allows one to associate some datum with an XML schema
datatype, and to place constraints on an associated value, if
numeric, or its length, or character pattern, if a string.</p>
      <p>
        As well, a unit (meters, seconds, etc.) can be tacked on to
an entity “value specification” for scalar datums by way of the
“has measurement unit label”, but it is left to the ontologist to
create or import unit terms. Unfortunately, there currently is
no single standardized unit ontology, but rather a variety – for
example, Quantities, Units, Dimensions and Data Types
Ontologies (QUDT) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], Ontology of units of Measure and
related concepts (OM) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and the Units Ontology (UO) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
QUDT and OM illustrate how units are a microcosm of
ontological complexity that are under-utilized if left as atomic
terms. They enable a compound unit to be decomposed into
specifications for its numerator and divisor, which can then
enable unit analysis or unit conversion, e.g. OM’s “Compound
units”, or QUDT’s “Quantity Dimensions”. Our work stops
short of naming best practices here except to recommend the
specification of a datum’s preferred unit and scale (e.g. degree
vs. kelvin, or centimetre vs metre). This anticipates the ability
to transform incomming data to the favoured unit for
presentation or storage.
      </p>
      <p>
        While a unit specification can be inherited down from
superclass to subclass (a feature we employ), we have found
that OBI lacks the ability to treat datatypes the same way
because there is no relation that allows one to make claims
about an entity’s data type independently of an (instance of a)
stored value. A discussion paper on OBI data prototypes by
James Overton [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] shows the “has specified value” (previously
“has measurable value”) in use to specify a literal and its data
type directly, as shown in this example:
      </p>
      <p>Individual: 20g-specification</p>
      <p>Types: 'value specification'
Annotations: rdfs:label "20g specification"
Facts: 'has measurement unit label' 'gram',
'has specified value' "20"^^xsd:float</p>
      <p>It is not apparent how one can make a claim that a more
abstract class can be associated with a primitive data type, such
that underlying classes can take on that same data type or a
subclass of it. For this reason we propose a new relation, "has
primitive value spec" that points directly to a primitive URI,
decimal, integer, string or date-time data type, and which
allows subclasses to inherit the same.</p>
      <p>Our proof sheet application testing to date has been on the
GenEpiO ontology which supports the IRIDA (www.irida.ca)
project. There many clinical and environmental measurables,
and process/event related named points in time (e.g. "exposure
start" and "symptom onset") have been placed under OBI
categorical, scalar and time measurement categories. All
categorical items like the disease or symptom hierarchies have
a basic data type of "URI", meaning that to select a categorical
value is to select some vocabulary item that must have a
globally accessible URI (a URI enables an entity to be a
categorical datum, and an ontology is at the very least a data
dictionary of such things). Categorical measurables like
"Symptom" are marked as an OBI "categorical value
specification", but we propose an additional term under “value
specification” called "categorical tree specification” that allows
us to list, often in a hierarchy of finer-grained differentiation,
particular pick list choices for a categorical variable, with
choices usually imported from other ontologies. Unlike
existing OBI “categorical value specification” members, a
member of the categorical tree specification class is not itself
selectable (except perhaps as an uninformative case), but any
of its descendent (subclass) entities is a selectable value for the
datum.</p>
    </sec>
    <sec id="sec-2">
      <title>II. IMPLEMENTATION</title>
    </sec>
    <sec id="sec-3">
      <title>The first stage of our ontology application is a python script Datum Proof Sheet (see jsonimo.py in</title>
      <p>https://github.com/GenEpiO/genepio/tree/master/proofsheet
which loads an OWL ontology and all of its include files into
memory, uses Sparql 1.1 queries to extract datum field
specifications, and writes this user-interface related content to a
JSON-LD file. On a Mac Powerbook i7 with 16Gb RAM the
process to generate the resulting 780Kb JSON-LD data
structure for our roughly 1,400 class, 11,500 axiom ontology
took about 17 seconds.</p>
      <p>Finally, a javascript-driven HTML page application reads
in the JSON-LD file, and extracts the hierarchy of grouped
datum fields and categorical pick-lists, and presents them via a
menu-driven field rendering engine with the help of the Zurb
Foundation website layout and form library. This interface
enacts various data-validation checks that follow from the data
type and range specifications laid out within an OWL file.
Integer, date and string constraints (including regular
expression patterns which for example exhaustively match all
known e-coli k-antigen patterns) are implemented such that
users can see if validation performs to their expectations.</p>
      <p>When it comes to user interfaces, the logical formality
present in term definitions often needs to be replaced by
abbreviated “plain english” language, and for this reason we
have introduced new “UI preferred label” and “UI preferred
definition” annotations that are especially useful when terms
imported from a 3rd party ontology already have “label” and
“preferredLabel” etc. entries that don’t match the data-entry
needs of an application (e.g. “age” vs. “age since birth
measurement datum”). These annotations promote coloquial
term consolidation across applications that share ontology.</p>
    </sec>
    <sec id="sec-4">
      <title>III. DISCUSSION</title>
      <p>We encourage feedback on our proposed “has primitive
data spec” relation and “categorical tree specification” entity
there may be previously established terms from other projects
within the community that effect the same result, or use cases
we’re yet to hear of.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E.</given-names>
            <surname>Griffiths</surname>
          </string-name>
          , “
          <article-title>IRIDA's Genomic Epidemiology Application Ontology (GenEpiO): Genomic, Clinical and Epidemiological Data Standardization and Integration</article-title>
          .”
          <source>Online (March</source>
          <year>2016</year>
          ) http://www.slideshare.net/EmmaGriffiths12/iridas-genomicepidemiology
          <article-title>-application-ontology-genepio-genomic-clinical-andepidemiological-data-standardization-and-integration</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hodgson</surname>
          </string-name>
          and P. J. Keller,
          <article-title>"QUDT-quantities, units, dimensions and data types in OWL and XML." Online (September</article-title>
          <year>2011</year>
          ) http://www. qudt.org
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>M. van Assem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rijgersberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Top</surname>
          </string-name>
          ,
          <article-title>"Ontology of units of measure and related concepts." Semantic Web 4</article-title>
          , no.
          <issue>1</issue>
          (
          <year>2013</year>
          ):
          <fpage>3</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G. V.</given-names>
            <surname>Gkoutos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. N.</given-names>
            <surname>Schofield</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Hoehndorf</surname>
          </string-name>
          ,
          <article-title>"The Units Ontology: a tool for integrating units of measurement in science." Database2012 (</article-title>
          <year>2012</year>
          ):
          <fpage>bas033</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Overton</surname>
          </string-name>
          , “
          <article-title>OBI data prototype</article-title>
          ,”
          <string-name>
            <surname>Online</surname>
          </string-name>
          (
          <year>August 2013</year>
          ) https://svn.code.sf.net/p/obi/code/trunk/src/examples/development/dataprototype.pdf
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>