<!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>A Visual SHACL Shapes Editor Based On OntoPad</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Natanael Arndt</string-name>
          <email>arndt@informatik.uni-leipzig.d</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>AndréValdestilha</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gustavo Publio</string-name>
          <email>gustavo.publio@informatik.uni-leipzig.d</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>AndreaCimmino</string-name>
          <email>cimmino@fi.upm.es</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>KonradHöfner</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Riechert</string-name>
          <email>thomas.riechert@htwk-leipzig.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AKSW Group, Institute for Applied Informatics (InfAI)</institution>
          ,
          <addr-line>Leipzig</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute for Medical Informatics</institution>
          ,
          <addr-line>Statistics and Epidemiology</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Leipzig University of Applied Sciences</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Ontology Engineering Group, Universidad Politécnica de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>On the Semantic Web, vocabularies and ontologies play a fundamental role to express the terminology and rules of certain domains. New technologies like SHACL provide the possibility to express data schemata specific to certain data sets, applications, and domains. However, the domain modeling process is collaborative and when using RDF, it requires technical knowledge. In this paper, we present a tool to support a two-step-process to model a terminology and a schema with a combined graphical RDF Schema editor and visual SHACL editor. This tool allows domain experts to create a terminology and schema without the need for a deep understanding of RDF Schema or SHACL.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        experts into the process. Several systems to deal with SHACL shapes have been proposed
(cf. section 2). So far, some of these tools provide a visualization of SHACL shapes and only
one system has a prototypical interactive visual editor for SHACL shapes. Consequently, our
far goal is to establish a joined distributed collaborative domain modeling process, based on the
Quit Store [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], that involves all stakeholders. In this paper we present a tool, based on OntoPad,
to visually support the domain modeling process. The domain modeling process is a
two-stepprocess, in which we (1) define an RDF vocabulary and (2) visually compose SHACL shapes
using the vocabulary. The visualization is inspired by the notation of UML class diagrams.
      </p>
      <p>This paper is structured as followsS.ection 2 provides an overview on the
literaturSee;ction 3shows some implementation details and demonstrates the tool; finallSye,ction 4presents
the conclusions and a prospect to future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>There are many tools that contribute to creating a visual vocabulary and ontology editors. For
the sake of brevity of this demo paper we have created a comparison in the Open Research
Knowledge Graph (ORKG) 3[] that represents the related work2][. It is available athttps://doi
.org/10.48366/R113089.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Implementation and Demonstration</title>
      <p>The OntoPad is implemented as a web application using JavaScript and the VueJS framework.
The source code is available as FLOSS licensed under the terms of the GPL-3.0 on GitHub
(https://github.com/AKSW/OntoPad). This allows to use state-of-the-art technology for the
user interfaces and provide a responsive interaction independent of the users client platform.
Figure 1shows an overview of the domain modeling interface of the OntoPad.</p>
      <p>To store the data, we send SPARQL Update requests to a SPARQL endpoint. In order to
support the highly collaborative process of domain modeling, we use the Quit Sto1]reas[
SPARQL endpoint. The Quit Store tracks all changes performed with SPARQL Update requests
in a Git repository and allows to synchronize the repository with remote collaborators. This
allows each collaborator to setup their own independent workspace while still participating in
a common distributed collaborative workspace.</p>
      <sec id="sec-3-1">
        <title>3.1. Step 1: Definition of the Terminology</title>
        <p>In the first step, the terminology of a domain is defined. For this purpose the OntoPad provides
a terminology component as can be seen in the left column ofigf. 1 . In the top it lists all explicit
instances of rdfs:Class, as well as inferred instances orfdfs:Classby considering objects ofrdf
:type-triples and instances ofowl:Class, that are found in the current graph. By clicking on the
plus-button a new class term can be added. The interface to add a new class is shownfigi.n2 .
The user can specify the IRI as well as a label using the properrtydfs:labeland a comment
using rdfs:comment. To edit a class, the user can select the respective term and switch to the
edit tab. The edit tab provides a triple view on the class that allows to change the existing
statements and also to add new statements. Additionally a source-tab is available to edit the
resource using the Turtle syntax. In the lower part of the terminology component, properties
can be defined and edited as instances of rdf:Propertyin the same way as for class terms. The
term creation process is kept at a bare minimum to provide a very simple user interface that
does not distract the domain experts from the discursive process.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Step 2: Definition of an Application</title>
        <p>In the right part of the domain modeling interface, as depicted figin. 1 , the visual diagram
component is provided. The graphical notation of the diagram is inspired by the notation of
UML class diagrams as used in software engineering. The modeling tool allows the user to
create new shapes by dragging anrdfs:Class from the left hand side and dropping it in the
right hand shape composer. This action automatically creates a new instancesohf:NodeShape
with the class specified as sh:targetClass. In the same way the user can drag anrdf:Property
from the left hand list of terms and drop it inside a node shape. This automatically creates a new
instance of sh:PropertyShapewith the property specified as sh:path. The sh:PropertyShapeis
attached to the sh:NodeShape with the sh:propertyproperty. To specify a shape as constraint
for the value nodes of a property the user can click the square behind the property and draw a
line to theIRI input port of the respective node shape. Also thseh:PropertyShapeand sh:Node
Shape resources can be viewed and edited with the triple editor or with the source-tab. By
clicking the save button in the top right corner, the created node shapes and property shapes
are stored to the underlying Quit Store. When opening the view, the diagram is initialized with
already existing instances ofsh:NodeShape and their linkedsh:PropertyShapeinstances.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion and Future Work</title>
      <p>We presented to our knowledge the first system that allows the user to create and edit an RDF
terminology in conjunction with a visual diagram based editor for SHACL shapes. The
OntoPad supports the two step vocabulary creation process: it allows to create and edit an RDF
terminology in a graphical user interface and it provides an editor based on a visual graph
diagram of SHACL Shapes. Our system is complemented by an editor for the RDF serialization and
a graphical user interface to edit triples. OntoPad is built on top of Quit Store which provides
a versioned RDF triple store, allowing the user to keep track of the creation process, provides
the possibility for distributed collaboration, and tracks the relevant provenance information.</p>
      <p>
        To actually make the vision of an interlinked vocabulary space in the Semantic Web true, we
want to extend the system to also import existing vocabularies from vocabulary repositories
like Linked Open Vocabularies9[] or DBpedia Archivo5[]. This should allow to foster the reuse
of existing terminology and provide a mix-and-match environment to construct SHACL shapes
for specific use cases and applications. As future work, we will further implement more of the
SHACL constraints, like cardinality, datatypes, and string patterns, into the editor to support
use cases like the creation of input forms with RDFormht(tps://github.com/simeonackermann
/RDForm/). Even though the underlying Quit Store provides many unparalleled features, we
want to untangle the dependency on this specific triple store to be able to use the OntoPad in
combination with any endpoint that provides the standard SPARQL 1.1 Query and Update
interface. To support the full linked data life-cycle the system shall also be tested in combination
with and integrated with systems like ASTREA4[] in order to enable the automatic generation
of SHACL shapes and test an ontology using formally pre-defined guidelines or custom SHACL
tests with SHARK [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] or RDFUnit [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work was partly supported by the Bundesanstalt für Materialforschung und -prüfung
(BAM) and by a grant from the German Federal Ministry for Economic Afairs and Energy
(BMWi) for the PlatonaM project (01MT19005A).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Natanael</given-names>
            <surname>Arndt</surname>
          </string-name>
          et al. “
          <article-title>Decentralized Collaborative Knowledge Management using Git”</article-title>
          .
          <source>In: Journal of Web Semantics</source>
          (
          <year>2018</year>
          ). doi:
          <volume>10</volume>
          .1016/j.websem.
          <year>2018</year>
          .
          <volume>08</volume>
          .002.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Natanael</given-names>
            <surname>Arndt</surname>
          </string-name>
          et alR.
          <article-title>elated Work for the paper ”A Visual SHACL Shapes Editor Based On OntoPad”</article-title>
          . en.
          <year>2021</year>
          . doi:
          <volume>10</volume>
          .48366/R113089. url: https://www.orkg.org/orkg/comparison /R113089.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          et al. “
          <article-title>Improving Access to Scientific Literature with Knowledge Graphs”</article-title>
          .
          <source>InB:ibliothek Forschung und Praxis</source>
          <volume>44</volume>
          (
          <year>2020</year>
          ), pp.
          <fpage>516</fpage>
          -
          <lpage>529</lpage>
          . doi:
          <volume>10</volume>
          .1515/bfp-2020-
          <year>2042</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Cimmino</surname>
          </string-name>
          , Alba Fernández-Izquierdo, and Raúl Gaár-cCıastro. “
          <article-title>Astrea: Automatic Generation of SHACL Shapes from Ontologies”</article-title>
          .
          <source>InE:uropean Semantic Web Conference</source>
          . Springer.
          <year>2020</year>
          , pp.
          <fpage>497</fpage>
          -
          <lpage>513</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Johannes</given-names>
            <surname>Frey</surname>
          </string-name>
          et al. “
          <article-title>DBpedia Archivo - A Web-Scale Interface for Ontology Archiving under Consumer-oriented Aspects”</article-title>
          .
          <source>InS:EMANTiCS</source>
          <year>2020</year>
          .
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Holger</given-names>
            <surname>Knublauch</surname>
          </string-name>
          and
          <article-title>Dimitris KontokostaSsh. apes Constraint Language (SHACL)</article-title>
          .
          <source>Recommendation. W3C</source>
          ,
          <year>July 2017</year>
          .url: https://www.w3.org/TR/2017/REC-shacl-
          <volume>20170720</volume>
          ./
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Dimitris</given-names>
            <surname>Kontokostas</surname>
          </string-name>
          et al. “
          <article-title>Test-driven Evaluation of Linked Data Quality”</article-title>
          . WInW:W '
          <fpage>14</fpage>
          . Seoul, Korea,
          <year>2014</year>
          .doi:
          <volume>10</volume>
          .1145/2566486.2568002.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Gustavo</given-names>
            <surname>Correa</surname>
          </string-name>
          <article-title>Publio. “SHARK: A Test-Driven Framework for Design and Evolution of Ontologies”</article-title>
          .
          <source>In:European Semantic Web Conference</source>
          . Springer.
          <year>2018</year>
          , pp.
          <fpage>314</fpage>
          -
          <lpage>324</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Pierre-Yves Vandenbussche</surname>
          </string-name>
          et al. “
          <article-title>Linked Open Vocabularies (LOV): A gateway to reusable semantic vocabularies on the Web”</article-title>
          .
          <source>InS:emantic Web Journal 8.3</source>
          (
          <year>2017</year>
          ). doi:
          <volume>10</volume>
          .3233/SW160213.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>