<!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>Ubergraph: integrating OBO ontologies into a unified semantic graph</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>James P. Balhoff</string-name>
          <email>balhoff@renci.org</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ugur Bayindir</string-name>
          <email>ugur@ebi.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anita R. Caron</string-name>
          <email>anitac@ebi.ac.uk</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicolas Matentzoglu</string-name>
          <email>nico@semanticly.ai</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Osumi- Sutherland</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christopher J. Mungall</string-name>
          <email>cjmungall@lbl.gov</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Environmental Genomics and Systems Biology Division, Lawrence Berkeley National Laboratory</institution>
          ,
          <addr-line>Berkeley CA, 94720</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>European Bioinformatics Institute (EMBL-EBI), Wellcome Trust Genome Campus</institution>
          ,
          <addr-line>Cambridge</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Renaissance Computing Institute, University of North Carolina</institution>
          ,
          <addr-line>Chapel Hill, NC</addr-line>
          <country country="US">USA</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Semanticly</institution>
          ,
          <addr-line>Athens</addr-line>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>OBO library ontologies include a wealth of inter-ontology semantic links, which require OWL reasoning to utilize fully. Merging and reasoning over a large suite of ontologies is resource intensive, and challenging for many users. Here we present Ubergraph, an RDF triplestore and public SPARQL query endpoint, which includes a novel approach to precomputing OWL inferences, stored in a readily traversable knowledge graph. Ubergraph's “relation graphs” allow users to perform SPARQL queries which make use of the semantics of the included ontologies. Ubergraph currently includes 39 OBO library ontologies. We describe several use cases enabled by Ubergraph such as ontology browsing and entailment validation.</p>
      </abstract>
      <kwd-group>
        <kwd>1 ontology</kwd>
        <kwd>knowledge graph</kwd>
        <kwd>reasoning</kwd>
        <kwd>OWL</kwd>
        <kwd>RDF</kwd>
        <kwd>SPARQL</kwd>
        <kwd>semantic web</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The mission of the Open Biological and
Biomedical Ontology (OBO) Foundry is to
“develop a family of interoperable ontologies that
are both logically well-formed and scientifically
accurate” [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1–3</xref>
        ]. Ideally, each ontology in the
Foundry covers a specific scope (e.g., animal
anatomy, chemistry, cellular processes) and
serves as the reference classification for that
domain. This allows developers of each ontology
to focus on the domain of their expertise, while
reusing the work of other experts within their
respective domains. Beyond simply dividing up
responsibilities for ontology development and
reducing overlapping effort, OBO ontologies are
encouraged to directly reference concepts from
other OBO ontologies within their own logical
axioms, allowing automatic classification of
terms that makes use of the semantics of those
ontologies.
      </p>
      <p>
        As one example, the Gene Ontology (GO) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
contains many concepts describing cellular
processes acting on particular chemicals, such as
various types of metabolism, catabolism,
biosynthesis, and transport. As one would expect,
GO:0006006 'glucose metabolic process' is a
subclass of GO:0005975 'carbohydrate metabolic
process'. Rather than manually classifying these
GO terms based on their chemical specification,
which would need to be done for each kind of GO
process, the GO logically defines these concepts
using terms from the ChEBI chemical ontology
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which provides the fact that CHEBI:17234
‘glucose’ is a type of CHEBI:16646
‘carbohydrate’. A standard OWL reasoner can
automatically compute the consequent
relationships between the GO concepts [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        OWL axioms making use of external terms
typically take the form of complex equivalence
definitions bringing together concepts from
multiple ontologies. For example, the logical
definition of HP:0002446 ‘Astrocytosis’ from the
Human Phenotype Ontology [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] refers to terms
from four other independently developed OBO
ontologies:
      </p>
      <p>HP:'Astrocytosis' EquivalentTo
(RO:'has part' some (PATO:'increased
rate' and (RO:'characteristic of part
of' some (GO:'cell growth' and
(RO:'occurs in' some
CL:'astrocyte'))) and (RO:'has
modifier' some PATO:'abnormal')))
The meaning of this axiom (“a phenotype
including an abnormally increased rate of cell
growth in astrocytes”) depends on the contents of
all five ontologies. As such, for many applications
it can be advantageous to treat a collection of
OBO library ontologies as one large, unified
ontology. One way to accomplish this would be to
import all the needed ontologies into a Protégé
ontology editing workspace, and run an OWL
reasoner. Protégé provides a query interface
allowing the user to submit Description Logic
(DL) queries to the reasoner; for example, one
could find all the cell types (from CL) that are part
of the liver (from UBERON): subclasses of
(CL:'cell' and (RO:'part of' some
UBERON:'liver')). By using OWL reasoning,
such cell types may match the query indirectly via
various kinds of inferences, such as the transitive
characteristic of ‘part of’.</p>
      <p>For a large aggregation of ontologies, that
approach inconveniently requires downloading
multiple gigabytes of ontologies, providing tens
of gigabytes of computer memory, and at least
10–20 minutes of loading and reasoning time
using the ELK reasoner. A graph database with a
web-based query interface allows users to more
efficiently access an integrated semantic
knowledge graph. Here we introduce Ubergraph,
an RDF triplestore which provides a SPARQL
query endpoint to an integrated suite of OBO
ontologies, and includes precomputed inferred
edges allowing logically complete queries over
those ontologies for a subset of OWL.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Features</title>
      <p>The Ubergraph triplestore is a Blazegraph
RDF database which is generated weekly from its
source ontologies via an open-source workflow. A
public SPARQL endpoint (for programmatic
access) is available at
https://ubergraph.apps.renci.org/sparql.
Currently, Ubergraph incorporates 39 OBO
library ontologies (Fig. 1). The triplestore is
organized into a number of different graphs,
which enable querying specific ontologies, or
including or excluding particular inferences. Each
included ontology is stored within a graph named
by its ontology IRI. Additional graphs provide
precomputed triples which enable a range of
functionality making Ubergraph more than simply
the sum of the loaded ontologies.
2.1.</p>
    </sec>
    <sec id="sec-3">
      <title>Relation graphs</title>
      <p>Two “relation graphs” stored in their own
named graphs are at the heart of Ubergraph’s
utility. Here, a relation graph is an RDF dataset
representing certain OWL axioms as convenient
graph edges. Many ontology users think of
ontologies as directed graphs, containing edges
like “index_finger is_a finger” and “finger part_of
hand”. However, the OWL representation of these
statements is somewhat more complex, and
particularly complex when stored as an RDF
graph. While the first statement is represented by
a single straightforward triple:
&lt;index_finger&gt; rdfs:subClassOf &lt;finger&gt;
the second statement is stored as four triples
representing the OWL axiom &lt;finger&gt;
SubClassOf (&lt;part_of&gt; some &lt;hand&gt;), using
a generated blank node, here, _:node1:
&lt;finger&gt; rdfs:subClassOf _:node1
_:node1 rdf:type owl:Restriction
_:node1 owl:onProperty &lt;part_of&gt;
_:node1 owl:someValuesFrom &lt;hand&gt;
A user writing a SPARQL query for the parts
of the hand will need to be aware of the OWL
serialization in order to match this complex triple
pattern. There are further challenges: a user would
expect that when querying for parts of the hand
they would receive not only ‘finger’ but any
concepts stated to be parts (e.g., fingernails) or
subclasses of ‘finger’. SPARQL property paths
cannot be employed to retrieve nodes linked by a
chain of properties over such OWL expressions.
An edge of interest may be embedded deeply
within an even more complex OWL equivalence
axiom (e.g. ‘Astrocyte’, above). A user would
also expect to find terms such as ‘hand_skeleton’,
related to ‘hand’ via a different relation such as
‘skeleton_of’ (an UBERON relation defined as a
subproperty of ‘part_of’).</p>
      <p>Relation graphs simplify access to this
knowledge by storing the most commonly
required OWL patterns as single RDF triples:
every SubClassOf relation is represented by a
single triple in the standard way, and axioms of
the form &lt;A&gt; SubClassOf (&lt;R&gt; some &lt;B&gt;)
(existential relations) are converted to simple &lt;A&gt;
&lt;R&gt; &lt;B&gt; triples:
&lt;index_finger&gt; rdfs:subClassOf &lt;finger&gt;
&lt;finger&gt; &lt;part_of&gt; &lt;hand&gt;</p>
      <p>Beyond this syntactic simplification, the
Ubergraph build pipeline uses an OWL reasoner
to compute and store every existential relation
implied by the input ontology. Given the property
hierarchy &lt;skeleton_of&gt; subPropertyOf
&lt;part_of&gt; subPropertyOf &lt;overlaps&gt;, all
these triples between ‘hand_skeleton’ and ‘hand’
would be stored:
&lt;hand_skeleton&gt; &lt;skeleton_of&gt; &lt;hand&gt;
&lt;hand_skeleton&gt; &lt;part_of&gt; &lt;hand&gt;
&lt;hand_skeleton&gt; &lt;overlaps&gt; &lt;hand&gt;
The relation graph precomputation allows
straightforward SPARQL queries to provide fast
results consistent with the full semantics of the
input ontologies (according to the OWL EL
profile). For example, here is a SPARQL query
for cell types (CL:0000000) specific to organs
(UBERON:0000062) of the abdomen
(UBERON:0000916):
PREFIX rdfs:
&lt;http://www.w3.org/2000/01/rdf-schema#&gt;
PREFIX cell:
&lt;http://purl.obolibrary.org/obo/CL_0000
000&gt;
PREFIX organ:
&lt;http://purl.obolibrary.org/obo/UBERON_
0000062&gt;
PREFIX abdomen:
&lt;http://purl.obolibrary.org/obo/UBERON_
0000916&gt;
PREFIX part_of:
&lt;http://purl.obolibrary.org/obo/BFO_000
0050&gt;
SELECT DISTINCT ?cell ?organ
WHERE {
?cell rdfs:subClassOf cell: .
?cell part_of: ?organ .
?organ rdfs:subClassOf organ: .</p>
      <p>?organ part_of: abdomen: .
}</p>
      <p>The SPARQL query language enables
additional kinds of queries unsupported by DL
query interfaces, as they require the use of
features such as variables or negation as failure,
such as:
“Of what is the adrenal gland a part?”</p>
      <p>adrenal_gland: part_of: ?x
“Which bone elements are not entailed to be
part of the skeletal system?” (none, in Uberon)
?bone rdfs:subClassOf bone_element:
FILTER NOT EXISTS {</p>
      <p>?bone part_of: skeletal_system: .
}</p>
      <p>These kinds of queries are useful for checking
and exploring the inferences entailed by the input
ontologies.</p>
      <p>The precomputed subclass and existential
relations are stored in two named graphs. The
redundant graph contains the complete set of
entailed relations between terms. The majority of
these are not directly asserted in the ontology, but
instead implied by equivalence axioms,
subproperty axioms, property chains, and other
OWL axioms. The nonredundant graph contains
a subset of the redundant graph. This graph
contains only “direct” edges, removing edges
such as the following:
• &lt;A&gt; rdfs:subClassOf &lt;C&gt;, where
both &lt;A&gt; rdfs:subClassOf &lt;B&gt; and
&lt;B&gt; rdfs:subClassOf &lt;C&gt; exist
• &lt;A&gt; &lt;R&gt; &lt;C&gt;, where &lt;A&gt; &lt;R&gt; &lt;B&gt;
and &lt;B&gt; rdfs:subClassOf &lt;C&gt; exist
• &lt;A&gt; &lt;R&gt; &lt;C&gt;, where &lt;B&gt; &lt;R&gt; &lt;C&gt;
and &lt;A&gt; rdfs:subClassOf &lt;B&gt; exist
• &lt;A&gt; &lt;R&gt; &lt;C&gt;, where &lt;A&gt; &lt;R&gt; &lt;B&gt;
and &lt;B&gt; &lt;R&gt; &lt;C&gt; exist, and the
ontology declares &lt;R&gt; to be a
transitive property
• &lt;A&gt; &lt;S&gt; &lt;B&gt;, where &lt;A&gt; &lt;R&gt; &lt;B&gt;
exists, and the ontology declares &lt;R&gt;
to be a subproperty of &lt;S&gt;</p>
      <p>The nonredundant relation graph is
particularly useful for SPARQL CONSTRUCT
queries which output the graph neighborhood
around a term, such as when powering an
ontology browsing interface (Fig. 2).
2.2.</p>
    </sec>
    <sec id="sec-4">
      <title>Ontology graph</title>
      <p>
        An additional named graph stores the result of
classifying the merged axioms of the input
ontologies using the ELK reasoner [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. This graph
includes all the term annotation axioms (such as
labels and definitions) provided by the source
ontologies. It also includes a generated triple for
each term, connecting it to its source ontology
based on its OBO ID space, e.g.,
obo:UBERON_4100121 rdfs:isDefinedBy
obo:uberon.owl. These triples allow much more
efficient filtering of results by ID space as
compared with string-based SPARQL filters. The
ontology graph also includes triples linking each
term to a computed information content score
(terms with a greater number of subclasses have
lower information content). These scores can be
helpful in ranking Ubergraph query result values,
based on their relative graph placement, within
downstream applications.
2.3.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Biolink Model graph</title>
      <p>
        The Biolink Model is a high level data model of
biological entities [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Ubergraph includes a graph
containing an RDF serialization of the Biolink
Model, as well as biolink:category links from
each ontology term to mapped Biolink Model
classes, propagated across the subclass hierarchy
of both the Biolink Model and the included
ontologies. This graph is provided for use by
applications built on the Biolink Model, to easily
traverse from OBO ontology concepts to
corresponding Biolink Model terms.
      </p>
    </sec>
    <sec id="sec-6">
      <title>3. Implementation</title>
      <p>
        Ubergraph is constructed using a workflow
implemented as a GNU Makefile [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The source
code is available on GitHub at
https://github.com/INCATools/ubergraph. The
workflow downloads the source ontologies and
computes additional RDF triples constituting the
relation graphs and other enrichments using a
variety of tools included within a Docker image
defined in the Ubergraph repository. The endpoint
of the workflow is a Blazegraph [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] database file
used to drive the SPARQL endpoint. The public
SPARQL service is a Blazegraph server running
within an on-premises Kubernetes cluster,
provided with 32 GB memory and 8 CPUs.
      </p>
    </sec>
    <sec id="sec-7">
      <title>3.1. Merging and reasoning over an integrated set of ontologies</title>
      <p>
        Ontology manipulation is conducted using
ROBOT [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and the Apache Jena [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] ‘arq’ and
‘riot’ tools. When available, the Ubergraph build
downloads the “base” release of each ontology
(e.g., for Uberon,
http://purl.obolibrary.org/obo/uberon/u
beron-base.owl). Base files are a recently
adopted convention within the OBO Foundry
which facilitate merging and reasoning over sets
of ontologies which refer to one another within
their axioms. The standard releases of each
ontology typically contain imported content from
the ontologies they depend on. Merging these files
can result in mixtures of axioms and annotations
from slightly different releases of each ontology,
possibly resulting in conflicting logical assertions.
Base files, on the other hand, contain the axioms
native to a given ontology but exclude any
imported content. When a base file is not available
for an ontology, the Ubergraph build uses the
ROBOT tool to approximate a base file for that
ontology by removing axioms defining terms
from external ID spaces.
3.2.
      </p>
    </sec>
    <sec id="sec-8">
      <title>Computing relation graphs</title>
      <p>
        The redundant relation graph is computed via
a purpose-built tool, ‘relation-graph’ [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which
uses an efficient, parallel algorithm to perform
millions of DL queries using the Whelk OWL
reasoner [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. This process takes approximately 4
hours, using 20 CPUs and 140 GB RAM. The
nonredundant relation graph is computed from the
redundant graph using a Soufflé Datalog [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]
pruning script which implements the redundancy
rules described above, taking approximately 70
minutes to complete.
      </p>
      <p>The current Ubergraph release contains
530,834,705 triples, with 48,684,904 triples
comprising the included ontologies, and the rest
derived by the build process. The majority of
these, 318,231,131, constitute the redundant
relation graph. The pruning step reduces that
number to 4,532,758 triples in the nonredundant
relation graph.</p>
    </sec>
    <sec id="sec-9">
      <title>4. Applications</title>
    </sec>
    <sec id="sec-10">
      <title>4.1. Programmatic Access</title>
      <p>
        As a standard SPARQL endpoint, Ubergraph can
be accessed using any of the typical
programmatic means of reaching a REST
endpoint, as well as dedicated SPARQL query
interfaces such as Yasgui [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In addition to
generic REST libraries, languages like Python
include clients for SPARQL endpoints such as
SPARQLWrapper.
      </p>
      <p>
        For higher level access, it is possible to write
software libraries that act as clients to Ubergraph
and provide convenient reusable operations. One
such library is the new OAK (Ontology Access
Kit) library in Python, which provides
programmatic access to a variety of endpoints,
including Ubergraph [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. OAK provides both a
Python layer and a command line interface (CLI)
that allows for various operations over
Ubergraph including (1) searching for terms; (2)
performing semantic similarity; and (3)
accessing and visualization of subgraphs, making
use of the obographviz package. For example,
the OAK viz command, e.g., runoak -i
ubergraph: viz GO:0001750 -p
rdfs:subClassOf,BFO:0000050, will show all
terms traversable via the relation graph from a
starting set of terms such as ‘photoreceptor outer
segment’ in GO (Fig. 3).
      </p>
      <p>
        One additional way to access Ubergraph is
through its OpenAPI REST endpoint description
[
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], autogenerated (using grlc [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]) from a suite
of example SPARQL queries stored in the
Ubergraph source repository.
      </p>
    </sec>
    <sec id="sec-11">
      <title>4.2. Projects using Ubergraph</title>
    </sec>
    <sec id="sec-12">
      <title>4.2.1. Mondo quality control checks</title>
      <p>
        The Mondo disease ontology [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] is a complex
development effort that seeks to integrate
disparate disease ontologies and terminologies.
An automated process creates a skeleton for a
large ontology that integrates axioms and
annotations from these sources, which is further
augmented by complex logical axioms using
design patterns [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Such an ontology requires
extensive quality control checking and reporting
capabilities that need to be reviewed, refined, and
shared. Moreover, these reports often span
multiple ontologies such as Uberon, GO, and CL.
All Mondo reports and quality control checks [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]
are implemented using SPARQL. To develop and
share these reports, the Mondo team uses Yasgui
in combination with the Ubergraph SPARQL
endpoint: queries are prototyped, shared between
developers, and refined until fit for purpose. The
Mondo team makes extensive use of inferred
relationships in Ubergraph, which not only
reduces query time, but also improves recall for
cases where subclasses are only inferable through
an entailment regime such as OWL EL.
      </p>
    </sec>
    <sec id="sec-13">
      <title>4.2.2. HuBMAP validation</title>
      <p>
        The HuBMAP project is building a human
reference atlas leveraging expert input [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. The
atlas covers adult human anatomy. Uberon has
many terms that are not useful for this purpose as
they refer to other species or developmental
stages. It also has many more relationship types
than needed. Experts working on this project
provide their view of human anatomy using
spreadsheets to relate Uberon and Cell Ontology
terms. HuBMAP developers use Ubergraph to
programmatically test the validity of
expertspecified relationships between term pairs against
subclass and existential relations from a small set
of high level object properties. Reports of
nonvalidating pairs are used to inform corrections to
the expert-curated tables, or to improve Uberon
and Cell Ontology as applicable. As an example,
HuBMAP biologists have mapped ‘OFF-bipolar
cell’ (CL:0000750) to ‘inner nuclear layer of
retina’ (UBERON:0001791), a relation that is
currently not present in the Cell Ontology. The
validation tool searches for relationships among
the terms in the HuBMAP domain and finds that
‘OFF-bipolar cell’ currently does have a ‘part_of’
relationship with ‘retina’ (UBERON:0000966).
Having these suggestions and relationships
visualized via the validation tool allows editors to
consider remodeling the Cell Ontology to have
more specific mappings. In this case, an editor
may choose to add the following axiom to
‘OFFbipolar cell’: 'part of' some 'inner nuclear
layer of retina'.
      </p>
    </sec>
    <sec id="sec-14">
      <title>4.2.3. Biomedical Data Translator</title>
      <p>
        The NCATS Biomedical Data Translator
program is creating a federated knowledge system
capable of integrating existing biomedical data
sets, and which will allow users to derive “insights
that can accelerate translational research, support
clinical care, and leverage clinical expertise to
drive research innovations” [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Many of the
Data Translator knowledge sources express their
data with reference to standard identifiers for
terms from OBO library ontologies, such as cell
types, anatomical locations, and diseases. The
ontologies themselves provide the background
knowledge giving meaning to the use of those
terms. Ubergraph provides the basis for the
Ontology Knowledge Provider, a Translator
knowledge source which implements the Data
Translator knowledge graph API via queries to the
Ubergraph SPARQL endpoint [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. As described
above, nodes within Ubergraph are
precategorized using groupings from the Biolink
standard, which is used as a top-level data model
by Translator.
      </p>
    </sec>
    <sec id="sec-15">
      <title>5. Challenges</title>
      <p>
        Reasoning over a merged collection of
mutually referential, but independently
developed, ontologies can uncover hidden logical
incompatibilities. Some of these incompatibilities
are simply the result of stale imported content;
while these ontologies are all developed as part of
the OBO collaborative community, they move at
varying paces and release schedules. In our
experience, the use of “base files” (discussed
above) helps to avoid many such issues that were
frequently encountered in previous attempts to
reason across combinations of OBO ontologies,
e.g., [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Further, combining ontologies together
in applications like Ubergraph highlights the need
to ensure that quality control checks in ontology
release pipelines consider a comprehensive set of
external axioms; otherwise they may miss
undesired entailments from the use of particular
terms. The Ubergraph build pipeline applies
additional preprocessing, such as removing
disjointness axioms, to minimize the effect of any
remaining logical incoherency.
      </p>
      <p>Another issue encountered in a reasoning
application like Ubergraph is that the inferences
computed from the merged set of ontologies may
result in additional intra-ontology subsumptions
that individual ontology providers have not
vetted. In a real-life example, a new release of
ChEBI classified some chemicals as lipids which
were not previously so. Combining this release of
ChEBI with the logical definitions for metabolic
processes provided by the Gene Ontology resulted
in certain GO processes being classified under
‘lipid metabolism’ which were not grouped as
such in the official GO release. To better avoid
such discrepancies, but still provide all the
inferred relations which make Ubergraph so
useful, we are developing protocols for axiom
inclusion in the Ubergraph reasoning process,
such as transformations of equivalent class
axioms into less powerful subclass axioms, and
ensuring that the class hierarchy published by
each provider is precomputed in the ontology file
incorporated into Ubergraph.</p>
    </sec>
    <sec id="sec-16">
      <title>6. Related work</title>
      <p>
        Online ontology repositories such as Ontobee
[
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], the EBI Ontology Lookup Service [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], and
BioPortal [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] all provide SPARQL endpoints
which allow querying over the OBO ontologies
they include. However, within these services,
users have access to only the complicated RDF
serialization of the OWL axioms. Ubergraph’s
precomputed relation graphs both greatly
simplify, and also significantly increase the
semantic power of, SPARQL queries over the
combined suite of ontologies.
      </p>
    </sec>
    <sec id="sec-17">
      <title>7. Conclusions</title>
      <p>OBO library ontologies contain a wealth of
cross-domain knowledge within their logical
axioms. Ubergraph provides a powerful means to
access and make use of these connections in a way
that preserves and utilizes the full semantics of its
constituent ontologies, without requiring users to
download multiple gigabytes of ontologies and
load these into an OWL reasoner.</p>
    </sec>
    <sec id="sec-18">
      <title>8. Acknowledgments</title>
      <p>This work was supported in part by the U.S.
NIH project numbers 5U01HG009453-03 and
3OT2TR003449-01S1.</p>
    </sec>
    <sec id="sec-19">
      <title>9. References</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] The Open Biological and Biomedical Ontology (OBO) Foundry</article-title>
          . In:
          <article-title>The Open Biological and Biomedical Ontology (OBO) Foundry [Internet]</article-title>
          .
          <source>[cited 25 May</source>
          <year>2022</year>
          ]. Available: https://obofoundry.org/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Smith</surname>
            <given-names>B</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ashburner</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosse</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bard</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bug</surname>
            <given-names>W</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceusters</surname>
            <given-names>W</given-names>
          </string-name>
          , et al.
          <article-title>The OBO Foundry: coordinated evolution of ontologies to support biomedical data integration</article-title>
          .
          <source>Nat Biotechnol</source>
          .
          <year>2007</year>
          ;
          <volume>25</volume>
          :
          <fpage>1251</fpage>
          -
          <lpage>1255</lpage>
          . doi:
          <volume>10</volume>
          .1038/nbt1346
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Jackson</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matentzoglu</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overton</surname>
            <given-names>JA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vita</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balhoff</surname>
            <given-names>JP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buttigieg</surname>
            <given-names>PL</given-names>
          </string-name>
          , et al.
          <article-title>OBO Foundry in 2021: operationalizing open data principles to evaluate ontologies</article-title>
          .
          <source>Database</source>
          .
          <year>2021</year>
          ;
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .1093/database/baab069
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Gene</given-names>
            <surname>Ontology</surname>
          </string-name>
          <article-title>Consortium. The Gene Ontology resource: enriching a GOld mine</article-title>
          .
          <source>Nucleic Acids Res</source>
          .
          <year>2021</year>
          ;
          <volume>49</volume>
          :
          <fpage>D325</fpage>
          -
          <lpage>D334</lpage>
          . doi:
          <volume>10</volume>
          .1093/nar/gkaa1113
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Hastings</surname>
            <given-names>J</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Owen</surname>
            <given-names>G</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dekker</surname>
            <given-names>A</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ennis</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kale</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Muthukrishnan</surname>
            <given-names>V</given-names>
          </string-name>
          , et al. ChEBI in 2016:
          <article-title>Improved services and an expanding collection of metabolites</article-title>
          .
          <source>Nucleic Acids Res</source>
          .
          <year>2016</year>
          ;
          <volume>44</volume>
          :
          <fpage>D1214</fpage>
          -
          <lpage>9</lpage>
          . doi:
          <volume>10</volume>
          .1093/nar/gkv1031
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Hill</surname>
            <given-names>DP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adams</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bada</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batchelor</surname>
            <given-names>C</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berardini</surname>
            <given-names>TZ</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dietze</surname>
            <given-names>H</given-names>
          </string-name>
          , et al.
          <article-title>Dovetailing biology and chemistry: integrating the Gene Ontology with the ChEBI chemical ontology</article-title>
          .
          <source>BMC Genomics</source>
          .
          <year>2013</year>
          ;
          <volume>14</volume>
          :
          <fpage>513</fpage>
          . doi:
          <volume>10</volume>
          .1186/
          <fpage>1471</fpage>
          -2164-14-513
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Köhler</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gargano</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matentzoglu</surname>
            <given-names>N</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmody</surname>
            <given-names>LC</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lewis-Smith</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasilevsky</surname>
            <given-names>NA</given-names>
          </string-name>
          , et al.
          <source>The Human Phenotype Ontology in 2021. Nucleic Acids Res</source>
          .
          <year>2021</year>
          ;
          <volume>49</volume>
          :
          <fpage>D1207</fpage>
          -
          <lpage>D1217</lpage>
          . doi:
          <volume>10</volume>
          .1093/nar/gkaa1043
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Kazakov</surname>
            <given-names>Y</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simančík F. The Incredible ELK. J Automat Reason</surname>
          </string-name>
          .
          <year>2013</year>
          ;
          <volume>53</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>61</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10817-013-9296-3
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Unni</surname>
            <given-names>DR</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moxon</surname>
            <given-names>SAT</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bada</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brush</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruskiewich</surname>
            <given-names>R</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clemons</surname>
            <given-names>P</given-names>
          </string-name>
          , et al.
          <article-title>Biolink Model: A Universal Schema for Knowledge Graphs in Clinical, Biomedical, and Translational Science</article-title>
          .
          <source>arXiv [cs.DB]</source>
          .
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .48550/arXiv.2203.13906
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Make - GNU Project - Free Software</surname>
          </string-name>
          Foundation.
          <source>[cited 27 May</source>
          <year>2022</year>
          ]. Available: https://www.gnu.org/software/make/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Blazegraph</surname>
          </string-name>
          . In: Blazegraph [Internet].
          <source>2015 [cited 29 May</source>
          <year>2016</year>
          ]. Available: https://github.com/blazegraph/database
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Jackson</surname>
            <given-names>RC</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balhoff</surname>
            <given-names>JP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Douglass</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harris</surname>
            <given-names>NL</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mungall</surname>
            <given-names>CJ</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overton</surname>
            <given-names>JA</given-names>
          </string-name>
          .
          <article-title>ROBOT: A Tool for Automating Ontology Workflows</article-title>
          .
          <source>BMC Bioinformatics</source>
          .
          <year>2019</year>
          ;
          <volume>20</volume>
          :
          <fpage>407</fpage>
          . doi:
          <volume>10</volume>
          .1186/s12859-019-3002-3
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Apache</given-names>
            <surname>Jena</surname>
          </string-name>
          .
          <source>[cited 27 May</source>
          <year>2022</year>
          ]. Available: https://jena.apache.org/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Balhoff</surname>
            <given-names>JP.</given-names>
          </string-name>
          <article-title>relation-graph</article-title>
          . Github; Available: https://github.com/balhoff/relation-graph
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Balhoff</surname>
            <given-names>JP.</given-names>
          </string-name>
          <string-name>
            <surname>Whelk</surname>
          </string-name>
          . Github; Available: https://github.com/balhoff/whelk
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Soufflé</surname>
          </string-name>
          .
          <source>[cited 27 May</source>
          <year>2022</year>
          ]. Available: https://souffle-lang.github.io/index.html
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Yasgui</surname>
          </string-name>
          . In: Triply [Internet].
          <source>25 Jun 2019 [cited 27 May</source>
          <year>2022</year>
          ]. Available: https://triply.cc/docs/yasgui
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Mungall</surname>
            <given-names>C</given-names>
          </string-name>
          , Harshad,
          <string-name>
            <given-names>Kalita P</given-names>
            ,
            <surname>Patil</surname>
          </string-name>
          <string-name>
            <given-names>S</given-names>
            ,
            <surname>Joachimiak</surname>
          </string-name>
          <string-name>
            <given-names>M p.</given-names>
            ,
            <surname>Caufield</surname>
          </string-name>
          <string-name>
            <surname>H.</surname>
          </string-name>
          <article-title>INCATools/ontology-access-</article-title>
          <source>kit: v0.1.18</source>
          .
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .5281/zenodo.6574927
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <source>[19] OpenAPI Specification v3.1.0. [cited 29 May</source>
          <year>2022</year>
          ]. Available: https://spec.openapis.org/oas/latest.html
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Peñuela</surname>
            <given-names>AM.</given-names>
          </string-name>
          <year>grlc</year>
          .
          <source>[cited 29 May</source>
          <year>2022</year>
          ]. Available: https://grlc.io/
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Vasilevsky</surname>
            <given-names>NA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matentzoglu</surname>
            <given-names>NA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toro</surname>
            <given-names>S</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Flack</surname>
            <given-names>JE IV</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hegde</surname>
            <given-names>H</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Unni</surname>
            <given-names>DR</given-names>
          </string-name>
          , et al.
          <article-title>Mondo: Unifying diseases for the world, by the world</article-title>
          . medRxiv.
          <year>2022</year>
          . doi:
          <volume>10</volume>
          .1101/
          <year>2022</year>
          .04.13.22273750
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Osumi-Sutherland</surname>
            <given-names>D</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Courtot</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balhoff</surname>
            <given-names>JP</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mungall</surname>
            <given-names>C</given-names>
          </string-name>
          .
          <article-title>Dead simple OWL design patterns</article-title>
          .
          <source>J Biomed Semantics</source>
          .
          <year>2017</year>
          ;
          <volume>8</volume>
          :
          <fpage>18</fpage>
          . doi:
          <volume>10</volume>
          .1186/s13326-017-0126-0
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Quality</surname>
            <given-names>control tests - Mondo</given-names>
          </string-name>
          <string-name>
            <surname>Documentation</surname>
          </string-name>
          .
          <source>[cited 26 May</source>
          <year>2022</year>
          ]. Available: https://mondo.readthedocs.io/en/latest/editor s-guide/quality-control-tests/
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Börner</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teichmann</surname>
            <given-names>SA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quardokus</surname>
            <given-names>EM</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gee</surname>
            <given-names>JC</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Browne</surname>
            <given-names>K</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Osumi-Sutherland</surname>
            <given-names>D</given-names>
          </string-name>
          , et al.
          <article-title>Anatomical structures, cell types and biomarkers of the Human Reference Atlas</article-title>
          .
          <source>Nat Cell Biol</source>
          .
          <year>2021</year>
          ;
          <volume>23</volume>
          :
          <fpage>1117</fpage>
          -
          <lpage>1128</lpage>
          . doi:
          <volume>10</volume>
          .1038/s41556-021-00788-6
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Biomedical</given-names>
            <surname>Data Translator Consortium. Toward A Universal Biomedical Data Translator</surname>
          </string-name>
          .
          <source>Clin Transl Sci</source>
          .
          <year>2019</year>
          ;
          <volume>12</volume>
          :
          <fpage>86</fpage>
          -
          <lpage>90</lpage>
          . doi:
          <volume>10</volume>
          .1111/cts.12591
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <fpage>ontology</fpage>
          -kp.
          <source>[cited 27 May</source>
          <year>2022</year>
          ]. Available: https://github.com/TranslatorSRI/ontologykp
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Slater</surname>
            <given-names>LT</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gkoutos</surname>
            <given-names>GV</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoehndorf</surname>
            <given-names>R</given-names>
          </string-name>
          .
          <article-title>Towards semantic interoperability: finding and repairing hidden contradictions in biomedical ontologies</article-title>
          .
          <source>BMC Med Inform Decis Mak</source>
          .
          <year>2020</year>
          ;
          <volume>20</volume>
          :
          <fpage>311</fpage>
          . doi:
          <volume>10</volume>
          .1186/s12911-020-01336-2
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Xiang</surname>
          </string-name>
          , Mungall, Ruttenberg, He. Ontobee:
          <article-title>A linked data server and browser for ontology terms</article-title>
          .
          <source>ICBO</source>
          .
          <year>2011</year>
          . Available: http://ceurws.org/Vol-
          <volume>833</volume>
          /paper48.pdf
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Jupp</surname>
            , Burdett, Leroy,
            <given-names>Parkinson.</given-names>
          </string-name>
          <article-title>A new Ontology Lookup Service at EMBL-EBI</article-title>
          .
          <year>SWAT4LS</year>
          .
          <year>2015</year>
          . Available: http://ceurws.org/Vol-
          <volume>1546</volume>
          /paper_29.pdf
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Salvadores</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alexander</surname>
            <given-names>PR</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            <given-names>MA</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Noy</surname>
            <given-names>NF</given-names>
          </string-name>
          .
          <article-title>BioPortal as a Dataset of Linked Biomedical Ontologies and Terminologies in RDF</article-title>
          .
          <source>Semantic Web</source>
          .
          <year>2013</year>
          ;
          <volume>4</volume>
          :
          <fpage>277</fpage>
          -
          <lpage>284</lpage>
          . Available: https://www.ncbi.
          <source>nlm.nih.gov/pubmed/2521 4827</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>