<!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>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>How to Add a User Interface on Top of an External SPARQL Endpoint: Case Nobel Prize Sampo</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Niks KristofersGrislis</string-name>
          <email>niksgrislis@inbox.lv</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>KārlisČerāns</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikus Grasmanis</string-name>
          <email>mikus.grasmanis@lumii.lv</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Heikki Rantal a</string-name>
          <email>heikki.rantala@aalto</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>As more</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>the challenge of</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Aalto University, Department of Computer Science</institution>
          ,
          <addr-line>Espoo</addr-line>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Mathematics and Computer Science, University of Latvia</institution>
          ,
          <addr-line>Riga</addr-line>
          ,
          <country country="LV">Latvia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Helsinki, Helsinki Centre for Digital Humanities (HELDIG)</institution>
          ,
          <addr-line>Helsinki</addr-line>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Latvia, Department of Computing</institution>
          ,
          <addr-line>Riga</addr-line>
          ,
          <country country="LV">Latvia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper discusses and demonstrates how to create an intelligent user interface (UI) on top of an external SPARQL endpoint, when only an open SPARQL API is available. As a case study, tNhoebel Prizes &amp; Laureates Linked Open Data (LOD) service provided by the Nobel Foundation and the Sampo-UI framework for faceted search, browsing, and data analyses are considered. To show how this can be done easily, the semantic portal Nobel Prize Sampo, available online and on GitHub, is described and the lessons learned are discussed.</p>
      </abstract>
      <kwd-group>
        <kwd>linked data</kwd>
        <kwd>user interface</kwd>
        <kwd>semantic portal</kwd>
        <kwd>SPARQL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>∗Corresponding author.
CEUR</p>
      <p>ceur-ws.org</p>
      <p>As an example, we developed and made available a Sampo-UI based portal on top of the Nobel
Prizes SPARQL endpoint2 that works with the original Nobel Prizes data maintained by the Nobel Prize
Foundation. Experiences are discussed of developing thNeobel Prize Sampo portal configurations
and adjustments to the Sampo-UI environment that have been necessary to enable its application in the
externally available data environment.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Sampo-UI is not the only available tool for building web applications based on SPARQL endpoints. For
example, Metaphactory3 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a commercial platform with a wide range of features to curate, visualize,
and explore knowledge graphs. Although Metaphactory has powerful features, it is neither open source
nor free. An example of a free and open source tool is the Linked Data Reactor (L4D[-7R].) LD-R
provides a starting point for creating a web application that can be configured to view, browse, and
edit knowledge graphs. FERASAT 8[] is a tool built on top of LD-R to provide faceted search and
visualization features.
      </p>
      <p>The Nobel Prizes dataset itself has been the subject of numerous studies and presentations. In
addition to the oficial Nobel Prizes porta5lmaintained by the Nobel Prize Foundation, a demo portal
was created in the Metaphactory environment, as w6e.lTlhe demonstration portal described in this
paper is developed based on the original data from the Nobel Prize SPARQL endpoint integrating
on-the-fly the data from other Linked Data resources (as e.g., Wikidata), as well as by relying on a fully
open source Sampo-UI framework in its creation. The end users of this demo portal would appreciate
also the University perspective (cf. Section 4) not included in other presentations.</p>
    </sec>
    <sec id="sec-3">
      <title>3. UI Logic of the Sampo-UI Framework</title>
      <p>Sampo-UI aims to create a kind of generic “standard” UI logic model for LOD applications, based on the
basic concepts of classes, their properties, and instances in a Knowledge Graph (KG). The landing page
of a Sampo porta7l based on the Sampo-UI too8l contains a series oafpplication perspective windows
that allow one to search, browse, and analyze the underlying KG from diferent perspectives, based on
the classes of the KG. A perspective for a class contains a faceted search engine whose facets are based
on the properties of the class; by making selections on the facets, a corresponding subset of individuals
of the class is retrieved as the search result, and hit counts on the facet categories are updated to guide
the search. The result set can then be analyzed on diferent tabs, e.g., on a map or timeline or using
graphs. At any point, an individual can be chosen for a closer look aintsitasnce page that provides
comprehensive linked data about the individual. Here it is also possible to analyze and visualize data
about the individual by using separate tabs.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Nobel Prize Sampo: Demonstration</title>
      <p>We built theNobel Prize Sampo portal over the existing Nobel Prize dataset, using only the SPARQL
access to the KG, as well as other Linked data sets, where appropriate. The Nobel Prize dataset schema is
visualized in Figure 1 using the data schema presentation service of the ViziQuer tool9;]c.f.T[o create
the portal, we select its three maipnerspectives: the Nobel Prizes, the Laureates, and the Universities,
with which the laureates are afiliated, based on the respective data classes.
2Nobel Prizes data servicesh:ttps://www.nobelprize.org/about/developer-zone-2/
3Documentation is available ahttps://help.metaphacts.com/resource/Help:Documentatio.n
4The source code of LD-R is available hattps://github.com/ali1k/ld-.r Unfortunately, LD-R is apparently not currently
maintained actively, as at the time of writing in June 2025 the last commit to the repository is from 2022.
5Nobel prizes:https://nobelprize.org
6Welcome to metahactory:https://nobelprize.metaphacts.cloud/resource/StartPage
7Sampo portal seriesh:ttps://seco.cs.aalto.fi/applications/sampo/
8Code on Githubhttps://github.com/SemanticComputing/sampo-ui; project homepagehttps://seco.cs.aalto.fi/tools/sampo-ui/</p>
      <p>Each perspective can have a number of (filterable and synchronized) views (such as a table, a map, a
pie or bar chart). ThNeobel Prize Sampo portal has table views for each of the three perspectives,
along with country, category, and prize count distribution as well as country map views for Laureates,
year and category distributions for Nobel Prizes, and laureate award count distribution for Universities.
The search facets in the perspectives include name and award motivation text searches, afiliation, and
prize category multi-choice selections for laureates, and similar facets in the other perspectives.</p>
      <p>The data fields used in the UI presentation and search facets come from the properties of the data
classes associated with perspectives; sometimes property paths or even dedicated SPARQL queries
are used in the UI field and facet definition. This has allowed to create rich presentation views from
the Nobel Prize dataset itself, such as textually presented field of all prize laureates, their shares, and
motivation in the Nobel Prize perspective, and to include the data from other sources such as the
laureate image and country coordinate data from Wikidata (based on Wikidata links available through
owl:sameAs property). The individual laureate presentations also include further information from
Wikidata, such as occupation, other awards, OpenAlex identifiers, and given TED talks.</p>
      <p>The implemented portal with all three perspective definitions and respective instance pages is
available onlin9.eFigure 2 shows the table view of a sample perspective of Nobel Prize laureates.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Nobel Prize Sampo: Experience</title>
      <p>The core part of the portaimlplementation has been the creation of configurations of the main portal and
the involved perspectives, including presentation information for views/tabs, properties (data fields),
and facets, as well as SPARQL queries for the retrieval of instance and its field information within the
perspective and for selection of data specific to diferent views/tabs.</p>
      <p>Providing the above information allows to obtain a decent demonstration portal for exploring
the Nobel Prize data. Still, for a portal with fully working Sampo-UI functionality outside its usual
application context (e.g., the data stored in a local repository supported by a SPARQL engine of particular
type), a number of challenges have arisen, and have been dealt with by adapting the open source code
of the original Sampo-UI system. Some of the code adaptations that have enabled the fNuollbel Prize
Sampo portal functionality include the following, c1f].: [
• addition of universal text search functionality based on SPARQL query standard REGEX
capabilities (in addition to the possibility to use FUSEKI JENA full text indexes when available)
• changes to the underlying SPARQL queries for handling null/unknown property values in facets,
with a recommendation to provide diferent SPARQL templates for diferent SPARQL engines</p>
      <sec id="sec-5-1">
        <title>9Nobel Prize Sampo portal:https://nobel-prize-sampo.lumii.lv</title>
        <p>• introduction of SPARQL query pipeline mechanism for view data creation to provide a more
reliable solution for on the fly data integration from multiple SPARQL endpoints compared to
SPARQL SERVICE clause alternative that was found to be unreliable for federated queries
• addition of the possibility to use OpenStreetMa1p0s for the map view visualization in addition to</p>
        <p>Mapbox11 that is proprietary and require account creation
• re-arranging of ORDER BY clauses in the SPARQL query templates to widen the scope of SPARQL
engines that serve the table data in correct order
• changes to enable correct handling of resource URIs that have percent-encoded non-ASCII
characters into ASCII character set</p>
        <p>Full code adjustments of the Sampo-UI system along with the specificNobel Prize Sampo portal
configuration are available on GitHu12bfrom where a running version of the portal can be set up locally.
A running and maintained public version of thNeobel Prize Sampo portal is available online.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>The Sampo-UI tool has been shown to be usable in creating a user interface on a given external
knowledge graph that is outside the control of the developer of the UI. Furthermore, Sampo-UI has
demonstrated the capability to integrate eficiently the data from various connected linked data sources,
such as the Nobel Prize data set and Wikidata, thereby exploiting eficiently the Linked Open Data
paradigm of bringing together decentralized enriching information.</p>
      <p>The open source availability of the Sampo-UI allows to extend its functionality to meet the needs
of a particular application scenario, and the additional configurations and the code created in this
demonstration allows both for easy extending or modifying the creaNteodbel Prize Sampo portal
example, and for reusing the code solutions in other situations of UI creation, including those of creating
UIs over existing external SPARQL endpoints. Since Sampo-UI is a system of potential interest for
10https://www.openstreetmap.org
11https://www.mapbox.com
12Code on GitHub: https://github.com/LUMII-Syslab/sampo-ui-nobel-prize
diferent UI creators, an environment enabling easy integration of updates supplied by diferent users,
including the ones described in this paper, into it would be relevant and is work in progress as part of
the Finnish national research infrastructure initiative FIN-CLARIAH/DARIAH.fi for Digital Humanities.</p>
      <p>
        We also look forward to automating the creation of SAMPO-UI configurations based on annotated
data schema description along the lines o1f0[
        <xref ref-type="bibr" rid="ref11">, 11</xref>
        ], or some related approach.
      </p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work has been partially supported by a Latvian Science Council Grant lzp-2024/1-0665 “What is
in your Knowledge Graph?”. Sampo-UI development is supported by the Research Council of Finland
based on the European Union NextGenerationEU instrument.</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <sec id="sec-8-1">
        <title>The authors have not employed any generative AI tools.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>N. K.</given-names>
            <surname>Grīslis</surname>
          </string-name>
          ,
          <article-title>Sampo UI framework application for Nobel Prize and other linked data visualization</article-title>
          .
          <source>Bachelor thesis</source>
          , University of Latvia,
          <year>2025</year>
          . URhLt:tps://dspace.lu.lv/dspace/handle/7/7150.4
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ikkala</surname>
          </string-name>
          , E. Hyvönen,
          <string-name>
            <given-names>H.</given-names>
            <surname>Rantala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koho</surname>
          </string-name>
          ,
          <string-name>
            <surname>Sampo-UI</surname>
          </string-name>
          :
          <article-title>A full stack JavaScript framework for developing semantic portal user interfaces</article-title>
          ,
          <source>Semantic Web</source>
          <volume>13</volume>
          (
          <year>2022</year>
          )
          <fpage>69</fpage>
          -
          <lpage>84</lpage>
          .
          <year>d1o0i</year>
          .: 3233/SW-210428.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>H.</given-names>
            <surname>Rantala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ahola</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Ikkala</surname>
          </string-name>
          , E. Hyvönen,
          <article-title>How to create easily a data analytic semantic portal on top of a SPARQL endpoint: introducing the configurable Sampo-UI framework, in: VOILA! 2023 Visualization and Interaction for Ontologies</article-title>
          ,
          <source>Linked Data and Knowledge Graphs</source>
          <year>2023</year>
          , volume
          <volume>3508</volume>
          , CEUR Workshop Proceedinbgs,
          <year>2023</year>
          . URLh:ttps://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3508</volume>
          /paper3.pd. f
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <surname>Hyvönen</surname>
          </string-name>
          ,
          <article-title>Digital humanities on the Semantic Web: Sampo model</article-title>
          and portal series,
          <source>Semantic Web</source>
          <volume>14</volume>
          (
          <year>2022</year>
          )
          <fpage>729</fpage>
          -
          <lpage>744</lpage>
          . doi:
          <volume>10</volume>
          .3233/SW-223034.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Hyvönen</surname>
          </string-name>
          ,
          <article-title>How to create a national cross-domain ontology and linked data infrastructure and use it on the semantic web</article-title>
          ,
          <source>Semantic Web</source>
          (
          <year>2024</year>
          ).
          <year>doi1</year>
          :
          <fpage>0</fpage>
          .3233/SW-243468.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>P.</given-names>
            <surname>Haase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Herzig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kozlov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nikolov</surname>
          </string-name>
          , J. Trame,
          <article-title>metaphactory: A platform for knowledge graph management</article-title>
          ,
          <source>Semantic Web</source>
          <volume>10</volume>
          (
          <year>2019</year>
          )
          <fpage>1109</fpage>
          -
          <lpage>1125</lpage>
          .
          <year>doi1</year>
          :
          <fpage>0</fpage>
          .3233/SW-190360.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Khalili</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Loizou</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. van Harmelen</surname>
          </string-name>
          ,
          <article-title>Adaptive Linked Data-driven Web components: Building lfexible and reusable Semantic Web interfaces</article-title>
          , in: H.
          <string-name>
            <surname>Sack</surname>
            , E. Blomqvist, M. d'Aquin,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ghidini</surname>
            ,
            <given-names>S. P.</given-names>
          </string-name>
          <string-name>
            <surname>Ponzetto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          Lange (Eds.),
          <source>The Semantic Web. Latest Advances and New Domains. ESWC</source>
          <year>2016</year>
          ., volume
          <volume>9678</volume>
          of Lecture Notes in Computer Science, Springer, Cham,
          <year>2016</year>
          , pp.
          <fpage>677</fpage>
          -
          <lpage>692</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -34129-3\_
          <fpage>41</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Khalili</surname>
          </string-name>
          , P. Van den Besselaar, K. A. de Graaf,
          <article-title>FERASAT: A serendipity-fostering faceted browser for Linked Data</article-title>
          , in: A.
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Navigli</surname>
            , M.-E. Vidal,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Troncy</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Hollink</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Tordai</surname>
          </string-name>
          , M. Alam (Eds.),
          <source>The Semantic Web. ESWC</source>
          <year>2018</year>
          , volume
          <volume>10843</volume>
          ofLecture Notes in Computer Science, Springer, Cham,
          <year>2018</year>
          , pp.
          <fpage>351</fpage>
          -
          <lpage>366</lpage>
          .
          <year>doi1</year>
          :
          <fpage>0</fpage>
          .1007/978-3-
          <fpage>319</fpage>
          -93417-4\_
          <fpage>23</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>Lāce</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romāne-Ritmane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grasmanis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sproģis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ovčiņņikova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Bojārs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Čerāns</surname>
          </string-name>
          ,
          <article-title>Visual presentation and summarization of linked data schemas</article-title>
          , in: S. Tiwari,
          <string-name>
            <given-names>B.</given-names>
            <surname>Villazón-Terrazas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>OrtizRodríguez</surname>
          </string-name>
          , S. Sahri (Eds.),
          <source>Knowledge Graphs and Semantic Web</source>
          , Springer Nature Switzerland, Cham,
          <year>2025</year>
          , pp.
          <fpage>290</fpage>
          -
          <lpage>305</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -81221-7_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>K.</given-names>
            <surname>Čerāns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romāne</surname>
          </string-name>
          , OBIS:
          <article-title>Ontology-Based information system framework</article-title>
          ,
          <source>in: CAiSE 2015 Forum</source>
          , volume
          <volume>1367</volume>
          ofCEUR Workshop Proceedings,
          <year>2015</year>
          , pp.
          <fpage>65</fpage>
          -
          <lpage>72</lpage>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1367</volume>
          /paper-09.pd.f
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zviedris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romane</surname>
          </string-name>
          , G. Barzdins,
          <string-name>
            <given-names>K.</given-names>
            <surname>Cerans</surname>
          </string-name>
          ,
          <article-title>Ontology-based information system</article-title>
          ,
          <source>in: JIST</source>
          <year>2013</year>
          :
          <article-title>Semantic Technology</article-title>
          , volume
          <volume>8388</volume>
          ofLNCS, Springer,
          <year>2014</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>47</lpage>
          .
          <year>doi1</year>
          :
          <fpage>0</fpage>
          .1007/ 978-3-
          <fpage>319</fpage>
          -06826-
          <issue>8</issue>
          _
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>