dcat-ap-viewer
Viewer of DCAT-AP 2.0.1 compatible dataset metadata
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
Repository
Viewer of DCAT-AP 2.0.1 compatible dataset metadata
Basic Info
Statistics
- Stars: 6
- Watchers: 6
- Forks: 6
- Open Issues: 26
- Releases: 0
Topics
Metadata Files
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
- Node.js & npm
- OpenJDK for Apache Solr, if not dockerized
- Apache Solr 8.7 (Docker)
- Apache CouchDB 2.3 and up (Docker)
Requirements for data preparation
- LinkedPipes ETL, the preparation pipeline and the codelist pipeline
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.xmlfile (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
csanden): ``` 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" : "stringicuen", "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
- Website: https://linkedpipes.com
- Repositories: 23
- Profile: https://github.com/linkedpipes
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
Pull Request Labels
Dependencies
- 1009 dependencies
- @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