<!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>
      <journal-title-group>
        <journal-title>Konclude: line</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Reasoning in the FIBO ontology - A challenge</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pawel Garbacz</string-name>
          <email>pawel.garbacz@makolab.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elisa Kendall</string-name>
          <email>ekendall@thematix.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>EDM Council</institution>
          ,
          <addr-line>10101 East Bexhill Drive Kensington, MD 20895</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>SemREC'21: Semantic Reasoning Evaluation Challenge</institution>
          ,
          <addr-line>ISWC'21, Oct 24 - 28, Albany, NY</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Thematix</institution>
          ,
          <addr-line>954 Lexington Avenue, New York</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>2</volume>
      <issue>73572</issue>
      <abstract>
        <p>industry. The paper discusses some challenges one must face when using automatic reasoners for more complex Semantic Web ontologies. The case in question is FIBO - an enterprise-level ontology for the financial ontology consistency, DL reasoner, performance, financial industry One of the founding principles of the Semantic Web ontologies is their decidability. In principle, this should allow one to perform more or less complex reasoning tasks. Unfortunately, it is well-known that more complex ontologies present a serious challenge to this goal because even a simple task of checking whether a DL ontology is consistent may take up more time than the ontology's developers are willing to spend. This paper presents a more troublesome example: an enterprise-level ontology for the financial industry.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>DEV), which ranges in maturity from “almost releasable” to “really, really rough,” is more than
40 percent larger. Both versions are available from https://github.com/edmcouncil/fibo.</p>
      <p>Currently, three FIBO primary content development teams are working in parallel on diferent
but related topics. In order to coordinate continuous integration of new and revised material,
facilitate collaboration between ontologists, and ensure continuous quality improvement,
leadership and process teams were put in place several years ago. One of the products of their work
is a development framework created to automate aspects of ontology “unit-level testing” to
guarantee a minimum level of quality.</p>
      <p>
        The original motivation for FIBO was the failure of financial institutions and regulatory
agencies to clearly exchange and integrate data about financial contracts and their counterparties,
as demonstrated by the industry’s failure to roll up the risk with respect to those contracts.
The initial FIBO use case was to provide an industry glossary that financial institutions and
other market participants can use to meet regulatory requirements such as Dodd-Frank1 in
the U.S. and the MiFID II2 framework in the EU for regulating financial markets. That use
case was extended to cover additional requirements for data governance, data management,
and enterprise glossaries mandated in the EU by the Basel Committee on Banking Supervision
(BCBS) for risk data aggregation and reporting (BCBS 2393). Over the last few years, we have
refined our approach as recommended in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] to create instrument- or topic-specific use cases
that add incremental value, resulting in significant progress by each working group. The use
cases include several usage scenarios and a number of competency questions per scenario,
which are used to test the eficacy of the ontology as the work progresses.
      </p>
      <p>The FIBO efort is organized into working groups, each consisting of at least one ontologist
and some number of subject matter experts, which meet weekly to (1) review the use cases,
(2) find areas in the ontologies where gaps remain, (3) refine and extend the ontologies to
address those gaps and other issues raised by users, and (4) develop examples that answer the
competency questions based on the revisions to the ontologies. Given an issue, use case, or
partial use case, such as one scenario, the development process is roughly as follows:
1. In the context of a working group teleconference, review the existing ontology to
determine what aspects of the ontology can be used to answer the question(s)
2. Identify the specific gap(s) and raise an issue to address the gap
3. Identify any missing concepts and work together to develop definitions and other
annotations for those concepts and any important relationships based on a combination of
appropriate resources (online financial dictionaries, ofline financial dictionaries, ISO and
other financial standards, etc.) and record our findings, discussion, and references in our
minutes in the working group wiki
4. Create a branch in GitHub for the issue
5. Identify the ontology(ies) that need to be revised, where in the class hierarchy the
concept(s) belong, and, importantly, whether or not there are existing patterns we can leverage
in order to integrate the material
1See: https://www.govinfo.gov/content/pkg/PLAW-111publ203/html/PLAW-111publ203.htm
2See: https://www.esma.europa.eu/policy-rules/mifid-ii-and-mifir/
3See: https://www.bis.org/publ/bcbs239.pdf
6. Integrate the new content into the relevant ontology(ies), reusing existing classes and
properties as much as possible and extending them as needed
7. Run at least one reasoner and perform SPARQL queries to ensure that the semantics seem
reasonable and that the ontology(ies) remain logically consistent
8. Check the changes into GitHub and push them to a remote branch so that other members
of the working group can review the results, automatically invoking the RDF serializer
described below that ensures consistent serialization of the resulting RDF/XML via a
custom Git hook
9. Create example individuals (or update existing individuals) and test whether or not the
competency question(s) can now be answered by the ontology (as appropriate), and
check-in any examples that might be used as guidance for FIBO users
10. Once the working group members are comfortable with the revisions, perform a pull
request in GitHub to get a broader review, which automatically kicks of the infrastructure
presented below; address any issues uncovered as a consequence
11. Once the pull request passes all of the stages in the publication cycle, at least two qualified
reviewers must sign of (currently active members of at least one of the working groups
plus other process team members have this privilege)
12. Finally, one of the process teams will merge the pull request after it has been approved.</p>
      <p>We iterate through steps 6-9, as needed, depending on the issue’s complexity, until we reach
a consensus on the resulting ontologies. Additional information regarding the methodology,
minimal criteria for metadata and ontology content, and unit-level hygiene testing is outlined
in our ontology guide – see: https://github.com/edmcouncil/fibo/blob/master/ONTOLOGY_
GUIDE.md.4</p>
    </sec>
    <sec id="sec-2">
      <title>2. Reasoning challenge</title>
      <p>FIBO has been growing over the years, and the task of validating its consistency has changed
over this period accordingly. For the purpose of this paper, we will investigate its latest release
see: https://github.com/edmcouncil/fibo/releases/tag/master_2022Q2.</p>
      <p>To appreciate the reasoning challenge in question, note that FIBO uses the full strength of
the SROIQ(D) logic and is rich in terms of logical axioms - see Figures 1 and 2.</p>
      <p>For the purposes of this paper, we run the Openllet reasoner (commit 97c43dd3) as a
standalone application and the Pellet and Hermit plugins (with the default configurations) to the
Protege editor using a Ubuntu Linux virtual machine with 48 vCPUs (Intel Xeon 2.4 GHz) and
89 GiB RAM. The results can be found in table 1 – bear in mind that Pellet and Hermit check
both the consistency of an ontology and the satisfiability of all its classes. The Hermit processes
were terminated by us after 4 days and the Pellet processes after 2 days of running – that’s
where the unknown values come from.</p>
      <p>We also tried Konclude, but it terminated with the following error:
{info} 12:51:55:173 &gt;&gt; Starting Konclude ...</p>
      <p>
        4This section summarises a more detailed exposition of FIBO from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
{info} 12:51:55:181 &gt;&gt; Starting consistency checking for 'MergedAboutFIBOProd.owl'.
{info} 12:51:55:183 &gt;&gt; Initializing reasoner. Creating calculation context.
{info} 12:51:55:189 &gt;&gt; Reasoner initialized with 1 processing unit(s).
{warning} 12:51:55:195 &gt;&gt; Annotations are currently not handled.
{error} 12:51:55:668 &gt;&gt; Skipped parsing of not supported datatype expression/axiom.
{error} 12:51:55:668 &gt;&gt; Skipped parsing of not supported datatype expression/axiom.
{error} 12:51:55:668 &gt;&gt; Skipped parsing of not supported datatype expression/axiom.
{info} 12:51:55:700 &gt;&gt; Query 'UnnamedConsistencyQuery' processed in '0' ms.
{info} 12:51:55:701 &gt;&gt; Preprocessing ontology 'http://konclude.com/test/kb'.
      </p>
      <sec id="sec-2-1">
        <title>Ontology</title>
        <p>FIBO PROD
FIBO DEV
FIBO PROD
FIBO DEV
FIBO PROD
FIBO DEV</p>
      </sec>
      <sec id="sec-2-2">
        <title>Reasoner</title>
        <p>Openllet
Openllet</p>
        <p>Pellet
Pellet
Hermit
Hermit</p>
        <p>Elapsed Time (milliseconds)
16,987,331
41,045,148
unknown
unknown
unknown
unknown</p>
        <p>Now the problem with this performance is that we cannot integrate a simple consistency check
into our DevOps infrastructure that supports the ontology development process. Currently, i.e.,
when consistency is not automatically validated, the process takes, on average, less than 30
minutes, so adding just the consistency check for PROD would extend it more than eight times.
Obviously, finding unsatisfiable classes is out of the question.</p>
        <p>So the challenge that the FIBO development process creates for DL reasoners is to reduce
the time of automatic consistency check so that it is comparable to the whole process, i.e., its
average execution takes less than 1,800 seconds.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusion</title>
      <p>The experiments described in this paper indicate that none of the bog-standard DL reasoners
can support reasoning over logically complex ontologies like FIBO. The need for much faster
and more scalable tools is imminent.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>E. F.</given-names>
            <surname>Kendall</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          , Ontology Engineering,
          <source>Synthesis Lectures on the Semantic Web: Theory and Technology</source>
          , Morgan &amp; Claypool Publishers,
          <year>2019</year>
          . doi:
          <volume>10</volume>
          .2200/ S00834ED1V01Y201802WBE018.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Allemang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Garbacz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Grądzki</surname>
          </string-name>
          , E. Kendall,
          <string-name>
            <given-names>R.</given-names>
            <surname>Trypuz</surname>
          </string-name>
          ,
          <article-title>An infrastructure for collaborative ontology development</article-title>
          ,
          <source>in: Formal Ontology in Information Systems</source>
          , IOS Press,
          <year>2021</year>
          , pp.
          <fpage>112</fpage>
          -
          <lpage>126</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>