<!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>LinkedPipes DCAT-AP Viewer: A Native DCAT-AP Data Catalog?</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Charles University, Faculty of Mathematics and Physics Malostranské nám.</institution>
          <addr-line>25, 118 00 Praha 1</addr-line>
          ,
          <country country="CZ">Czech Republic</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this demonstration we present LinkedPipes DCAT-AP Viewer (LP-DAV), a data catalog built to support DCAT-AP, the European standard for representation of metadata in data portals, and an application profile of the DCAT W3C Recommendation. We present its architecture and data loading process and on the example of the Czech National Open Data portal we show its main advantages compared to other data catalog solutions such as CKAN. These include the support for Named Authority Lists in EU Vocabularies (EU NALs), controlled vocabularies mandatory in DCAT-AP, and the support for bulk loading of DCAT-AP RDF dumps using LinkedPipes ETL.</p>
      </abstract>
      <kwd-group>
        <kwd>catalog</kwd>
        <kwd>DCAT</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Introduction
? This work was supported in part by the Czech Science Foundation (GAČR), grant
number 16-09713S and in part by the project SVV 260451.
1 https://joinup.ec.europa.eu/release/dcat-ap-v11
2 https://github.com/ckan/ckanext-dcat
and export of CKAN metadata to its DCAT representation. Nevertheless, the
extensions still only provide a syntactical mapping of the models, which does
not solve the underlying issues which demand a different design approach to the
whole software stack, especially regarding the usage of the multilingual Named
Authority Lists in EU Vocabularies (EU NALs)3.</p>
      <p>Our primary goal when implementing the Czech National Open Data
Catalog was to be compliant with standards, i.e. DCAT-AP. We had approximately
120 000 datasets harvested from local catalogs of institutions publishing open
data in the Czech Republic, represented using DCAT-AP in an RDF dump file.
When trying to load this data into CKAN or DKAN, we faced the following
challenges:
1. Poor bulk load performance. The local institutions kept updating the
datasets daily in an automated fashion, resulting in the need to reload most
of the datasets daily, which we were unable to do using the CKAN API and
the CKAN bulk load utilities. This is because CKAN is focused mainly on
manual data entry.
2. Insufficient support for license information. The DCAT
Recommendation attaches licensing information to distributions of datasets using its
URL. CKAN has the license support hardwired for datasets (packages) and
provides its own list of licenses identified only by their proprietary codes
such as cc-by.
3. Poor support of datasets with many distributions. According to the
DCAT-AP Implementation Guideline on Dataset series4, when users are
expected to be interested in the dataset series as a whole, the individual files
in the series should be represented as distributions of one dataset. In our
case, we had a dataset with approx. 7 000 distributions. Since in CKAN,
they are represented as resources and there is no paging implemented for
them, CKAN kept crashing on these datasets. A hotfix for this had to be
implemented e.g. in the CKAN based European Data Portal5, which simply
limited the maximum number of resources, which is not an optimal solution.
4. Insufficient support for controlled vocabularies. The DCAT-AP
standard mandates the usage of, often multilingual, EU NALs. Since in the RDF
dump of DCAT there are links to those vocabularies, the catalog needs to
be aware of them to display human readable labels for the vocabulary items,
in the appropriate language.</p>
      <p>These issues led us to believe that there is a need for a new data catalog
software built with native Linked Data, DCAT-AP and controlled
vocabularies support, focused on automated loading of larger numbers of datasets from
data preparation pipelines. In this demo we present the LinkedPipes DCAT-AP
Viewer, our solution to addressing these issues.
3 https://publications.europa.eu/en/web/eu-vocabularies/authority-tables
4 https://joinup.ec.europa.eu/release/dcat-ap-how-model-dataset-series
5 https://www.europeandataportal.eu/
LinkedPipes DCAT-AP Viewer</p>
      <p>
        LinkedPipes DCAT-AP Viewer demonstrated features
The LinkedPipes DCAT-AP Viewer (LP-DAV) is a Node.js6 and Bootstrap7
based application (see Figure 1) using Apache Solr8 for search capabilities. The
dataset records themselves can be stored either in a SPARQL endpoint such
as the Openlink Virtuoso RDF store9, or for increased performance in Apache
CouchDB10 document store. It is open-source and it is developed on GitHub11.
Its main features which will be presented during the demonstration session on
real world deployment of LP-DAV as the Czech National Open Data Catalog12
are:
1. LP-DAV is built for DCAT-AP v1.1 with Linked Data in mind
2. Multilingual user interface and multilingual EU NALs support
3. Paging support for datasets with many distributions
4. LinkedPipes ETL (LP-ETL) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] pipeline for bulk loading (see section 3)
5. Keyword tag cloud search
6 https://nodejs.org/
7 https://getbootstrap.com/
8 https://lucene.apache.org/solr/
9 https://github.com/openlink/virtuoso-opensource
10 https://couchdb.apache.org/
11 https://github.com/linkedpipes/dcat-ap-viewer
12 https://data.gov.cz
      </p>
      <p>
        Data preparation pipeline in LinkedPipes ETL
The loading of data from a DCAT-AP RDF dump file can be done using the
supplied LinkedPipes ETL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] pipeline13. Since the EU NALs are unfortunately
still not dereferenceable, they need to be loaded to Apache CouchDB using a
separate code list loading pipeline14.
The data preparation pipeline (see Figure 2) first loads the RDF dump and
then it branches. The top branch populates the Apache Solr index to support
search. The middle two branches split the data into individual DCAT dataset and
distribution records, and loads them to Apache CouchDB. The bottom branch
extracts the used keywords and their occurrences to support the keyword tag
cloud search.
13 https://raw.githubusercontent.com/linkedpipes/dcat-ap-viewer/develop/pipeline/
dcatap2lpdav.jsonld
14 https://raw.githubusercontent.com/linkedpipes/dcat-ap-viewer/develop/pipeline/
eumdrnals2couchdb.jsonld
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Erickson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maali</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Data Catalog Vocabulary (DCAT)</article-title>
          .
          <source>W3C Recommendation</source>
          ,
          <source>W3C (Jan</source>
          <year>2014</year>
          ), https://www.w3.org/TR/2014/REC-vocab-dcat-
          <volume>20140116</volume>
          /
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Klímek</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Škoda</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nečaský</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>LinkedPipes</surname>
            <given-names>ETL</given-names>
          </string-name>
          :
          <article-title>Evolved Linked Data Preparation</article-title>
          .
          <source>In: The Semantic Web - ESWC 2016 Satellite Events</source>
          , Heraklion, Crete, Greece, May 29 - June 2,
          <year>2016</year>
          , Revised Selected Papers. pp.
          <fpage>95</fpage>
          -
          <lpage>100</lpage>
          (
          <year>2016</year>
          ), https://dx.doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -47602-5_
          <fpage>20</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>