<!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>The Whyis Knowledge Graph Framework in Action</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>James P. McCusker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sabbir M. Rashid</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nkechinyere Agu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kristin P. Bennett</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Deborah L. McGuinness</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Rensselaer Polytechnic Institute</institution>
          ,
          <addr-line>Troy, NY 12180</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We will demonstrate a reusable framework for developing knowledge graphs that supports general, open-ended development of knowledge curation, interaction, and inference. Knowledge graphs need to be easily maintainable and usable in sometimes complex application settings. Often, scaling knowledge graph updates can require developing a knowledge curation pipeline that either replaces the graph wholesale whenever updates are made, or requires detailed tracking of knowledge provenance across multiple data sources. Fig. 1 shows how Whyis provides a semantic analysis ecosystem: an environment that supports research and development of semantic analytics for which we previously had to build custom applications [3,4]. Users interact through a suite of knowledge graph views driven by the node type and view requested in the URL. Knowledge curation methods include Semantic ETL, external linked data mapping,and Natural Language Processing (NLP). Autonomous inference agents expand the available knowledge using traditional deductive reasoning as well as inductive methods that can include predictive models, statistical reasoners, and machine learning. Whyis is used in a number of areas today, including nanopolymers, spectrum policy, and health informatics. We demonstrate Whyis by creating and deploying an example Biological Knowledge Graph (BioKG), using data from DrugBank and Uniprot1, and briefly discuss benefits of using our approach over a conventional knowledge graph pipeline.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Whyis uses nanopublications to encapsulate every piece of knowledge introduced
into the knowledge graphs it manages. A nanopublication is composed of three
named RDF graphs: Assertion, Provenance, and Publication Info [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. We see
knowledge graphs with the level of granularity supported by nanopublications
as essential to fine-grained management of knowledge graphs that are curated
and inferred from diverse sources and can change on an ongoing basis. The use
of nanopublications as a fundamental unit of knowledge in Whyis has enabled
the systematic inclusion of provenance in ways that support knowledge revision
1 http://drugbank.ca, http://uniprot.org, respectively
      </p>
      <sec id="sec-1-1">
        <title>Predictive Modelers</title>
      </sec>
      <sec id="sec-1-2">
        <title>Machine Learning Statistical Reasoners</title>
      </sec>
      <sec id="sec-1-3">
        <title>Deductive Reasoners</title>
      </sec>
      <sec id="sec-1-4">
        <title>Knowledge Inference</title>
        <p>Visualization,</p>
        <p>Analysis</p>
      </sec>
      <sec id="sec-1-5">
        <title>Contributed Knowledge</title>
      </sec>
      <sec id="sec-1-6">
        <title>Inferred/Expanded Knowledge Knowledge and Data</title>
        <p>Semantic Semantic
Annotators Browsers</p>
      </sec>
      <sec id="sec-1-7">
        <title>Cognitive Agents Users</title>
      </sec>
      <sec id="sec-1-8">
        <title>Answers,</title>
        <p>Questions Explanations</p>
      </sec>
      <sec id="sec-1-9">
        <title>Knowledge Interaction, Creation, Exploration</title>
      </sec>
      <sec id="sec-1-10">
        <title>Hypotheses</title>
      </sec>
      <sec id="sec-1-11">
        <title>Knowledge Ontologies Data</title>
      </sec>
      <sec id="sec-1-12">
        <title>Results Knowledge and Data NLP,</title>
        <p>Machine Reading</p>
      </sec>
      <sec id="sec-1-13">
        <title>Semantic ETL, SDDs</title>
      </sec>
      <sec id="sec-1-14">
        <title>Mapping</title>
      </sec>
      <sec id="sec-1-15">
        <title>Linked Open Data</title>
      </sec>
      <sec id="sec-1-16">
        <title>Literature</title>
      </sec>
      <sec id="sec-1-17">
        <title>Databases</title>
      </sec>
      <sec id="sec-1-18">
        <title>Public Datasets</title>
      </sec>
      <sec id="sec-1-19">
        <title>Knowledge Curation</title>
        <p>and truth maintenance of inferred knowledge as underlying knowledge changes.
Whyis is written in Python using the Flask framework, and uses a number of
existing infrastructure tools to work, as shown in Fig. 2.</p>
        <p>Whyis inference is handled by a suite of “Agents”, each performing as the
analogue to a single rule in traditional deductive inferencing. An agent is
composed of a SPARQL query that serves as a “body” and a python function that
serves has the “head”. The agent is invoked when new nanopublications are added
to the knowledge graph that match the SPARQL query defined by the agent.
The agent superclass assigns some basic provenance related to the given
inference activity, which developers can customize in their implementations. Included
inference agent types include entity extraction and resolution against existing
knowledge graph nodes, deductive reasoning agents that can be configured with
custom rules, as well as many available pre-configured OWL 2 rules.
3</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Some existing frameworks support some of Whyis’ capabilities. Stardog2 includes
OWL reasoning, mapping of data silos into RDF, and custom rules. Ontowiki
provides a user interface on top of an RDF database that tracks history, allows
users to browse and edit knowledge, and supports user interface extensions 3.
Callimachus, a “Semantic Content Manager,” lets developers create UIs by object
type using RDFa [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Virtuoso Openlink Data Spaces is a linked data publishing
tool that provides a set of pre-defined data import tools and a fixed set of views
2 A case study: https://www.stardog.com/blog/nasas-knowledge-graph/
3 http://ontowiki.net
      </p>
      <sec id="sec-2-1">
        <title>Ontology</title>
      </sec>
      <sec id="sec-2-2">
        <title>Browser</title>
      </sec>
      <sec id="sec-2-3">
        <title>Custom</title>
      </sec>
      <sec id="sec-2-4">
        <title>Views</title>
      </sec>
      <sec id="sec-2-5">
        <title>Literature</title>
      </sec>
      <sec id="sec-2-6">
        <title>Browser</title>
      </sec>
      <sec id="sec-2-7">
        <title>Knowledge</title>
      </sec>
      <sec id="sec-2-8">
        <title>Viewer/Editor</title>
      </sec>
      <sec id="sec-2-9">
        <title>Search</title>
      </sec>
      <sec id="sec-2-10">
        <title>View Manager (by class and view type)</title>
      </sec>
      <sec id="sec-2-11">
        <title>DBPedia DOI</title>
      </sec>
      <sec id="sec-2-12">
        <title>Importer Importer</title>
      </sec>
      <sec id="sec-2-13">
        <title>Linked Data Mapping</title>
      </sec>
      <sec id="sec-2-14">
        <title>Knowledge</title>
      </sec>
      <sec id="sec-2-15">
        <title>REST API</title>
      </sec>
      <sec id="sec-2-16">
        <title>Ontology</title>
      </sec>
      <sec id="sec-2-17">
        <title>Importer</title>
      </sec>
      <sec id="sec-2-18">
        <title>Knowledge</title>
      </sec>
      <sec id="sec-2-19">
        <title>Curation (SETLr)</title>
      </sec>
      <sec id="sec-2-20">
        <title>LOD crawler</title>
      </sec>
      <sec id="sec-2-21">
        <title>Entity</title>
      </sec>
      <sec id="sec-2-22">
        <title>Extraction/</title>
      </sec>
      <sec id="sec-2-23">
        <title>Resolution</title>
      </sec>
      <sec id="sec-2-24">
        <title>Knowledge Expansion Agents</title>
        <p>Whyis</p>
        <p>Web
Stack
Server
Storage/Query</p>
        <p>RDF
Database</p>
        <p>Nanopublication</p>
        <p>File
on the linked data it creates.4 Vitro5 supports the creation of new ontology
classes and instances, but does not allow users to create custom interfaces.
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Demonstration</title>
      <p>
        We demonstrate Whyis using our Biology knowledge graph at http://bit.ly/
whyis-demo. All user views are built-in views in Whyis. Nothing has been
customized for the biology domain except for queries to find biological interactions.
The BioKG main page allows users to view knowledge graph along with the
most recent changes and the graph neighborhood of the most recently changed
entity. Users can search for entities and either view search results or select from
one of the resolved entities. Every entity in the knowledge graph gets its own
page, which can be customized by knowledge graph developers by the entity
type. Users can also explore the knowledge graph beyond the current node using
the knowledge explorer (Figure 3), a refinement of the user interface developed
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>
        We believe Whyis is the first provenance-aware framework for knowledge graph
development that enables curation, interaction, and inference within a unified
4 https://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/Ods
5 Available: https://github.com/vivo-project/Vitro
ecosystem. We demonstrate these features in a BioKG setting, exploring
drugprotein-disease interactions, and providing semi-automated support for semantic
queries previously custom developed [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Whyis is published under the Apache
2.0 License on Github6 with documentation on how to develop custom knowledge
graphs.
      </p>
      <p>Acknowledgements: This work was funded by NIEHS Award
0255-02364609 / 1U2CES026555-01, NSF Award OAC-1640840 IBM Research AI Horizons
Network, and by the Gates Foundation through HBGDki.
6 https://tetherless-world.github.io/whyis</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Battle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wood</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leigh</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruth</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>The callimachus project: Rdfa as a web template language</article-title>
          .
          <source>In: Proceedings of the Third International Conference on Consuming Linked Data-Volume</source>
          <volume>905</volume>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>14</lpage>
          . CEUR-WS. org (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Groth</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gibson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Velterop</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The anatomy of a nanopublication</article-title>
          .
          <source>Information Services and Use</source>
          <volume>30</volume>
          (
          <issue>1</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>56</lpage>
          (
          <year>2010</year>
          ), http://dx.doi.org/10.3233/ISU-2010-0613
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>McCusker</surname>
            ,
            <given-names>J.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumontier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>He</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dordick</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          :
          <article-title>Finding melanoma drugs through a probabilistic knowledge graph</article-title>
          .
          <source>PeerJ Computer Science</source>
          <volume>3</volume>
          ,
          <issue>e106</issue>
          (
          <year>Feb 2017</year>
          ), https://doi.org/10.7717/peerj-cs.
          <fpage>106</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bennett</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Integrating semantics and numerics: Case study on enhancing genomic and disease data using linked data technologies</article-title>
          .
          <source>Proceedings of SmartData</source>
          pp.
          <fpage>18</fpage>
          -
          <lpage>20</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>