dcat-ap-viewer

Viewer of DCAT-AP 2.0.1 compatible dataset metadata

https://github.com/linkedpipes/dcat-ap-viewer

Science Score: 18.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary

Keywords

bootstrap couchdb dcat dcat-ap nkod react solr
Last synced: 6 months ago · JSON representation ·

Repository

Viewer of DCAT-AP 2.0.1 compatible dataset metadata

Basic Info
  • Host: GitHub
  • Owner: linkedpipes
  • License: mit
  • Language: JavaScript
  • Default Branch: develop
  • Homepage:
  • Size: 3.08 MB
Statistics
  • Stars: 6
  • Watchers: 6
  • Forks: 6
  • Open Issues: 26
  • Releases: 0
Topics
bootstrap couchdb dcat dcat-ap nkod react solr
Created almost 9 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

LinkedPipes DCAT-AP Viewer

This is a native DCAT-AP 2.0.1 catalog viewer. It is originally developed for OpenData.cz projects, however, it is completely open-source and resuable. It addresses the most painful disadvantages of CKAN when it comes to representing DCAT compatible data such as - native DCAT-AP 2.0.1 input - handles large numbers of distributions of a single dataset - handles licenses attached to distributions - supports EU Vocabularies codelists

Requirements

Requirements for data preparation

Installation

Install Solr or run in it Docker. It will contain the search index. For installation, you may proceed like this: - Download Apache Solr - e.g. solr-8.7.0.tgz - Extract the service installer tar xzf solr-8.7.0.tgz solr-8.7.0/bin/install_solr_service.sh --strip-components=2 - Run the service installer sudo bash ./install_solr_service.sh solr-8.7.0.tgz

Next, configure Solr like this: - Create Solr core sudo -u solr /opt/solr/bin/solr create -c dcat-ap-viewer

  • Add following to dcat-ap-viewer/conf/solrconfig.xml file (adjust the version numbers as necessary) and restart Solr. <lib path="${solr.install.dir:../../../..}/dist/solr-analysis-extras-8.7.0.jar" /> <lib path="${solr.install.dir:../../../..}/contrib/analysis-extras/lib/icu4j-62.1.jar" /> <lib path="${solr.install.dir:../../../..}/contrib/analysis-extras/lucene-libs/lucene-analyzers-icu-8.7.0.jar" />

  • Prepare Solr schema (change locale to your language, the example bellow is for cs and en): ``` curl http://localhost:8983/solr/dcat-ap-viewer/schema -X POST -H 'Content-type:application/json' --data-binary '{ "add-field-type" : { "name" : "asciistring", "class" : "solr.TextField", "positionIncrementGap" : "100", "analyzer" : { "tokenizer" : { "class" : "solr.WhitespaceTokenizerFactory" }, "filters" : [ { "class" : "solr.LowerCaseFilterFactory" }, { "class" : "solr.ASCIIFoldingFilterFactory", "preserveOriginal" : "false" } ] } }, "add-field-type" : { "name" : "stringicucs", "class" : "org.apache.solr.schema.ICUCollationField", "locale": "cs", "strength" : "primary" },
    "add-field-type" : { "name" : "string
    icuen", "class" : "org.apache.solr.schema.ICUCollationField", "locale": "en", "strength" : "primary" }, "add-field" : { "name" : "iri", "type" : "string" , "indexed" : false, "multiValued" : false }, "add-field" : { "name" : "modified", "type" : "pdate", "multiValued" : false}, "add-field" : { "name" : "issued", "type" : "pdate", "multiValued" : false }, "add-field" : { "name" : "accrualperiodicity", "type" : "string", "multiValued" : false }, "add-field" : { "name" : "publisher", "type" : "string" , "indexed" : true, "multiValued" : false }, "add-field" : { "name" : "filetype", "type" : "strings", "indexed" : true }, "add-field" : { "name" : "license", "type" : "strings", "indexed" : true }, "add-field" : { "name" : "theme", "type" : "strings" }, "add-field" : { "name" : "temporalstart", "type" : "pdate", "docValues" : true, "multiValued" : false }, "add-field" : { "name" : "temporalend", "type" : "pdate", "docValues" : true, "multiValued" : false }, "add-field" : { "name" : "spatial", "type" : "strings" }, "add-field" : { "name" : "ispartof", "type" : "string" , "indexed" : true, "multiValued" : false }, "add-field" : { "name" : "dataservice_type", "type" : "strings", "indexed" : true },

    "add-field" : { "name" : "descriptioncs", "type" : "string", "multiValued" : false }, "add-field" : { "name" : "keywordcs", "type" : "strings" }, "add-field" : { "name" : "titlecs", "type" : "string", "multiValued" : false }, "add-field" : { "name" : "titlecssort", "type" : "stringicucs", "docValues" : true, "multiValued" : false }, "add-field" : { "name" : "titlecsquery", "type" : "asciistring", "multiValued" : false }, "add-copy-field" : { "source" : "titlecssort", "dest" : "titlecsquery" },

    "add-field" : { "name" : "descriptionen", "type" : "string", "multiValued" : false }, "add-field" : { "name" : "keyworden", "type" : "strings" }, "add-field" : { "name" : "titleen", "type" : "string", "multiValued" : false }, "add-field" : { "name" : "titleensort", "type" : "stringicuen", "docValues" : true, "multiValued" : false }, "add-field" : { "name" : "titleenquery", "type" : "asciistring", "multiValued" : false }, "add-copy-field" : { "source" : "titleensort", "dest" : "titleenquery" },

    "add-field" : { "name" : "vdfcodelist", "type" : "boolean", "multiValued" : false }, "add-field" : { "name" : "vdfpublic_data", "type" : "boolean", "multiValued" : false },

    "replace-field" : { "name": "text", "type" : "asciistring", "multiValued" : true, "indexed" : true, "stored" : false }, "add-copy-field" : { "source" : "titlecs", "dest" : "text" }, "add-copy-field" : { "source" : "titleen", "dest" : "text" }, "add-copy-field" : { "source" : "descriptioncs", "dest" : "text" }, "add-copy-field" : { "source" : "descriptionen", "dest" : "text" }, "add-copy-field" : { "source" : "keywordcs", "dest" : "text" }, "add-copy-field" : { "source" : "keyworden", "dest" : "text_" }
    }' ```

  • And then: curl http://localhost:8983/solr/dcat-ap-viewer/config -H 'Content-type:application/json' -d'{ "set-property" : {"requestDispatcher.requestParsers.enableRemoteStreaming":true}, "set-property" : {"requestDispatcher.requestParsers.enableStreamBody":true} }'

Install Apache CouchDB, e.g. via a package manager, or run it in Docker. It will contain the datasets, distributions and, optionally, the code list labels.

Install LinkedPipes DCAT-AP viewer - Clone the repository - Install dependencies: npm install - Copy and edit the configuration file: cp configuration-example.yaml configuration.yaml Please refer to the profile of your choice, client/profile-lkod or client/profile-nkod , for more information about the configuration.

Load the data - Install LinkedPipes ETL and import, configure and run the preparation pipeline. It has the DCAT-AP catalog (its RDF representation) on the input, this is where you provide your DCAT-AP dump. The pipeline assumes that Solr is running on localhost:8983 and CouchDB is running on localhost:5984. - To enable support for the European Metadata Registry Named Authority Lists (EU MDR NALs) linked from DCAT-AP records, configure and run the codelist pipeline. It will populate the Apache CouchDB instance with the codelists.

Running DCAT-AP Viewer

Before the first run the DCAT-AP Viewer client javascript needs to be compiled using command: npm run build After the compilation is done the following command can be used to start the server: npm run start

Owner

  • Name: LinkedPipes
  • Login: linkedpipes
  • Kind: organization
  • Location: Prague, Czechia

Set of tools for Linked Data

Citation (CITATION.bib)

@inproceedings{DBLP:conf/semweb/Klimek018,
  author    = {Jakub Klímek and
               Petr Škoda},
  editor    = {Marieke van Erp and
               Medha Atre and
               Vanessa L{\'{o}}pez and
               Kavitha Srinivas and
               Carolina Fortuna},
  title     = {{LinkedPipes {DCAT-AP} Viewer: {A} Native {DCAT-AP} Data Catalog}},
  booktitle = {Proceedings of the {ISWC} 2018 Posters {\&} Demonstrations, Industry
               and Blue Sky Ideas Tracks co-located with 17th International Semantic
               Web Conference {(ISWC} 2018), Monterey, USA, October 8th - to - 12th,
               2018},
  series    = {{CEUR} Workshop Proceedings},
  volume    = {2180},
  publisher = {CEUR-WS.org},
  year      = {2018},
  url       = {http://ceur-ws.org/Vol-2180/paper-32.pdf},
  timestamp = {Tue, 07 Sep 2021 13:48:30 +0200},
  biburl    = {https://dblp.org/rec/conf/semweb/Klimek018.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 88
  • Total pull requests: 12
  • Average time to close issues: 3 months
  • Average time to close pull requests: 4 months
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 0.65
  • Average comments per pull request: 0.75
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 11
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: about 19 hours
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 0.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jakubklimek (60)
  • skodapetr (28)
Pull Request Authors
  • dependabot[bot] (11)
  • tadeas22 (1)
Top Labels
Issue Labels
enhancement (37) bug (34) maintenance (17) question (3) invalid (1)
Pull Request Labels

Dependencies

package-lock.json npm
  • 1009 dependencies
package.json npm
  • @types/jest ^27.4.0 development
  • babel-jest ^27.5.1 development
  • eslint ^8.9.0 development
  • eslint-plugin-import ^2.25.4 development
  • eslint-plugin-jest ^26.1.1 development
  • eslint-plugin-react ^7.28.0 development
  • eslint-plugin-react-hooks ^4.3.0 development
  • eslint-webpack-plugin ^3.1.1 development
  • jest ^27.5.1 development
  • react-hot-loader ^4.13.0 development
  • ts-jest ^27.1.3 development
  • webpack-bundle-analyzer ^4.5.0 development
  • webpack-cli ^4.9.2 development
  • webpack-dev-middleware ^5.3.1 development
  • webpack-hot-middleware ^2.25.1 development
  • @babel/cli ^7.17.3
  • @babel/core ^7.17.5
  • @babel/eslint-parser ^7.17.0
  • @babel/polyfill ^7.12.1
  • @babel/preset-env ^7.16.11
  • @babel/preset-react ^7.16.7
  • @babel/preset-typescript ^7.16.7
  • @types/history ^4.7.11
  • @types/jsonld ^1.5.6
  • @types/randomcolor ^0.5.6
  • @types/react ^17.0.39
  • @types/react-dom ^17.0.11
  • @types/react-helmet ^6.1.5
  • @types/react-redux ^7.1.22
  • @types/react-router-dom ^5.3.3
  • @types/reactstrap ^8.7.2
  • babel-loader ^8.2.3
  • bootstrap ^5.1.3
  • browserslist ^4.19.3
  • clean-webpack-plugin ^4.0.0
  • copy-webpack-plugin ^10.2.4
  • core-js ^3.21.1
  • cross-env ^7.0.3
  • css-loader ^6.6.0
  • css-minimizer-webpack-plugin 3.4.1
  • es6-promise ^4.2.8
  • express ^4.17.3
  • helmet ^5.0.2
  • history ^5.2.0
  • html-webpack-plugin ^5.5.0
  • identity-obj-proxy ^3.0.0
  • isomorphic-fetch ^3.0.0
  • jsonld ^5.2.0
  • mini-css-extract-plugin ^2.5.3
  • prop-types ^15.8.1
  • query-string ^7.1.1
  • randomcolor ^0.6.2
  • react ^17.0.2
  • react-bootstrap-typeahead ^5.2.2
  • react-dom ^17.0.2
  • react-helmet ^6.1.0
  • react-intl ^5.24.6
  • react-redux ^7.2.6
  • react-router ^6.2.1
  • react-router-dom ^6.2.1
  • react-tagcloud ^2.2.0
  • reactstrap ^9.0.1
  • redux ^4.1.2
  • redux-thunk ^2.4.1
  • request ^2.88.2
  • style-loader ^3.3.1
  • terser-webpack-plugin ^5.3.1
  • thunk 0.0.1
  • ts-loader ^9.2.6
  • typesafe-actions ^5.1.0
  • typescript ^4.5.5
  • webpack ^5.69.1
  • webpack-merge ^5.8.0
  • winston ^3.6.0
  • yaml ^1.10.2