From 9c9269b2a7341a98ff3bf4264c1aeebe2d10419e Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 28 Nov 2023 15:32:44 +0100 Subject: [PATCH 001/284] Add extensions --- .env.example | 19 +++------------- .gitmodules | 12 ++++++++++ README.md | 22 +++++-------------- ckan/Dockerfile | 12 ++++++++++ ckan/docker-entrypoint.d/.gitignore | 0 .../01_setup_datapusher.sh | 12 ---------- ckan/docker-entrypoint.d/setup_scheming.sh | 8 +++++++ docker-compose.dev.yml | 6 ----- docker-compose.yml | 13 ----------- src/ckanext-dcat | 1 + src/ckanext-gdi-userportal | 1 + src/ckanext-harvest | 1 + src/ckanext-scheming | 1 + 13 files changed, 44 insertions(+), 64 deletions(-) create mode 100644 .gitmodules create mode 100644 ckan/docker-entrypoint.d/.gitignore delete mode 100644 ckan/docker-entrypoint.d/01_setup_datapusher.sh create mode 100644 ckan/docker-entrypoint.d/setup_scheming.sh create mode 160000 src/ckanext-dcat create mode 160000 src/ckanext-gdi-userportal create mode 160000 src/ckanext-harvest create mode 160000 src/ckanext-scheming diff --git a/.env.example b/.env.example index 3508b6e7d..6b5a7245d 100644 --- a/.env.example +++ b/.env.example @@ -3,7 +3,6 @@ NGINX_CONTAINER_NAME=nginx REDIS_CONTAINER_NAME=redis POSTGRESQL_CONTAINER_NAME=db SOLR_CONTAINER_NAME=solr -DATAPUSHER_CONTAINER_NAME=datapusher CKAN_CONTAINER_NAME=ckan WORKER_CONTAINER_NAME=ckan-worker @@ -20,12 +19,7 @@ POSTGRES_HOST=db CKAN_DB_USER=ckandbuser CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb -DATASTORE_READONLY_USER=datastore_ro -DATASTORE_READONLY_PASSWORD=datastore -DATASTORE_DB=datastore CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@db/ckandb -CKAN_DATASTORE_WRITE_URL=postgresql://ckandbuser:ckandbpassword@db/datastore -CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore # Test database connections TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test @@ -36,9 +30,9 @@ TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_te USE_HTTPS_FOR_DEV=false # CKAN core -CKAN_VERSION=2.10.0 +CKAN_VERSION=2.10.1 CKAN_SITE_ID=default -CKAN_SITE_URL=https://localhost:8443 +CKAN_SITE_URL=http://localhost:5000 CKAN_PORT=5000 CKAN_PORT_HOST=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME @@ -66,19 +60,12 @@ REDIS_VERSION=6 CKAN_REDIS_URL=redis://redis:6379/1 TEST_CKAN_REDIS_URL=redis://redis:6379/1 -# Datapusher -DATAPUSHER_VERSION=0.0.20 -CKAN_DATAPUSHER_URL=http://datapusher:8800 -CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000 -DATAPUSHER_REWRITE_RESOURCES=True -DATAPUSHER_REWRITE_URL=http://ckan:5000 - # NGINX NGINX_PORT=80 NGINX_SSLPORT=443 # Extensions -CKAN__PLUGINS="envvars image_view text_view recline_view datastore datapusher" +CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface" CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..bb91f6ac4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,12 @@ +[submodule "src/ckanext-gdi-userportal"] + path = src/ckanext-gdi-userportal + url = git@github.com:GenomicDataInfrastructure/ckanext-gdi-userportal.git +[submodule "src/ckanext-dcat"] + path = src/ckanext-dcat + url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git +[submodule "src/ckanext-harvest"] + path = src/ckanext-harvest + url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git +[submodule "src/ckanext-scheming"] + path = src/ckanext-scheming + url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git diff --git a/README.md b/README.md index f5548a7c6..c2b4aabba 100644 --- a/README.md +++ b/README.md @@ -12,12 +12,10 @@ * [Extending the base images](#extending-the-base-images) * [Applying patches](#applying-patches) * [Debugging with pdb](#pdb) -* [Datastore and Datapusher](#Datastore-and-datapusher) * [NGINX](#nginx) * [The ckanext-envvars extension](#envvars) * [The CKAN_SITE_URL parameter](#CKAN_SITE_URL) * [Changing the base image](#Changing-the-base-image) -* [Replacing DataPusher with XLoader](#Replacing-DataPusher-with-XLoader) ## 1. Overview @@ -28,7 +26,6 @@ The CKAN images used are from the official CKAN [ckan-docker](https://github.com The non-CKAN images are as follows: -* DataPusher: CKAN's [pre-configured DataPusher image](https://github.com/ckan/ckan-base/tree/main/datapusher). * PostgreSQL: Official PostgreSQL image. Database files are stored in a named volume. * Solr: CKAN's [pre-configured Solr image](https://github.com/ckan/ckan-solr). Index data is stored in a named volume. * Redis: standard Redis image @@ -211,12 +208,7 @@ Debug with pdb (example) - Interact with `docker attach $(docker container ls -q command: `python -m pdb /usr/lib/ckan/venv/bin/ckan --config /srv/app/ckan.ini run --host 0.0.0.0 --passthrough-errors` -## 9. Datastore and datapusher - -The Datastore database and user is created as part of the entrypoint scripts for the db container. There is also a Datapusher container -running the latest version of Datapusher. - -## 10. NGINX +## 9. NGINX The base Docker Compose configuration uses an NGINX image as the front-end (ie: reverse proxy). It includes HTTPS running on port number 8443. A "self-signed" SSL certificate is generated as part of the ENTRYPOINT. The NGINX `server_name` directive and the `CN` field in the SSL certificate have been both set to 'localhost'. This should obviously not be used for production. @@ -224,7 +216,7 @@ Creating the SSL cert and key files as follows: `openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost" -keyout ckan-local.key -out ckan-local.crt` The `ckan-local.*` files will then need to be moved into the nginx/setup/ directory -## 11. envvars +## 10. envvars The ckanext-envvars extension is used in the CKAN Docker base repo to build the base images. This extension checks for environmental variables conforming to an expected format and updates the corresponding CKAN config settings with its value. @@ -245,11 +237,11 @@ These parameters can be added to the `.env` file For more information please see [ckanext-envvars](https://github.com/okfn/ckanext-envvars) -## 12. CKAN_SITE_URL +## 11. CKAN_SITE_URL For convenience the CKAN_SITE_URL parameter should be set in the .env file. For development it can be set to http://localhost:5000 and non-development set to https://localhost:8443 -## 13. Manage new users +## 12. Manage new users 1. Create a new user from the Docker host, for example to create a new user called 'admin' @@ -267,15 +259,11 @@ For convenience the CKAN_SITE_URL parameter should be set in the .env file. For `ckan -c ckan.ini user remove admin` -## 14. Changing the base image +## 13. Changing the base image The base image used in the CKAN Dockerfile and Dockerfile.dev can be changed so a different DockerHub image is used eg: ckan/ckan-base:2.9.9 could be used instead of ckan/ckan-base:2.10.1 -## 15. Replacing DataPusher with XLoader - -Check out the wiki page for this: https://github.com/ckan/ckan-docker/wiki/Replacing-DataPusher-with-XLoader - Copying and License ------------------- diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ea8910570..cc9b91117 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -3,6 +3,18 @@ FROM ckan/ckan-base:2.10.1 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@main#egg=ckanext-gdi-userportal && \ + pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@master#egg=ckanext-dcat && \ + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@master#egg=ckanext-harvest && \ + pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@master#egg=ckanext-scheming + # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ diff --git a/ckan/docker-entrypoint.d/.gitignore b/ckan/docker-entrypoint.d/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/ckan/docker-entrypoint.d/01_setup_datapusher.sh b/ckan/docker-entrypoint.d/01_setup_datapusher.sh deleted file mode 100644 index d119fb50b..000000000 --- a/ckan/docker-entrypoint.d/01_setup_datapusher.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -if [[ $CKAN__PLUGINS == *"datapusher"* ]]; then - # Datapusher settings have been configured in the .env file - # Set API token if necessary - if [ -z "$CKAN__DATAPUSHER__API_TOKEN" ] ; then - echo "Set up ckan.datapusher.api_token in the CKAN config file" - ckan config-tool $CKAN_INI "ckan.datapusher.api_token=$(ckan -c $CKAN_INI user token add ckan_admin datapusher | tail -n 1 | tr -d '\t')" - fi -else - echo "Not configuring DataPusher" -fi diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh new file mode 100644 index 000000000..b4901f57d --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# Update the config file with each extension config-options +echo "[ckanext-scheming] Setting up config-options" +ckan config-tool $CKAN_INI -s app:main \ + "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/gdi_userportal.json"\ + "scheming.presets = ckanext.scheming:presets.json"\ + "scheming.dataset_fallback = false" diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index dc2ecdf93..dec03dbb5 100755 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -30,12 +30,6 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] - - datapusher: - image: ckan/ckan-base-datapusher:${DATAPUSHER_VERSION} - restart: unless-stopped - healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8800"] db: build: diff --git a/docker-compose.yml b/docker-compose.yml index 0f5330fbb..f3a50609d 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,16 +48,6 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] - - datapusher: - container_name: ${DATAPUSHER_CONTAINER_NAME} - networks: - - ckannet - - dbnet - image: ckan/ckan-base-datapusher:${DATAPUSHER_VERSION} - restart: unless-stopped - healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8800"] db: container_name: ${POSTGRESQL_CONTAINER_NAME} @@ -72,9 +62,6 @@ services: - CKAN_DB_USER - CKAN_DB_PASSWORD - CKAN_DB - - DATASTORE_READONLY_USER - - DATASTORE_READONLY_PASSWORD - - DATASTORE_DB volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped diff --git a/src/ckanext-dcat b/src/ckanext-dcat new file mode 160000 index 000000000..110920506 --- /dev/null +++ b/src/ckanext-dcat @@ -0,0 +1 @@ +Subproject commit 1109205069dd105dda27e3486898e4ca1525a808 diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal new file mode 160000 index 000000000..f4dd52262 --- /dev/null +++ b/src/ckanext-gdi-userportal @@ -0,0 +1 @@ +Subproject commit f4dd522629b4d4f3a630732cfec7b12a52daefe9 diff --git a/src/ckanext-harvest b/src/ckanext-harvest new file mode 160000 index 000000000..8ea4b1b4f --- /dev/null +++ b/src/ckanext-harvest @@ -0,0 +1 @@ +Subproject commit 8ea4b1b4fb277046a0d8ba4f4c779e5c9e1fbd8b diff --git a/src/ckanext-scheming b/src/ckanext-scheming new file mode 160000 index 000000000..8646a9dce --- /dev/null +++ b/src/ckanext-scheming @@ -0,0 +1 @@ +Subproject commit 8646a9dce79aa0b5a46274271ca6330dc0870b92 From 62f3e348bb457512e64f281d84768d389e7fbb39 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 28 Nov 2023 21:22:26 +0100 Subject: [PATCH 002/284] Update ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index f4dd52262..3fa998a8d 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit f4dd522629b4d4f3a630732cfec7b12a52daefe9 +Subproject commit 3fa998a8d1fc09cb28bfb369b353cf215617d958 From 22ee77c70d2347614b4da027967494e433294270 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 09:07:04 +0100 Subject: [PATCH 003/284] Upate ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 3fa998a8d..2e554f9f3 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 3fa998a8d1fc09cb28bfb369b353cf215617d958 +Subproject commit 2e554f9f3460e76e72089d10d09c6d5211896b3a From 4aeb55579bf12af38a410ebe4e9f79ec3547d8e3 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 29 Nov 2023 10:29:22 +0100 Subject: [PATCH 004/284] Make it work with harvest 1.5.6 --- .env.example | 12 ++++++++---- ckan/Dockerfile | 2 +- ckan/setup/start_ckan.sh.override | 2 +- docker-compose.dev.yml | 2 +- src/ckanext-harvest | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.env.example b/.env.example index 6b5a7245d..3d244934e 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ CKAN_CONTAINER_NAME=ckan WORKER_CONTAINER_NAME=ckan-worker # Host Ports -CKAN_PORT_HOST=5000 +CKAN_PORT_HOST=5500 NGINX_PORT_HOST=81 NGINX_SSLPORT_HOST=8443 @@ -26,15 +26,19 @@ TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test +DATASTORE_READONLY_USER=datastore_ro +DATASTORE_READONLY_PASSWORD=datastore +DATASTORE_DB=datastore + # Dev settings USE_HTTPS_FOR_DEV=false # CKAN core CKAN_VERSION=2.10.1 CKAN_SITE_ID=default -CKAN_SITE_URL=http://localhost:5000 -CKAN_PORT=5000 -CKAN_PORT_HOST=5000 +CKAN_SITE_URL=http://localhost:5500 +CKAN_PORT=5500 +CKAN_PORT_HOST=5500 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME diff --git a/ckan/Dockerfile b/ckan/Dockerfile index cc9b91117..8893db929 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,7 +10,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@master#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@master#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@master#egg=ckanext-scheming diff --git a/ckan/setup/start_ckan.sh.override b/ckan/setup/start_ckan.sh.override index 0c8409c9a..33c2c5a93 100755 --- a/ckan/setup/start_ckan.sh.override +++ b/ckan/setup/start_ckan.sh.override @@ -40,7 +40,7 @@ UWSGI_OPTS="--plugins http,python \ --wsgi-file /srv/app/wsgi.py \ --module wsgi:application \ --uid 92 --gid 92 \ - --http 0.0.0.0:5000 \ + --http 0.0.0.0:5500 \ --master --enable-threads \ --lazy-apps \ -p 2 -L -b 32768 --vacuum \ diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index dec03dbb5..96c4a8fad 100755 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -29,7 +29,7 @@ services: - ./src:/srv/app/src_extensions restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] db: build: diff --git a/src/ckanext-harvest b/src/ckanext-harvest index 8ea4b1b4f..9fb44f798 160000 --- a/src/ckanext-harvest +++ b/src/ckanext-harvest @@ -1 +1 @@ -Subproject commit 8ea4b1b4fb277046a0d8ba4f4c779e5c9e1fbd8b +Subproject commit 9fb44f79809a1c04dfeb0e1ca2540c5ff3cacef4 From 0f9c2196c0fd6f1c5cb3830f3365f63ff481c7f1 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 10:43:45 +0100 Subject: [PATCH 005/284] Add branch references to git submodules --- .gitmodules | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitmodules b/.gitmodules index bb91f6ac4..f96454a5d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,16 @@ [submodule "src/ckanext-gdi-userportal"] path = src/ckanext-gdi-userportal url = git@github.com:GenomicDataInfrastructure/ckanext-gdi-userportal.git + branch = main [submodule "src/ckanext-dcat"] path = src/ckanext-dcat url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git + branch = master [submodule "src/ckanext-harvest"] path = src/ckanext-harvest url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git + branch = user-portal-v1.5.6 [submodule "src/ckanext-scheming"] path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git + branch = master From f5cfc5f5b08bfacc42f5a303c61452dc5c92ade5 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 10:45:53 +0100 Subject: [PATCH 006/284] Update ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 2e554f9f3..72189ade2 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 2e554f9f3460e76e72089d10d09c6d5211896b3a +Subproject commit 72189ade298d21d7d91045c018908f01d3ece7d6 From b511fbdaf6a654d8528743d9f1260f3f655dd88b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 10:57:22 +0100 Subject: [PATCH 007/284] Update ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 72189ade2..d0f460cdd 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 72189ade298d21d7d91045c018908f01d3ece7d6 +Subproject commit d0f460cdd7a90f8ad64ecc96a6c06b136e73593e From 668de1562dd50a617a6a4ff1d17319b5482de1ab Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 29 Nov 2023 11:32:54 +0100 Subject: [PATCH 008/284] fix CKAN_port --- .env.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 3d244934e..3645bbf0f 100644 --- a/.env.example +++ b/.env.example @@ -37,7 +37,7 @@ USE_HTTPS_FOR_DEV=false CKAN_VERSION=2.10.1 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 -CKAN_PORT=5500 +CKAN_PORT=5000 CKAN_PORT_HOST=5500 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings From e258aba42f9be50f49e369676b7b0d8a89fc7f17 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 29 Nov 2023 14:40:28 +0100 Subject: [PATCH 009/284] use release 1.5.1 dcat release instead --- .gitmodules | 2 +- ckan/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index f96454a5d..42546cdca 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,7 +5,7 @@ [submodule "src/ckanext-dcat"] path = src/ckanext-dcat url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git - branch = master + branch = user-portal-v1.5.1 [submodule "src/ckanext-harvest"] path = src/ckanext-harvest url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 8893db929..d5fd077e5 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -7,7 +7,7 @@ FROM ckan/ckan-base:2.10.1 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@main#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@master#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@@v1.5.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ From ba77922f02faf5c6b23d6003948c4cd5dbc1029b Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 29 Nov 2023 15:15:01 +0100 Subject: [PATCH 010/284] Update reference --- src/ckanext-dcat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-dcat b/src/ckanext-dcat index 110920506..4efef04ad 160000 --- a/src/ckanext-dcat +++ b/src/ckanext-dcat @@ -1 +1 @@ -Subproject commit 1109205069dd105dda27e3486898e4ca1525a808 +Subproject commit 4efef04ad756ac4d8c4bd60df3d00f25f229aa34 From c41f1894b0c5bdf6a2b5947afe0ee32274fd3f35 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 29 Nov 2023 16:56:33 +0100 Subject: [PATCH 011/284] Use correct scheming --- .gitmodules | 2 +- ckan/Dockerfile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index 42546cdca..e74b158cc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,4 +13,4 @@ [submodule "src/ckanext-scheming"] path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git - branch = master + branch = user-portal-v3.0.0 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index d5fd077e5..c6b90dd3d 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -7,13 +7,13 @@ FROM ckan/ckan-base:2.10.1 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@main#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@@v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@user-portal-v1.5.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@user-portal-v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@master#egg=ckanext-scheming +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@user-portal-v3.0.0#egg=ckanext-scheming # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ From 35a7b6b23ae5221f37d1dd57f2e1bf5f9297a4f9 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 20:06:24 +0100 Subject: [PATCH 012/284] Update HEAD commit of ckanext-dcat and ckanext-scheming --- src/ckanext-dcat | 2 +- src/ckanext-scheming | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ckanext-dcat b/src/ckanext-dcat index 4efef04ad..0c6102e6b 160000 --- a/src/ckanext-dcat +++ b/src/ckanext-dcat @@ -1 +1 @@ -Subproject commit 4efef04ad756ac4d8c4bd60df3d00f25f229aa34 +Subproject commit 0c6102e6b51c29b2651d799932bb658a5677f2f7 diff --git a/src/ckanext-scheming b/src/ckanext-scheming index 8646a9dce..18d8c7c9a 160000 --- a/src/ckanext-scheming +++ b/src/ckanext-scheming @@ -1 +1 @@ -Subproject commit 8646a9dce79aa0b5a46274271ca6330dc0870b92 +Subproject commit 18d8c7c9a9519676c34c01e34fd56e42926535ed From 8cf8a5bb323bf47041fe86a2b424156e986e34ae Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 30 Nov 2023 20:45:44 +0100 Subject: [PATCH 013/284] Add LICENSE --- LICENSE | 661 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 661 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..0ad25db4b --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. From c0dc304bc1a722a9be0164e79b27d25b35917577 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 29 Nov 2023 21:01:11 +0100 Subject: [PATCH 014/284] Add keycloak and mock of national data catalogue --- .env.example | 16 +- .gitignore | 1 + .gitmodules | 4 + README.md | 275 +- _http/mock_catalogue.http | 1 + ckan/Dockerfile | 3 + docker-compose.dev.yml | 33 + keycloak/Dockerfile | 22 + keycloak/realms/ckan.json | 1852 +++++ national-node-catalogue-mock/Dockerfile | 9 + national-node-catalogue-mock/catalogue.ttl | 6453 +++++++++++++++++ national-node-catalogue-mock/main.py | 23 + national-node-catalogue-mock/requirements.txt | 2 + .../40_create_keycloakdb.sh | 9 + src/ckanext-keycloak | 1 + 15 files changed, 8462 insertions(+), 242 deletions(-) create mode 100644 _http/mock_catalogue.http create mode 100644 keycloak/Dockerfile create mode 100644 keycloak/realms/ckan.json create mode 100644 national-node-catalogue-mock/Dockerfile create mode 100644 national-node-catalogue-mock/catalogue.ttl create mode 100644 national-node-catalogue-mock/main.py create mode 100644 national-node-catalogue-mock/requirements.txt create mode 100644 postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh create mode 160000 src/ckanext-keycloak diff --git a/.env.example b/.env.example index 3645bbf0f..d93325fbf 100644 --- a/.env.example +++ b/.env.example @@ -64,12 +64,26 @@ REDIS_VERSION=6 CKAN_REDIS_URL=redis://redis:6379/1 TEST_CKAN_REDIS_URL=redis://redis:6379/1 +# Keycloak +KC_DB_NAME=keycloakdb +KC_DB_URL=jdbc:postgresql://${POSTGRES_HOST}/${KC_DB_NAME} +KC_DB_USERNAME=keycloakdbuser +KC_DB_PASSWORD=keycloakdbpassword +KEYCLOAK_ADMIN=admin +KEYCLOAK_ADMIN_PASSWORD=admin +KEYCLOAK_ENABLE_HEALTH_ENDPOINTS=true +CKANEXT__KEYCLOAK__CLIENT_SECRET_KEY=wb4nT5D6LxNJm1648QHCrB0XTcsf2zja +CKANEXT__KEYCLOAK__CLIENT_ID=ckan +CKANEXT__KEYCLOAK__REALM_NAME=ckan +CKANEXT__KEYCLOAK__REDIRECT_URI=http://localhost:5500/user/sso_login +CKANEXT__KEYCLOAK__SERVER_URL=http://keycloak:8080 + # NGINX NGINX_PORT=80 NGINX_SSLPORT=443 # Extensions -CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface" +CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface keycloak" CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/.gitignore b/.gitignore index a3d88d503..a7cc8c343 100755 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ _solr/schema.xml _src/* local/* .env +venv \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index e74b158cc..46c8aadb3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,7 @@ path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git branch = user-portal-v3.0.0 +[submodule "src/ckanext-keycloak"] + path = src/ckanext-keycloak + url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-keycloak.git + branch = user-portal-v2.1 diff --git a/README.md b/README.md index c2b4aabba..34fd770f0 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,12 @@ -# Docker Compose setup for CKAN +# CKAN for GDI - User Portal +## 1. Overview -* [Overview](#overview) -* [Installing Docker](#installing-docker) -* [docker compose vs docker-compose](#docker-compose-vs-docker-compose) -* [Install CKAN plus dependencies](#install-ckan-plus-dependencies) -* [Development mode](#development-mode) - * [Create an extension](#create-an-extension) - * [Running HTTPS on development mode](#running-https-on-development-mode) -* [CKAN images](#ckan-images) - * [Extending the base images](#extending-the-base-images) - * [Applying patches](#applying-patches) -* [Debugging with pdb](#pdb) -* [NGINX](#nginx) -* [The ckanext-envvars extension](#envvars) -* [The CKAN_SITE_URL parameter](#CKAN_SITE_URL) -* [Changing the base image](#Changing-the-base-image) +This project has two purposes: +1. Prepare a docker image for CKAN, with all extensions and configurations needed to deploy the catalogue for the User Portal. +2. Setup a development environment for testing, fixing and enhancing our customised CKAN and its extensions. - -## 1. Overview - -This is a set of configuration and setup files to run a CKAN site. - -The CKAN images used are from the official CKAN [ckan-docker](https://github.com/ckan/ckan-docker-base) repo +The CKAN images used are from the official CKAN [ckan-docker](https://github.com/ckan/ckan-docker-base) repo. The non-CKAN images are as follows: @@ -30,239 +14,48 @@ The non-CKAN images are as follows: * Solr: CKAN's [pre-configured Solr image](https://github.com/ckan/ckan-solr). Index data is stored in a named volume. * Redis: standard Redis image * NGINX: latest stable nginx image that includes SSL and Non-SSL endpoints +* Keycloak: Latest official Keycloak image. A test CKAN realm is injected during `docker compose up` +* National Catalogue Mock: Python script to expose a synthetic RDF file, to test the Harvester. -The site is configured using environment variables that you can set in the `.env` file. - -## 2. Installing Docker - -Install Docker by following the following instructions: [Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) - -To verify a successful Docker installation, run `docker run hello-world` and `docker version`. These commands should output -versions for client and server. - -## 3. docker compose *vs* docker-compose - -All Docker Compose commands in this README will use the V2 version of Compose ie: `docker compose`. The older version (V1) -used the `docker-compose` command. Please see [Docker Compose](https://docs.docker.com/compose/compose-v2/) for -more information. - -## 4. Install (build and run) CKAN plus dependencies - -#### Base mode - -Use this if you are a maintainer and will not be making code changes to CKAN or to CKAN extensions - -Copy the included `.env.example` and rename it to `.env`. Modify it depending on your own needs. - -Please note that when accessing CKAN directly (via a browser) ie: not going through NGINX you will need to make sure you have "ckan" set up -to be an alias to localhost in the local hosts file. Either that or you will need to change the `.env` entry for CKAN_SITE_URL - -Using the default values on the `.env.example` file will get you a working CKAN instance. There is a sysadmin user created by default with the values defined in `CKAN_SYSADMIN_NAME` and `CKAN_SYSADMIN_PASSWORD`(`ckan_admin` and `test1234` by default). This should be obviously changed before running this setup as a public CKAN instance. - -To build the images: - - docker compose build - -To start the containers: - - docker compose up - -This will start up the containers in the current window. By default the containers will log direct to this window with each container -using a different colour. You could also use the -d "detach mode" option ie: `docker compose up -d` if you wished to use the current -window for something else. - -At the end of the container start sequence there should be 6 containers running - -![Screenshot 2022-12-12 at 10 36 21 am](https://user-images.githubusercontent.com/54408245/207012236-f9571baa-4d99-4ffe-bd93-30b11c4829e0.png) - -After this step, CKAN should be running at `CKAN_SITE_URL`. - - -#### Development mode - -Use this mode if you are making code changes to CKAN and either creating new extensions or making code changes to existing extensions. This mode also uses the `.env` file for config options. - -To develop local extensions use the `docker-compose.dev.yml` file: - -To build the images: - - docker compose -f docker-compose.dev.yml build - -To start the containers: - - docker compose -f docker-compose.dev.yml up - -See [CKAN Images](#ckan-images) for more details of what happens when using development mode. - - -##### Create an extension - -You can use the ckan [extension](https://docs.ckan.org/en/latest/extensions/tutorial.html#creating-a-new-extension) instructions to create a CKAN extension, only executing the command inside the CKAN container and setting the mounted `src/` folder as output: - - docker compose -f docker-compose.dev.yml exec ckan-dev /bin/sh -c "ckan generate extension --output-dir /srv/app/src_extensions" - -![Screenshot 2023-02-22 at 1 45 55 pm](https://user-images.githubusercontent.com/54408245/220623568-b4e074c7-6d07-4d27-ae29-35ce70961463.png) - - -The new extension files and directories are created in the `/srv/app/src_extensions/` folder in the running container. They will also exist in the local src/ directory as local `/src` directory is mounted as `/srv/app/src_extensions/` on the ckan container. You might need to change the owner of its folder to have the appropiate permissions. - -##### Running HTTPS on development mode - -Sometimes is useful to run your local development instance under HTTPS, for instance if you are using authentication extensions like [ckanext-saml2auth](https://github.com/keitaroinc/ckanext-saml2auth). To enable it, set the following in your `.env` file: - - USE_HTTPS_FOR_DEV=true - -and update the site URL setting: - - CKAN_SITE_URL=https://localhost:5000 - -After recreating the `ckan-dev` container, you should be able to access CKAN at https://localhost:5000 - - -## 5. CKAN images -![ckan images](https://user-images.githubusercontent.com/54408245/207079416-a01235af-2dea-4425-b6fd-f8c3687dd993.png) - - - -The Docker image config files used to build your CKAN project are located in the `ckan/` folder. There are two Docker files: +CKAN and all the components are configured using environment variables that you can set in the `.env` file. -* `Dockerfile`: this is based on `ckan/ckan-base:`, a base image located in the DockerHub repository, that has CKAN installed along with all its dependencies, properly configured and running on [uWSGI](https://uwsgi-docs.readthedocs.io/en/latest/) (production setup) -* `Dockerfile.dev`: this is based on `ckan/ckan-base:-dev` also located located in the DockerHub repository, and extends `ckan/ckan-base:` to include: +## 2. Requirements to run - * Any extension cloned on the `src` folder will be installed in the CKAN container when booting up Docker Compose (`docker compose up`). This includes installing any requirements listed in a `requirements.txt` (or `pip-requirements.txt`) file and running `python setup.py develop`. - * CKAN is started running this: `/usr/bin/ckan -c /srv/app/ckan.ini run -H 0.0.0.0`. - * Make sure to add the local plugins to the `CKAN__PLUGINS` env var in the `.env` file. +* Docker with compose. `colima` is curently beeing used. +* Enough computer resources, example: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` -* Any custom changes to the scripts run during container start up can be made to scripts in the `setup/` directory. For instance if you wanted to change the port on which CKAN runs you would need to make changes to the Docker Compose yaml file, and the `start_ckan.sh.override` file. Then you would need to add the following line to the Dockerfile ie: `COPY setup/start_ckan.sh.override ${APP_DIR}/start_ckan.sh`. The `start_ckan.sh` file in the locally built image would override the `start_ckan.sh` file included in the base image - -## 6. Extending the base images - -You can modify the docker files to build your own customized image tailored to your project, installing any extensions and extra requirements needed. For example here is where you would update to use a different CKAN base image ie: `ckan/ckan-base:` - -To perform extra initialization steps you can add scripts to your custom images and copy them to the `/docker-entrypoint.d` folder (The folder should be created for you when you build the image). Any `*.sh` and `*.py` file in that folder will be executed just after the main initialization script ([`prerun.py`](https://github.com/ckan/ckan-docker-base/blob/main/ckan-2.9/base/setup/prerun.py)) is executed and just before the web server and supervisor processes are started. - -For instance, consider the following custom image: - -``` -ckan -├── docker-entrypoint.d -│ └── setup_validation.sh -├── Dockerfile -└── Dockerfile.dev - -``` - -We want to install an extension like [ckanext-validation](https://github.com/frictionlessdata/ckanext-validation) that needs to create database tables on startup time. We create a `setup_validation.sh` script in a `docker-entrypoint.d` folder with the necessary commands: +## 3. Useful commands +### 3.1. Build and start dev environment ```bash -#!/bin/bash - -# Create DB tables if not there -ckan -c /srv/app/ckan.ini validation init-db +docker compose -f docker-compose.dev.yml up -d --build ``` -And then in our `Dockerfile.dev` file we install the extension and copy the initialization scripts: - -```Dockerfile -FROM ckan/ckan-base:2.9.7-dev - -RUN pip install -e git+https://github.com/frictionlessdata/ckanext-validation.git#egg=ckanext-validation && \ - pip install -r https://raw.githubusercontent.com/frictionlessdata/ckanext-validation/master/requirements.txt - -COPY docker-entrypoint.d/* /docker-entrypoint.d/ -``` - -NB: There are a number of extension examples commented out in the Dockerfile.dev file - -## 7. Applying patches - -When building your project specific CKAN images (the ones defined in the `ckan/` folder), you can apply patches -to CKAN core or any of the built extensions. To do so create a folder inside `ckan/patches` with the name of the -package to patch (ie `ckan` or `ckanext-??`). Inside you can place patch files that will be applied when building -the images. The patches will be applied in alphabetical order, so you can prefix them sequentially if necessary. - -For instance, check the following example image folder: - +### 3.2. Remove images and volumes +```bash +docker compose -f docker-compose.dev.yml down -v ``` -ckan -├── patches -│ ├── ckan -│ │ ├── 01_datasets_per_page.patch -│ │ ├── 02_groups_per_page.patch -│ │ ├── 03_or_filters.patch -│ └── ckanext-harvest -│ └── 01_resubmit_objects.patch -├── setup -├── Dockerfile -└── Dockerfile.dev +### 3.3. Logs +```bash +docker compose -f docker-compose.dev.yml logs -f ``` -## 8. pdb - -Add these lines to the `ckan-dev` service in the docker-compose.dev.yml file - -![pdb](https://user-images.githubusercontent.com/54408245/179964232-9e98a451-5fe9-4842-ba9b-751bcc627730.png) - -Debug with pdb (example) - Interact with `docker attach $(docker container ls -qf name=ckan)` - -command: `python -m pdb /usr/lib/ckan/venv/bin/ckan --config /srv/app/ckan.ini run --host 0.0.0.0 --passthrough-errors` +## 4. installing new extensions -## 9. NGINX +The current agreement is: +* Fork all the branches from the extension's repo into [GitHub GDI](https://github.com/GenomicDataInfrastructure). +* Create and push a new branch following this standard: `user-portal-{original branch name/tag name}` + Reminder, prefer always to use a release/tag branch, over main/master branches, to avoid not tested changes. +* Add a git submodule: `git submodule add {git_ssh_url} src/ckanext-{extension}`. +* Add branch reference into `.gitmodules`, if not added. +* Configure the extension via environment variables or via a setup script. Setup scripts must be added into `ckan/docker-entrypoint.d/`. +* Ensure the extension is working as expected. +* Update `ckan/Dockerfile` to install the new extension via pip. -The base Docker Compose configuration uses an NGINX image as the front-end (ie: reverse proxy). It includes HTTPS running on port number 8443. A "self-signed" SSL certificate is generated as part of the ENTRYPOINT. The NGINX `server_name` directive and the `CN` field in the SSL certificate have been both set to 'localhost'. This should obviously not be used for production. - -Creating the SSL cert and key files as follows: -`openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost" -keyout ckan-local.key -out ckan-local.crt` -The `ckan-local.*` files will then need to be moved into the nginx/setup/ directory - -## 10. envvars - -The ckanext-envvars extension is used in the CKAN Docker base repo to build the base images. -This extension checks for environmental variables conforming to an expected format and updates the corresponding CKAN config settings with its value. - -For the extension to correctly identify which env var keys map to the format used for the config object, env var keys should be formatted in the following way: - - All uppercase - Replace periods ('.') with two underscores ('__') - Keys must begin with 'CKAN' or 'CKANEXT', if they do not you can prepend them with '`CKAN___`' - -For example: - - * `CKAN__PLUGINS="envvars image_view text_view recline_view datastore datapusher"` - * `CKAN__DATAPUSHER__CALLBACK_URL_BASE=http://ckan:5000` - * `CKAN___BEAKER__SESSION__SECRET=CHANGE_ME` - -These parameters can be added to the `.env` file - -For more information please see [ckanext-envvars](https://github.com/okfn/ckanext-envvars) - -## 11. CKAN_SITE_URL - -For convenience the CKAN_SITE_URL parameter should be set in the .env file. For development it can be set to http://localhost:5000 and non-development set to https://localhost:8443 - -## 12. Manage new users - -1. Create a new user from the Docker host, for example to create a new user called 'admin' - - `docker exec -it ckan -c ckan.ini user add admin email=admin@localhost` - - To delete the 'admin' user - - `docker exec -it ckan -c ckan.ini user remove admin` - -2. Create a new user from within the ckan container. You will need to get a session on the running container - - `ckan -c ckan.ini user add admin email=admin@localhost` - - To delete the 'admin' user - - `ckan -c ckan.ini user remove admin` - -## 13. Changing the base image - -The base image used in the CKAN Dockerfile and Dockerfile.dev can be changed so a different DockerHub image is used eg: ckan/ckan-base:2.9.9 -could be used instead of ckan/ckan-base:2.10.1 +All Docker Compose commands in this README will use the V2 version of Compose ie: `docker compose`. The older version (V1) +used the `docker-compose` command. Please see [Docker Compose](https://docs.docker.com/compose/compose-v2/) for +more information. Copying and License ------------------- diff --git a/_http/mock_catalogue.http b/_http/mock_catalogue.http new file mode 100644 index 000000000..c0c630c2a --- /dev/null +++ b/_http/mock_catalogue.http @@ -0,0 +1 @@ +GET http://localhost:8001/catalogue.ttl diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c6b90dd3d..9ece7599d 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -15,6 +15,9 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@user-portal-v3.0.0#egg=ckanext-scheming +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-keycloak.git@user-portal-v2.1#egg=ckanext-keycloak && \ + pip3 install -r ${APP_DIR}/src/ckanext-keycloak/requirements.txt + # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 96c4a8fad..420934422 100755 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -22,6 +22,8 @@ services: condition: service_healthy redis: condition: service_healthy + keycloak: + condition: service_healthy ports: - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" volumes: @@ -44,6 +46,9 @@ services: - DATASTORE_READONLY_USER - DATASTORE_READONLY_PASSWORD - DATASTORE_DB + - KC_DB_USERNAME + - KC_DB_PASSWORD + - KC_DB_NAME volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped @@ -63,3 +68,31 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] + + keycloak: + build: + context: keycloak/ + restart: unless-stopped + ports: + - "8080:8080" + volumes: + - ./keycloak/realms:/opt/keycloak/data/import:ro + depends_on: + db: + condition: service_healthy + environment: + - KC_DB_URL + - KC_DB_USERNAME + - KC_DB_PASSWORD + - KEYCLOAK_ADMIN + - KEYCLOAK_ADMIN_PASSWORD + healthcheck: + test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] + + national_catalogue_mock: + build: national-node-catalogue-mock/ + environment: + - HARVESTER_URL=${CKAN_SITE_URL} + ports: + - 8001:8001 + restart: unless-stopped diff --git a/keycloak/Dockerfile b/keycloak/Dockerfile new file mode 100644 index 000000000..ca0d31ae1 --- /dev/null +++ b/keycloak/Dockerfile @@ -0,0 +1,22 @@ +# First stage: Install curl +FROM registry.access.redhat.com/ubi9 AS ubi-micro-build +RUN mkdir -p /mnt/rootfs +RUN dnf install --installroot /mnt/rootfs curl --releasever 9 --setopt install_weak_deps=false --nodocs -y && \ + dnf --installroot /mnt/rootfs clean all && \ + rpm --root /mnt/rootfs -e --nodeps setup + +# Second stage: build keycloak image +FROM quay.io/keycloak/keycloak:latest + +# Copy curl from the first stage +COPY --from=ubi-micro-build /mnt/rootfs / + +# Enable health and metrics support +ENV KC_HEALTH_ENABLED=true + +ENV KC_DB=postgres +ENV KC_DB_URL= +ENV KC_DB_USERNAME= +ENV KC_DB_PASSWORD= +ENV KC_HOSTNAME=localhost +ENTRYPOINT ["/opt/keycloak/bin/kc.sh","start-dev", "--import-realm"] diff --git a/keycloak/realms/ckan.json b/keycloak/realms/ckan.json new file mode 100644 index 000000000..3785ae009 --- /dev/null +++ b/keycloak/realms/ckan.json @@ -0,0 +1,1852 @@ +{ + "id" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", + "realm" : "ckan", + "notBefore" : 0, + "defaultSignatureAlgorithm" : "RS256", + "revokeRefreshToken" : false, + "refreshTokenMaxReuse" : 0, + "accessTokenLifespan" : 300, + "accessTokenLifespanForImplicitFlow" : 900, + "ssoSessionIdleTimeout" : 1800, + "ssoSessionMaxLifespan" : 36000, + "ssoSessionIdleTimeoutRememberMe" : 0, + "ssoSessionMaxLifespanRememberMe" : 0, + "offlineSessionIdleTimeout" : 2592000, + "offlineSessionMaxLifespanEnabled" : false, + "offlineSessionMaxLifespan" : 5184000, + "clientSessionIdleTimeout" : 0, + "clientSessionMaxLifespan" : 0, + "clientOfflineSessionIdleTimeout" : 0, + "clientOfflineSessionMaxLifespan" : 0, + "accessCodeLifespan" : 60, + "accessCodeLifespanUserAction" : 300, + "accessCodeLifespanLogin" : 1800, + "actionTokenGeneratedByAdminLifespan" : 43200, + "actionTokenGeneratedByUserLifespan" : 300, + "oauth2DeviceCodeLifespan" : 600, + "oauth2DevicePollingInterval" : 5, + "enabled" : true, + "sslRequired" : "external", + "registrationAllowed" : false, + "registrationEmailAsUsername" : false, + "rememberMe" : false, + "verifyEmail" : false, + "loginWithEmailAllowed" : true, + "duplicateEmailsAllowed" : false, + "resetPasswordAllowed" : false, + "editUsernameAllowed" : false, + "bruteForceProtected" : false, + "permanentLockout" : false, + "maxFailureWaitSeconds" : 900, + "minimumQuickLoginWaitSeconds" : 60, + "waitIncrementSeconds" : 60, + "quickLoginCheckMilliSeconds" : 1000, + "maxDeltaTimeSeconds" : 43200, + "failureFactor" : 30, + "roles" : { + "realm" : [ { + "id" : "cd273c77-3c3e-4673-bd40-1cf5b82e1c20", + "name" : "uma_authorization", + "description" : "${role_uma_authorization}", + "composite" : false, + "clientRole" : false, + "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", + "attributes" : { } + }, { + "id" : "93059c31-b7bc-4d3d-bc95-dc94a5ebb7ad", + "name" : "default-roles-ckan", + "description" : "${role_default-roles}", + "composite" : true, + "composites" : { + "realm" : [ "offline_access", "uma_authorization" ], + "client" : { + "account" : [ "manage-account", "view-profile" ] + } + }, + "clientRole" : false, + "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", + "attributes" : { } + }, { + "id" : "20d863dd-6c6a-4357-bea7-50ca195e9032", + "name" : "offline_access", + "description" : "${role_offline-access}", + "composite" : false, + "clientRole" : false, + "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", + "attributes" : { } + } ], + "client" : { + "realm-management" : [ { + "id" : "a2eba2cb-9d42-420b-a728-3ce37166d521", + "name" : "view-realm", + "description" : "${role_view-realm}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "9fad18b8-66e2-419f-82b9-48991dd49847", + "name" : "query-clients", + "description" : "${role_query-clients}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "a48e1955-b0ce-46d6-93ed-09ba372bb577", + "name" : "impersonation", + "description" : "${role_impersonation}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "08a5cb36-e078-404f-8ec8-adca98518bf2", + "name" : "query-groups", + "description" : "${role_query-groups}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "47e3ec31-a6c0-4051-94d8-1c624a63591f", + "name" : "view-events", + "description" : "${role_view-events}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "16c7221b-58a3-4670-b09f-de5bef4986a1", + "name" : "manage-identity-providers", + "description" : "${role_manage-identity-providers}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "26e2947c-84ac-41ed-8503-b284d157365d", + "name" : "manage-clients", + "description" : "${role_manage-clients}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "9ac6cf4f-02e1-463e-9034-cce441b97235", + "name" : "view-authorization", + "description" : "${role_view-authorization}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "1195a822-80fd-4810-883d-a9148b6dc49b", + "name" : "manage-realm", + "description" : "${role_manage-realm}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "9aefe793-abe0-4052-9826-00e4b8c18cc0", + "name" : "manage-authorization", + "description" : "${role_manage-authorization}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "8828f436-44ce-47c1-b357-4423fe0d9792", + "name" : "view-identity-providers", + "description" : "${role_view-identity-providers}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "db7cc3e4-b91d-422c-944d-8b38bad70d3a", + "name" : "create-client", + "description" : "${role_create-client}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "a61f4d23-5fd7-466d-8654-c515c4044f2a", + "name" : "view-users", + "description" : "${role_view-users}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "query-groups", "query-users" ] + } + }, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "f9c888a1-2470-45e7-b2f9-b80fa4b1c30a", + "name" : "realm-admin", + "description" : "${role_realm-admin}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "view-realm", "query-clients", "impersonation", "query-groups", "view-events", "manage-identity-providers", "manage-clients", "view-authorization", "manage-realm", "manage-authorization", "view-identity-providers", "view-users", "create-client", "view-clients", "query-realms", "manage-users", "manage-events", "query-users" ] + } + }, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "aedfd698-0589-497b-996a-56b5488b2c90", + "name" : "query-realms", + "description" : "${role_query-realms}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "793fcba9-d7d9-4ee7-af7e-74c3fa4abf6c", + "name" : "view-clients", + "description" : "${role_view-clients}", + "composite" : true, + "composites" : { + "client" : { + "realm-management" : [ "query-clients" ] + } + }, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "a8d15439-95e1-4241-b070-79f3014437a2", + "name" : "manage-users", + "description" : "${role_manage-users}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "4a894d73-6b48-4315-bbbc-51324ab59916", + "name" : "manage-events", + "description" : "${role_manage-events}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + }, { + "id" : "6e0c16e4-1848-4675-8cfd-9029b941e703", + "name" : "query-users", + "description" : "${role_query-users}", + "composite" : false, + "clientRole" : true, + "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "attributes" : { } + } ], + "security-admin-console" : [ ], + "admin-cli" : [ ], + "account-console" : [ ], + "ckan" : [ { + "id" : "65586c48-97a5-4831-b891-0089ed1cd087", + "name" : "uma_protection", + "composite" : false, + "clientRole" : true, + "containerId" : "49dfabcd-b980-414c-94a8-fdb65533ad2f", + "attributes" : { } + } ], + "broker" : [ { + "id" : "049b29fa-57fd-47c9-a202-566ec2733b23", + "name" : "read-token", + "description" : "${role_read-token}", + "composite" : false, + "clientRole" : true, + "containerId" : "97b39b11-142c-4dce-b109-917b76790017", + "attributes" : { } + } ], + "account" : [ { + "id" : "136c82ed-dc60-4c9f-9744-77c9a4cca1f1", + "name" : "view-groups", + "description" : "${role_view-groups}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "71504726-a8a7-47db-bc3b-ca07e310b0be", + "name" : "manage-account-links", + "description" : "${role_manage-account-links}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "112b6f3b-3904-421f-abf0-dda37752c236", + "name" : "manage-account", + "description" : "${role_manage-account}", + "composite" : true, + "composites" : { + "client" : { + "account" : [ "manage-account-links" ] + } + }, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "d11528f3-b7be-467b-b9b7-7698f5592c51", + "name" : "view-applications", + "description" : "${role_view-applications}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "4d0b20af-df72-49d4-b2ec-d6f82e92d4b1", + "name" : "manage-consent", + "description" : "${role_manage-consent}", + "composite" : true, + "composites" : { + "client" : { + "account" : [ "view-consent" ] + } + }, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "9bffb9ea-0141-46f1-8adb-ae91529d6813", + "name" : "view-consent", + "description" : "${role_view-consent}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "82bea49f-2846-4f28-9423-aae750454332", + "name" : "delete-account", + "description" : "${role_delete-account}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + }, { + "id" : "39e06706-101b-42b6-adee-f5235743eda8", + "name" : "view-profile", + "description" : "${role_view-profile}", + "composite" : false, + "clientRole" : true, + "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "attributes" : { } + } ] + } + }, + "groups" : [ ], + "defaultRole" : { + "id" : "93059c31-b7bc-4d3d-bc95-dc94a5ebb7ad", + "name" : "default-roles-ckan", + "description" : "${role_default-roles}", + "composite" : true, + "clientRole" : false, + "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075" + }, + "requiredCredentials" : [ "password" ], + "otpPolicyType" : "totp", + "otpPolicyAlgorithm" : "HmacSHA1", + "otpPolicyInitialCounter" : 0, + "otpPolicyDigits" : 6, + "otpPolicyLookAheadWindow" : 1, + "otpPolicyPeriod" : 30, + "otpPolicyCodeReusable" : false, + "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ], + "localizationTexts" : { }, + "webAuthnPolicyRpEntityName" : "keycloak", + "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], + "webAuthnPolicyRpId" : "", + "webAuthnPolicyAttestationConveyancePreference" : "not specified", + "webAuthnPolicyAuthenticatorAttachment" : "not specified", + "webAuthnPolicyRequireResidentKey" : "not specified", + "webAuthnPolicyUserVerificationRequirement" : "not specified", + "webAuthnPolicyCreateTimeout" : 0, + "webAuthnPolicyAvoidSameAuthenticatorRegister" : false, + "webAuthnPolicyAcceptableAaguids" : [ ], + "webAuthnPolicyExtraOrigins" : [ ], + "webAuthnPolicyPasswordlessRpEntityName" : "keycloak", + "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ], + "webAuthnPolicyPasswordlessRpId" : "", + "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified", + "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified", + "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified", + "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified", + "webAuthnPolicyPasswordlessCreateTimeout" : 0, + "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false, + "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], + "webAuthnPolicyPasswordlessExtraOrigins" : [ ], + "users" : [ { + "id" : "900af5fc-4c5c-4333-bcee-9855bfb0991d", + "createdTimestamp" : 1701295297234, + "username" : "service-account-ckan", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "serviceAccountClientId" : "ckan", + "credentials" : [ ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-ckan" ], + "clientRoles" : { + "ckan" : [ "uma_protection" ] + }, + "notBefore" : 0, + "groups" : [ ] + } ], + "scopeMappings" : [ { + "clientScope" : "offline_access", + "roles" : [ "offline_access" ] + } ], + "clientScopeMappings" : { + "account" : [ { + "client" : "account-console", + "roles" : [ "manage-account", "view-groups" ] + } ] + }, + "clients" : [ { + "id" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", + "clientId" : "account", + "name" : "${client_account}", + "rootUrl" : "${authBaseUrl}", + "baseUrl" : "/realms/ckan/account/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/realms/ckan/account/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "632c3653-00fa-4b03-a4ed-81afbb16f16d", + "clientId" : "account-console", + "name" : "${client_account-console}", + "rootUrl" : "${authBaseUrl}", + "baseUrl" : "/realms/ckan/account/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/realms/ckan/account/*" ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+", + "pkce.code.challenge.method" : "S256" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "b5c77dfe-292e-4f79-b993-d4b62b6f8b96", + "name" : "audience resolve", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-audience-resolve-mapper", + "consentRequired" : false, + "config" : { } + } ], + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "1a45d7a0-077f-4ec0-8e39-2526c2f3ff5f", + "clientId" : "admin-cli", + "name" : "${client_admin-cli}", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : false, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : true, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "97b39b11-142c-4dce-b109-917b76790017", + "clientId" : "broker", + "name" : "${client_broker}", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : true, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "49dfabcd-b980-414c-94a8-fdb65533ad2f", + "clientId" : "ckan", + "name" : "", + "description" : "", + "rootUrl" : "http://localhost:5500", + "adminUrl" : "", + "baseUrl" : "http://localhost:5500/dashboard", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "secret" : "wb4nT5D6LxNJm1648QHCrB0XTcsf2zja", + "redirectUris" : [ "/*" ], + "webOrigins" : [ "+" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : true, + "serviceAccountsEnabled" : true, + "authorizationServicesEnabled" : true, + "publicClient" : false, + "frontchannelLogout" : true, + "protocol" : "openid-connect", + "attributes" : { + "oidc.ciba.grant.enabled" : "false", + "client.secret.creation.time" : "1701295297", + "backchannel.logout.session.required" : "true", + "post.logout.redirect.uris" : "/*", + "oauth2.device.authorization.grant.enabled" : "false", + "backchannel.logout.revoke.offline.tokens" : "false" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : true, + "nodeReRegistrationTimeout" : -1, + "protocolMappers" : [ { + "id" : "d6504f0e-2480-4ad0-8156-18fef8a12e47", + "name" : "Client Host", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "clientHost", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "clientHost", + "jsonType.label" : "String" + } + }, { + "id" : "3e6169b4-267d-48c4-9a98-a4c832686797", + "name" : "Client IP Address", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "clientAddress", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "clientAddress", + "jsonType.label" : "String" + } + }, { + "id" : "2f1720aa-67b3-497e-8e38-eca0d3ddb067", + "name" : "Client ID", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usersessionmodel-note-mapper", + "consentRequired" : false, + "config" : { + "user.session.note" : "client_id", + "userinfo.token.claim" : "true", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "client_id", + "jsonType.label" : "String" + } + } ], + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ], + "authorizationSettings" : { + "allowRemoteResourceManagement" : true, + "policyEnforcementMode" : "ENFORCING", + "resources" : [ ], + "policies" : [ ], + "scopes" : [ ], + "decisionStrategy" : "UNANIMOUS" + } + }, { + "id" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", + "clientId" : "realm-management", + "name" : "${client_realm-management}", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ ], + "webOrigins" : [ ], + "notBefore" : 0, + "bearerOnly" : true, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : false, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + }, { + "id" : "08d74ac1-49fc-469d-a687-9ab3b27b69b1", + "clientId" : "security-admin-console", + "name" : "${client_security-admin-console}", + "rootUrl" : "${authAdminUrl}", + "baseUrl" : "/admin/ckan/console/", + "surrogateAuthRequired" : false, + "enabled" : true, + "alwaysDisplayInConsole" : false, + "clientAuthenticatorType" : "client-secret", + "redirectUris" : [ "/admin/ckan/console/*" ], + "webOrigins" : [ "+" ], + "notBefore" : 0, + "bearerOnly" : false, + "consentRequired" : false, + "standardFlowEnabled" : true, + "implicitFlowEnabled" : false, + "directAccessGrantsEnabled" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, + "frontchannelLogout" : false, + "protocol" : "openid-connect", + "attributes" : { + "post.logout.redirect.uris" : "+", + "pkce.code.challenge.method" : "S256" + }, + "authenticationFlowBindingOverrides" : { }, + "fullScopeAllowed" : false, + "nodeReRegistrationTimeout" : 0, + "protocolMappers" : [ { + "id" : "1adb53a6-597c-44a2-91aa-a15349f61efc", + "name" : "locale", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "locale", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "locale", + "jsonType.label" : "String" + } + } ], + "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] + } ], + "clientScopes" : [ { + "id" : "49cae1f3-7c12-41d0-8e9a-189daa5b45ff", + "name" : "address", + "description" : "OpenID Connect built-in scope: address", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "true", + "display.on.consent.screen" : "true", + "consent.screen.text" : "${addressScopeConsentText}" + }, + "protocolMappers" : [ { + "id" : "8308b1e8-783c-4a7d-8f7e-04f1e98686fc", + "name" : "address", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-address-mapper", + "consentRequired" : false, + "config" : { + "user.attribute.formatted" : "formatted", + "user.attribute.country" : "country", + "user.attribute.postal_code" : "postal_code", + "userinfo.token.claim" : "true", + "user.attribute.street" : "street", + "id.token.claim" : "true", + "user.attribute.region" : "region", + "access.token.claim" : "true", + "user.attribute.locality" : "locality" + } + } ] + }, { + "id" : "337dc738-9720-42e4-8cfa-ca816f3a9c47", + "name" : "profile", + "description" : "OpenID Connect built-in scope: profile", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "true", + "display.on.consent.screen" : "true", + "consent.screen.text" : "${profileScopeConsentText}" + }, + "protocolMappers" : [ { + "id" : "b7679e3c-23de-49e1-ae26-d58dac54b6cd", + "name" : "birthdate", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "birthdate", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "birthdate", + "jsonType.label" : "String" + } + }, { + "id" : "c2bede9d-9d79-4dc1-8ed0-7689baa4de73", + "name" : "username", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "preferred_username", + "jsonType.label" : "String" + } + }, { + "id" : "8d05a238-9c89-4548-bf77-ec690e826734", + "name" : "picture", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "picture", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "picture", + "jsonType.label" : "String" + } + }, { + "id" : "87f85b47-3189-4af2-8651-0663a4af6c4e", + "name" : "zoneinfo", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "zoneinfo", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "zoneinfo", + "jsonType.label" : "String" + } + }, { + "id" : "23510843-4c32-4bfe-848a-fed38392e1c5", + "name" : "profile", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "profile", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "profile", + "jsonType.label" : "String" + } + }, { + "id" : "344b9514-c119-4284-95da-9fb29e6e9f66", + "name" : "middle name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "middleName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "middle_name", + "jsonType.label" : "String" + } + }, { + "id" : "18c4fae8-fdb8-476d-aea7-7b2384667a11", + "name" : "given name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "firstName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "given_name", + "jsonType.label" : "String" + } + }, { + "id" : "e8241ff5-2278-4172-9ba4-6d60548a78fd", + "name" : "nickname", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "nickname", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "nickname", + "jsonType.label" : "String" + } + }, { + "id" : "2e648938-e959-4e17-a208-861d8d4eacd5", + "name" : "locale", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "locale", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "locale", + "jsonType.label" : "String" + } + }, { + "id" : "97aefc80-f08e-4f41-807d-5236395ec89f", + "name" : "website", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "website", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "website", + "jsonType.label" : "String" + } + }, { + "id" : "438728ae-3c2a-4faa-83f7-97fda8802058", + "name" : "gender", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "gender", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "gender", + "jsonType.label" : "String" + } + }, { + "id" : "3b3c20dd-72c9-4898-90ca-bf4de8658e96", + "name" : "family name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "lastName", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "family_name", + "jsonType.label" : "String" + } + }, { + "id" : "3d9f3f57-df77-470a-9ce1-a4a49cb6ea9c", + "name" : "full name", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-full-name-mapper", + "consentRequired" : false, + "config" : { + "id.token.claim" : "true", + "access.token.claim" : "true", + "userinfo.token.claim" : "true" + } + }, { + "id" : "51d8af12-a61e-45ef-b1c7-8c0fb16dc835", + "name" : "updated at", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "updatedAt", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "updated_at", + "jsonType.label" : "long" + } + } ] + }, { + "id" : "0ca5fed1-0041-4acc-b018-b7d4da4c2a9a", + "name" : "email", + "description" : "OpenID Connect built-in scope: email", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "true", + "display.on.consent.screen" : "true", + "consent.screen.text" : "${emailScopeConsentText}" + }, + "protocolMappers" : [ { + "id" : "a8ea96d0-7bb1-46d8-bb3d-87e238b42e8b", + "name" : "email verified", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-property-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "emailVerified", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email_verified", + "jsonType.label" : "boolean" + } + }, { + "id" : "75ce3646-48cf-431e-b54b-2d88d943ebd6", + "name" : "email", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "email", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "email", + "jsonType.label" : "String" + } + } ] + }, { + "id" : "ae433992-c6a6-46ed-89a5-75899f4edc99", + "name" : "microprofile-jwt", + "description" : "Microprofile - JWT built-in scope", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "true", + "display.on.consent.screen" : "false" + }, + "protocolMappers" : [ { + "id" : "f2419169-8d1a-42d6-a9e5-35c82f32c8b0", + "name" : "upn", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "username", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "upn", + "jsonType.label" : "String" + } + }, { + "id" : "25c91c90-20af-4c81-be19-fe560f9690f2", + "name" : "groups", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-realm-role-mapper", + "consentRequired" : false, + "config" : { + "multivalued" : "true", + "userinfo.token.claim" : "true", + "user.attribute" : "foo", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "groups", + "jsonType.label" : "String" + } + } ] + }, { + "id" : "c672e3cb-0646-46fb-887f-00be5de8a12e", + "name" : "web-origins", + "description" : "OpenID Connect scope for add allowed web origins to the access token", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "false", + "display.on.consent.screen" : "false", + "consent.screen.text" : "" + }, + "protocolMappers" : [ { + "id" : "32a16dd0-b249-44a7-83b2-dd015c86cce8", + "name" : "allowed web origins", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-allowed-origins-mapper", + "consentRequired" : false, + "config" : { } + } ] + }, { + "id" : "2bd35aef-70dd-4102-a8a9-f4c7e3135edc", + "name" : "phone", + "description" : "OpenID Connect built-in scope: phone", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "true", + "display.on.consent.screen" : "true", + "consent.screen.text" : "${phoneScopeConsentText}" + }, + "protocolMappers" : [ { + "id" : "e6a1c822-779b-48e1-aadc-fb75f11b3bf2", + "name" : "phone number", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "phoneNumber", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "phone_number", + "jsonType.label" : "String" + } + }, { + "id" : "ca601f00-8cae-4159-acb3-85dca0a7521d", + "name" : "phone number verified", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-attribute-mapper", + "consentRequired" : false, + "config" : { + "userinfo.token.claim" : "true", + "user.attribute" : "phoneNumberVerified", + "id.token.claim" : "true", + "access.token.claim" : "true", + "claim.name" : "phone_number_verified", + "jsonType.label" : "boolean" + } + } ] + }, { + "id" : "d797387e-1f5c-4232-8e68-f62892491073", + "name" : "role_list", + "description" : "SAML role list", + "protocol" : "saml", + "attributes" : { + "consent.screen.text" : "${samlRoleListScopeConsentText}", + "display.on.consent.screen" : "true" + }, + "protocolMappers" : [ { + "id" : "da7673c2-0335-402b-866b-70beb6805637", + "name" : "role list", + "protocol" : "saml", + "protocolMapper" : "saml-role-list-mapper", + "consentRequired" : false, + "config" : { + "single" : "false", + "attribute.nameformat" : "Basic", + "attribute.name" : "Role" + } + } ] + }, { + "id" : "e217ed3a-3a19-4548-bbb5-19e9f2642ccd", + "name" : "roles", + "description" : "OpenID Connect scope for add user roles to the access token", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "false", + "display.on.consent.screen" : "true", + "consent.screen.text" : "${rolesScopeConsentText}" + }, + "protocolMappers" : [ { + "id" : "dd7addec-1976-477e-ba66-ee77869156d7", + "name" : "client roles", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-client-role-mapper", + "consentRequired" : false, + "config" : { + "user.attribute" : "foo", + "access.token.claim" : "true", + "claim.name" : "resource_access.${client_id}.roles", + "jsonType.label" : "String", + "multivalued" : "true" + } + }, { + "id" : "15531919-9b88-4314-9393-2501c07ba6ea", + "name" : "audience resolve", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-audience-resolve-mapper", + "consentRequired" : false, + "config" : { } + }, { + "id" : "399d1e5f-f9c4-400f-81b5-397de8597ffb", + "name" : "realm roles", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-usermodel-realm-role-mapper", + "consentRequired" : false, + "config" : { + "user.attribute" : "foo", + "access.token.claim" : "true", + "claim.name" : "realm_access.roles", + "jsonType.label" : "String", + "multivalued" : "true" + } + } ] + }, { + "id" : "f3daaa09-a5d5-4766-ae71-487c67fc99af", + "name" : "acr", + "description" : "OpenID Connect scope for add acr (authentication context class reference) to the token", + "protocol" : "openid-connect", + "attributes" : { + "include.in.token.scope" : "false", + "display.on.consent.screen" : "false" + }, + "protocolMappers" : [ { + "id" : "d18e6224-a4a7-4cf3-8282-40e4706fc0c7", + "name" : "acr loa level", + "protocol" : "openid-connect", + "protocolMapper" : "oidc-acr-mapper", + "consentRequired" : false, + "config" : { + "id.token.claim" : "true", + "access.token.claim" : "true", + "userinfo.token.claim" : "true" + } + } ] + }, { + "id" : "52c605c5-9289-48c4-86bc-d6701a9008d1", + "name" : "offline_access", + "description" : "OpenID Connect built-in scope: offline_access", + "protocol" : "openid-connect", + "attributes" : { + "consent.screen.text" : "${offlineAccessScopeConsentText}", + "display.on.consent.screen" : "true" + } + } ], + "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr" ], + "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ], + "browserSecurityHeaders" : { + "contentSecurityPolicyReportOnly" : "", + "xContentTypeOptions" : "nosniff", + "referrerPolicy" : "no-referrer", + "xRobotsTag" : "none", + "xFrameOptions" : "SAMEORIGIN", + "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';", + "xXSSProtection" : "1; mode=block", + "strictTransportSecurity" : "max-age=31536000; includeSubDomains" + }, + "smtpServer" : { }, + "eventsEnabled" : false, + "eventsListeners" : [ "jboss-logging" ], + "enabledEventTypes" : [ ], + "adminEventsEnabled" : false, + "adminEventsDetailsEnabled" : false, + "identityProviders" : [ ], + "identityProviderMappers" : [ ], + "components" : { + "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ { + "id" : "45df67e2-101f-471b-aa00-dbf11bd13bf6", + "name" : "Allowed Protocol Mapper Types", + "providerId" : "allowed-protocol-mappers", + "subType" : "authenticated", + "subComponents" : { }, + "config" : { + "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] + } + }, { + "id" : "1a9c6e95-2a93-47b4-83ee-b414941cac4e", + "name" : "Consent Required", + "providerId" : "consent-required", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { } + }, { + "id" : "785f873e-bf19-4386-a4b8-8c3a901a6580", + "name" : "Trusted Hosts", + "providerId" : "trusted-hosts", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "host-sending-registration-request-must-match" : [ "true" ], + "client-uris-must-match" : [ "true" ] + } + }, { + "id" : "3a90975c-27da-4807-9918-85c4d170880c", + "name" : "Max Clients Limit", + "providerId" : "max-clients", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "max-clients" : [ "200" ] + } + }, { + "id" : "d4ec2bdf-67fe-4c7a-bd62-d6cbe89046d5", + "name" : "Allowed Client Scopes", + "providerId" : "allowed-client-templates", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "allow-default-scopes" : [ "true" ] + } + }, { + "id" : "895416e8-a54b-4695-9a2f-422c00e70466", + "name" : "Allowed Protocol Mapper Types", + "providerId" : "allowed-protocol-mappers", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { + "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "oidc-usermodel-property-mapper" ] + } + }, { + "id" : "c6451db3-895c-4b82-9b16-3923fc8161f4", + "name" : "Allowed Client Scopes", + "providerId" : "allowed-client-templates", + "subType" : "authenticated", + "subComponents" : { }, + "config" : { + "allow-default-scopes" : [ "true" ] + } + }, { + "id" : "4a99f0f3-26a3-4ef1-8dda-9b9c46e9c88d", + "name" : "Full Scope Disabled", + "providerId" : "scope", + "subType" : "anonymous", + "subComponents" : { }, + "config" : { } + } ], + "org.keycloak.keys.KeyProvider" : [ { + "id" : "2189659d-5fe5-411f-80ef-64947f7220d1", + "name" : "rsa-generated", + "providerId" : "rsa-generated", + "subComponents" : { }, + "config" : { + "privateKey" : [ "MIIEogIBAAKCAQEAxREfnzexj01VTzWjNc4Tn3YqxvphTWbZ1nfiTXkKT+AnLanMFiz4bmLaw2zEvx8rktivW686jd5V6GaLQKV6N1dVACirzZ3NljbFNxAIXs+hCe9H92dZHSYyBYGgnM/CPnusxpVE3ao9xkMxTwSCnbrrbF+0tw56QdCpYjwMNYKq+Lx4pvug+xxFC7nxDR367Q9vkQJhrHBoKRz/4vbK4qEBx63H3ZaB4IMxykUXWK15UisMnhnbRFFYN2g4l+K/zmhKUZyr/ubyDYcjmvnkBTG1LEwpt/uFs5fae23PSrNUlnkTXmPB633LExGXBsyBy3NZ4AgLynQKVuZPcUVH6wIDAQABAoIBADWELG+7GqudZzTvDocOkzKjTwOhPCpea3r8LIc4fy3o5ArZCTTeeorTqrAWiimS5+zljl2aLQ8Y2YCW1Gs2ZQXBYDJ+WQWqPIn2DsGgx30j6oo9onAT71XkqQHozXq4SvpX8LgvEjgWQtdkKPBZ+7Sk7ckNBpENy/KynUUxpGklPAv5m5fkXkiiCl/64n9Ar24xL7mRbQxHzvD5MdWqcCvWx6dtMmYo3Q0b6KeM9CjcBKhKiJfJZ2/besbTFJYzIBjt5zTEfInHbWthoqqy6JGnh8DHJ64yp1/t49a3qIwHBxDQkRp81OLiRYTEMYyDDdkfYl57He9+DalBIuAbHnUCgYEA9rc6GQwWPZTHdu31FXu4JSDTUQ0uIX9zcKvxHDp3a8dEhTjm1Zu/l+T/IxVexZqElaMh9fzUWsw2SOdDZEd+vMgU0gJtGgPIl+iYX8qvM4y8TrnIQTuSFeW2hKazycyOWJA8KwN3196bjyQEIBts2c+A5ZjO2xUWfNZLd/LiSq8CgYEAzHuY1UnBl0/NGyDOtgm7aQ5ip74EgBLpdXQBwQX/QVPy5LWoyu0T6BAHL4902t5bGL30yXgnnaLguwhXPVBCFwg5iJjHbOUiD3NgETse9xaNW68COONAwfNGYRtEGr4UmYZTbylga2ysB30xUcUJ6GEFObrbXx3ztJ9eN+Y19YUCgYBm1ebEi/I1Ru+BVhxjEQenijAqx5ij49EFdNXyUzh110BrW1V0UhAhSxVB1WWEbiy3hqDgPLtzAU3bQ3ImuVpNbASpqNM7Fbql/xCMVRqEHTRciDm9Xww8TlyunCGyiq4GolBCCZcJhsNGfdeuXmAXxdNPYEtQrFCMRnJ8k+PZBwKBgEKSGneVw4jXWhby31k0YecZ39RscFqhzY+HbOrCYQ+LnRAIdCNce5aZYT2CnrCCo3WyofbVP1B6rl81n/E+J8YHz3NBCevRzPzquuPhM3uNxAeNOlP66CI8aTVEAzARofM5YABYoCNZBciKYXwVgdw9ec4Jn1GgFq8/ExVvxTFhAoGAcu6HCooz9XyMAuUb0V+1WxiAqv20dU+lLsQUcYMRq/Xtkc/veEKixzqUSCy1WQtTWcJvRQDuGAMbvztUOqeg3IQNQ/omANXOAnrH/xqVTW5iJsrs4s+EIKIg0/AMTu31Wl7EvovujZK28eDbhn/UXkWzZ8m6XeX4w5gPOgimgrQ=" ], + "certificate" : [ "MIIClzCCAX8CBgGMHVjjUjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARja2FuMB4XDTIzMTEyOTIzMDgzM1oXDTMzMTEyOTIzMTAxM1owDzENMAsGA1UEAwwEY2thbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMURH583sY9NVU81ozXOE592Ksb6YU1m2dZ34k15Ck/gJy2pzBYs+G5i2sNsxL8fK5LYr1uvOo3eVehmi0ClejdXVQAoq82dzZY2xTcQCF7PoQnvR/dnWR0mMgWBoJzPwj57rMaVRN2qPcZDMU8Egp2662xftLcOekHQqWI8DDWCqvi8eKb7oPscRQu58Q0d+u0Pb5ECYaxwaCkc/+L2yuKhAcetx92WgeCDMcpFF1iteVIrDJ4Z20RRWDdoOJfiv85oSlGcq/7m8g2HI5r55AUxtSxMKbf7hbOX2nttz0qzVJZ5E15jwet9yxMRlwbMgctzWeAIC8p0ClbmT3FFR+sCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAjykLIjiCFjHmJCj60rC2CBq5MFf7knJuCIZKOMUU2e1zZI1kkI4IZ7yQT9iHURU2bZngvKd8EKwoPw1MDlNgGVDA/UvjOgCOXKOKkd9VuEMk7pGbjURBbRiPmJqv2mKs16/7Jzt3n/xBF513H35AO54JwoMg0gFjG40HnMz7OhIxnUgCls0Slk0BE7hGpVwXs9Iw7tPDrTnVSkObwpdlgQVaqI2igylPYsE6C7piMNEkmaPGwrLNsq9kVzph+Rj9C5/7HyK6N3M397JDTp9F1wpDWMB/ZQrwQ5EHUJxaBbkoQ6IbdFwBlVtz2CzhllpPsnIF3Pn7RGfrQXp0B9zjCg==" ], + "priority" : [ "100" ] + } + }, { + "id" : "4ce21678-f937-4f84-a9a0-f6db3719e122", + "name" : "hmac-generated", + "providerId" : "hmac-generated", + "subComponents" : { }, + "config" : { + "kid" : [ "8ff3f9b8-43cf-4fa8-a23e-a2c0b571023a" ], + "secret" : [ "Q-quxNo6VpCD21lFiz6DTtKku1Zfs8IqrJj6fSvbaVXLk4V8pV4OloS359ntndsv8CN4_zrf4SmbtYab5eR6hw" ], + "priority" : [ "100" ], + "algorithm" : [ "HS256" ] + } + }, { + "id" : "dceadb9f-9f49-4817-a671-5acd962f8edf", + "name" : "rsa-enc-generated", + "providerId" : "rsa-enc-generated", + "subComponents" : { }, + "config" : { + "privateKey" : [ "MIIEpAIBAAKCAQEAr9i5p95HHAIgD0yfNf8Z8f0mzTvfJfa3PoWOhlJOwXGmMccpkuoG/qlCWMyAMeFH+UCuroipfVVNmrVzvoTP9py6TDcloUJbUUqh/pAnaqxSbyXeGoEgLJDkPbQYzZkp10pJjZTHYWXkeJsLHlryTtgxlk9IJP6Y59qBYm+yoaqn2TVlru8oqm8HRb7wzNFX6FCcG5JW6NV/HS4xP0NIGgsi7KFPwthuUW3zKz5Aqav8Yr4jSHKJAEerYvAXrXHA5ej+FBhH/dLYoTmoxP483Ss2LKSD0BmFftBYdzrZ0pcDruadM5H5PS63DVra5NPdP+mlO2PiDAUsn4nnCKJvgQIDAQABAoIBACdiLMKSH+7/8to6WPYo+lCeWBBjNmk0Rno0Q2WGDal5oLVJW+BRldt3YSquMo/5WrtSZ00jwoIVltnthczHxiP/miHzv/PL/tPIGVwAQTO9AIFwQ7w/60rP8K55JYz2ns5fDvYsujLwNSll4CmeSOKrvP9jJk9SzkAvSgcX6TQXuwn2nLTFmahRyTDT2RhfSVcOejbZSFN8CzuWCQISn178Z1m22YavZVob/uFUg8QC1vWCt5oftOZ91744GMia66wJSC7BHrXwVSH0I5vl9n24T4ZwQhOtbXSWd1AS2jljZjj9dLK7cibrW6xtp4Fzco+llKNZIMOsjyXhqpXUgSECgYEA69GIFVzlRdvi8npFYcvTGYmNl503tf1jxNrSv2KQzUwuSt3/P4T8Iboinp3ZfB8Q6NkMvgwyWC2d9oENND9wOQ2LSU3bZBHVgV1nxQd1c+qqZiLbuR8TPc2S/EKQ0qk/TGfGyNkmjhGtVo6xxq/sfswmnOfuE8s/JkB7sTCoYN0CgYEAvuVKD/lCG8VQKYn7oqxuo46ofCarSl0eYbMtxhDRSlMmt+28V8sDMS6owyP0mkFOzprKdNAg0FXgZc2xO88NoUHwCGvM9n7cLyU9rtu/7UPehOyFonk4xQYKHrvmOraNVii/YsYQOKd8K02gvkXOFEYQU4zzNHqD6K3OH6ra7PUCgYBYjYxOiV3HR/UHHQck3EdfVZoIDw+2lXp7l7iACeFaVnsjvg11qtiLSbxqV9gtlfThm2//hdD579dbk8aDkjbwFbfyRPxXraLBO3QWNuDSMJLgW8Kq15KAKMxDUjPUB54vcODi1zh1LQoscNUtSS7DxqHRVf6/DBmgoaJRPXZdOQKBgQCy+rvT+jnXW8prB+ocfVtGkky6Cm9zS5detuZl3AK+kvOsY4PBNKCLjlnAjIeb0TuYTl0f5Lu/WaUJDi/sCZeX6ACrhJcpTYwXz+zjczmhtY5+RlyNFub5I059vmKADgS6EX5Pl7BBzhaHa0MY4s3zCDXqgC7Ot0fR8pNd8Y1NuQKBgQCGWCRQ+Rw5eYd8YmCsaRnTVfNI2clMXKx6/dLx8fjppoDaF0+37+iieMfbxDyNAgDR16ed/VxWA6b/JC1cjRgFtpGl7ZIVX2upudrBp/Mu/CBbTv6UZF3KuyidAXpt0OnJeZo/E7/oFO6DwqmnW/7VPNx9yoHuuno43bVPSiGtjg==" ], + "certificate" : [ "MIIClzCCAX8CBgGMHVjkPTANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARja2FuMB4XDTIzMTEyOTIzMDgzNFoXDTMzMTEyOTIzMTAxNFowDzENMAsGA1UEAwwEY2thbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK/YuafeRxwCIA9MnzX/GfH9Js073yX2tz6FjoZSTsFxpjHHKZLqBv6pQljMgDHhR/lArq6IqX1VTZq1c76Ez/acukw3JaFCW1FKof6QJ2qsUm8l3hqBICyQ5D20GM2ZKddKSY2Ux2Fl5HibCx5a8k7YMZZPSCT+mOfagWJvsqGqp9k1Za7vKKpvB0W+8MzRV+hQnBuSVujVfx0uMT9DSBoLIuyhT8LYblFt8ys+QKmr/GK+I0hyiQBHq2LwF61xwOXo/hQYR/3S2KE5qMT+PN0rNiykg9AZhX7QWHc62dKXA67mnTOR+T0utw1a2uTT3T/ppTtj4gwFLJ+J5wiib4ECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAc494XGxjSw8yRicpnk00jIdbZ3SgeJadkXhAm13yeX+YYgUgk08MDIr4laPY4I6zBb/L3bz6j132TUBYDXriJ1EokHp6kOM2bN9UDMFQEmsaMs2wcFPDNu8p/fbMoljeGF3D5YiQPJUlBb1AX/3HWK6qFIJlQRdppUneJ2ANM2vBRN5mjX0Ss2dG0dXaM9NrTK5EmGc4io9yevWagK6/BNSgKVzZN6Sr0Yi5DX/NW8V43aGfUAxRZdLgTpbM1i/TKZGxYsL3KPquIYRn+SB9+U0uX7D6+5hKq5CJG4HAdawCtHqMGwLKlBkv2+Wj//zpM0LHv2vrmObUl3nJfDCU7A==" ], + "priority" : [ "100" ], + "algorithm" : [ "RSA-OAEP" ] + } + }, { + "id" : "22cbb94c-4328-4b8b-be5c-da82b2d221e6", + "name" : "aes-generated", + "providerId" : "aes-generated", + "subComponents" : { }, + "config" : { + "kid" : [ "734358e6-0b32-4ead-ab4c-3c5db4e9626d" ], + "secret" : [ "2H-mDD3LuqVZYS1tp76EOA" ], + "priority" : [ "100" ] + } + } ] + }, + "internationalizationEnabled" : false, + "supportedLocales" : [ ], + "authenticationFlows" : [ { + "id" : "c9aa61d3-5d87-4cb2-83a9-fc164f2b5930", + "alias" : "Account verification options", + "description" : "Method with which to verity the existing account", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "idp-email-verification", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "Verify Existing Account by Re-authentication", + "userSetupAllowed" : false + } ] + }, { + "id" : "9e3de326-f007-442f-9696-4ed6677f90e3", + "alias" : "Browser - Conditional OTP", + "description" : "Flow to determine if the OTP is required for the authentication", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "conditional-user-configured", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "auth-otp-form", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "629c59ac-909c-4c3b-8d36-d9cb8d177f3f", + "alias" : "Direct Grant - Conditional OTP", + "description" : "Flow to determine if the OTP is required for the authentication", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "conditional-user-configured", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "direct-grant-validate-otp", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "c79256c5-d215-4ea7-b68c-b3a0d966930c", + "alias" : "First broker login - Conditional OTP", + "description" : "Flow to determine if the OTP is required for the authentication", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "conditional-user-configured", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "auth-otp-form", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "1ad3ab9e-54e4-4397-88a6-9fdec6501b19", + "alias" : "Handle Existing Account", + "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "idp-confirm-link", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "Account verification options", + "userSetupAllowed" : false + } ] + }, { + "id" : "71157dfc-793e-4614-9256-a4ee5eedfef1", + "alias" : "Reset - Conditional OTP", + "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "conditional-user-configured", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "reset-otp", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "46f9b776-700b-4abd-8286-b4b23438c5a3", + "alias" : "User creation or linking", + "description" : "Flow for the existing/non-existing user alternatives", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticatorConfig" : "create unique user config", + "authenticator" : "idp-create-user-if-unique", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "Handle Existing Account", + "userSetupAllowed" : false + } ] + }, { + "id" : "e952c5c6-8849-4d75-b74e-2d2bdf8ac50f", + "alias" : "Verify Existing Account by Re-authentication", + "description" : "Reauthentication of existing account", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "idp-username-password-form", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "CONDITIONAL", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "First broker login - Conditional OTP", + "userSetupAllowed" : false + } ] + }, { + "id" : "d53e6878-4a08-4737-8ec8-a893c1a25055", + "alias" : "browser", + "description" : "browser based authentication", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "auth-cookie", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "auth-spnego", + "authenticatorFlow" : false, + "requirement" : "DISABLED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "identity-provider-redirector", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 25, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "ALTERNATIVE", + "priority" : 30, + "autheticatorFlow" : true, + "flowAlias" : "forms", + "userSetupAllowed" : false + } ] + }, { + "id" : "27b45afc-dacc-42d2-b505-1cde88d20135", + "alias" : "clients", + "description" : "Base authentication for clients", + "providerId" : "client-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "client-secret", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "client-jwt", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "client-secret-jwt", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 30, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "client-x509", + "authenticatorFlow" : false, + "requirement" : "ALTERNATIVE", + "priority" : 40, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "d9478b18-9639-449e-85d6-56540f0803a1", + "alias" : "direct grant", + "description" : "OpenID Connect Resource Owner Grant", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "direct-grant-validate-username", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "direct-grant-validate-password", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "CONDITIONAL", + "priority" : 30, + "autheticatorFlow" : true, + "flowAlias" : "Direct Grant - Conditional OTP", + "userSetupAllowed" : false + } ] + }, { + "id" : "2c65eda3-a182-4a11-9ade-f61b78d78c6d", + "alias" : "docker auth", + "description" : "Used by Docker clients to authenticate against the IDP", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "docker-http-basic-authenticator", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "c4a0ed65-c0be-4a58-b0a1-a68873949032", + "alias" : "first broker login", + "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticatorConfig" : "review profile config", + "authenticator" : "idp-review-profile", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "User creation or linking", + "userSetupAllowed" : false + } ] + }, { + "id" : "604aafa0-254a-4ed4-a531-f83b47487901", + "alias" : "forms", + "description" : "Username, password, otp and other auth forms.", + "providerId" : "basic-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "auth-username-password-form", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "CONDITIONAL", + "priority" : 20, + "autheticatorFlow" : true, + "flowAlias" : "Browser - Conditional OTP", + "userSetupAllowed" : false + } ] + }, { + "id" : "3be806e8-49ce-4751-9818-4fbfb7027ccc", + "alias" : "registration", + "description" : "registration flow", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "registration-page-form", + "authenticatorFlow" : true, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : true, + "flowAlias" : "registration form", + "userSetupAllowed" : false + } ] + }, { + "id" : "bb0a7b2c-c1d4-44fa-87ce-12fa5d617994", + "alias" : "registration form", + "description" : "registration form", + "providerId" : "form-flow", + "topLevel" : false, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "registration-user-creation", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "registration-password-action", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 50, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "registration-recaptcha-action", + "authenticatorFlow" : false, + "requirement" : "DISABLED", + "priority" : 60, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + }, { + "id" : "f31bc3bf-8954-4ede-a514-84264864e7e3", + "alias" : "reset credentials", + "description" : "Reset credentials for a user if they forgot their password or something", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "reset-credentials-choose-user", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "reset-credential-email", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 20, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticator" : "reset-password", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 30, + "autheticatorFlow" : false, + "userSetupAllowed" : false + }, { + "authenticatorFlow" : true, + "requirement" : "CONDITIONAL", + "priority" : 40, + "autheticatorFlow" : true, + "flowAlias" : "Reset - Conditional OTP", + "userSetupAllowed" : false + } ] + }, { + "id" : "5c6cd2f4-83af-40ff-988b-062581eb15db", + "alias" : "saml ecp", + "description" : "SAML ECP Profile Authentication Flow", + "providerId" : "basic-flow", + "topLevel" : true, + "builtIn" : true, + "authenticationExecutions" : [ { + "authenticator" : "http-basic-authenticator", + "authenticatorFlow" : false, + "requirement" : "REQUIRED", + "priority" : 10, + "autheticatorFlow" : false, + "userSetupAllowed" : false + } ] + } ], + "authenticatorConfig" : [ { + "id" : "cd71993a-b422-4a88-843a-415f62c820c9", + "alias" : "create unique user config", + "config" : { + "require.password.update.after.registration" : "false" + } + }, { + "id" : "24be9259-6ac1-4e0b-b776-5c8ec1d783ed", + "alias" : "review profile config", + "config" : { + "update.profile.on.first.login" : "missing" + } + } ], + "requiredActions" : [ { + "alias" : "CONFIGURE_TOTP", + "name" : "Configure OTP", + "providerId" : "CONFIGURE_TOTP", + "enabled" : true, + "defaultAction" : false, + "priority" : 10, + "config" : { } + }, { + "alias" : "TERMS_AND_CONDITIONS", + "name" : "Terms and Conditions", + "providerId" : "TERMS_AND_CONDITIONS", + "enabled" : false, + "defaultAction" : false, + "priority" : 20, + "config" : { } + }, { + "alias" : "UPDATE_PASSWORD", + "name" : "Update Password", + "providerId" : "UPDATE_PASSWORD", + "enabled" : true, + "defaultAction" : false, + "priority" : 30, + "config" : { } + }, { + "alias" : "UPDATE_PROFILE", + "name" : "Update Profile", + "providerId" : "UPDATE_PROFILE", + "enabled" : true, + "defaultAction" : false, + "priority" : 40, + "config" : { } + }, { + "alias" : "VERIFY_EMAIL", + "name" : "Verify Email", + "providerId" : "VERIFY_EMAIL", + "enabled" : true, + "defaultAction" : false, + "priority" : 50, + "config" : { } + }, { + "alias" : "delete_account", + "name" : "Delete Account", + "providerId" : "delete_account", + "enabled" : false, + "defaultAction" : false, + "priority" : 60, + "config" : { } + }, { + "alias" : "webauthn-register", + "name" : "Webauthn Register", + "providerId" : "webauthn-register", + "enabled" : true, + "defaultAction" : false, + "priority" : 70, + "config" : { } + }, { + "alias" : "webauthn-register-passwordless", + "name" : "Webauthn Register Passwordless", + "providerId" : "webauthn-register-passwordless", + "enabled" : true, + "defaultAction" : false, + "priority" : 80, + "config" : { } + }, { + "alias" : "update_user_locale", + "name" : "Update User Locale", + "providerId" : "update_user_locale", + "enabled" : true, + "defaultAction" : false, + "priority" : 1000, + "config" : { } + } ], + "browserFlow" : "browser", + "registrationFlow" : "registration", + "directGrantFlow" : "direct grant", + "resetCredentialsFlow" : "reset credentials", + "clientAuthenticationFlow" : "clients", + "dockerAuthenticationFlow" : "docker auth", + "attributes" : { + "cibaBackchannelTokenDeliveryMode" : "poll", + "cibaExpiresIn" : "120", + "cibaAuthRequestedUserHint" : "login_hint", + "oauth2DeviceCodeLifespan" : "600", + "clientOfflineSessionMaxLifespan" : "0", + "oauth2DevicePollingInterval" : "5", + "clientSessionIdleTimeout" : "0", + "parRequestUriLifespan" : "60", + "clientSessionMaxLifespan" : "0", + "clientOfflineSessionIdleTimeout" : "0", + "cibaInterval" : "5", + "realmReusableOtpCode" : "false" + }, + "keycloakVersion" : "23.0.1", + "userManagedAccessAllowed" : false, + "clientProfiles" : { + "profiles" : [ ] + }, + "clientPolicies" : { + "policies" : [ ] + } +} \ No newline at end of file diff --git a/national-node-catalogue-mock/Dockerfile b/national-node-catalogue-mock/Dockerfile new file mode 100644 index 000000000..91e290ff5 --- /dev/null +++ b/national-node-catalogue-mock/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.11 + +COPY ./ /code + +WORKDIR /code + +RUN pip install --no-cache-dir --upgrade -r requirements.txt + +CMD ["python", "main.py"] diff --git a/national-node-catalogue-mock/catalogue.ttl b/national-node-catalogue-mock/catalogue.ttl new file mode 100644 index 000000000..374aaf1c8 --- /dev/null +++ b/national-node-catalogue-mock/catalogue.ttl @@ -0,0 +1,6453 @@ +@prefix dcat: . +@prefix dct: . +@prefix euthemes: . +@prefix foaf: . +@prefix hydra: . +@prefix rdfs: . +@prefix vcard: . +@prefix xsd: . + + a dcat:Catalog ; + dcat:dataset , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + . + + a hydra:PagedCollection ; + hydra:firstPage "https://ckan.opendata.swiss/catalog.ttl?page=1" ; + hydra:itemsPerPage 100 ; + hydra:lastPage "https://ckan.opendata.swiss/catalog.ttl?page=103" ; + hydra:nextPage "https://ckan.opendata.swiss/catalog.ttl?page=2" ; + hydra:totalItems 10232 . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Alvaschein\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Alvaschein\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Alvaschein\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Alvaschagn\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1801@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Alvaschein"@de, + "Alvaschein"@fr, + "Alvaschein"@it, + "Alvaschagn"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "alvaschein.csv"@de, + "alvaschein.csv"@fr, + "alvaschein.csv"@it, + "alvaschagn.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "alvaschein.json"@de, + "alvaschein.json"@fr, + "alvaschein.json"@it, + "alvaschagn.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Avers\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Avers\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Avers\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Avras\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1802@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Avers"@de, + "Avers"@fr, + "Avers"@it, + "Avras"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "avers.csv"@de, + "avers.csv"@fr, + "avers.csv"@it, + "avras.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "avers.json"@de, + "avers.json"@fr, + "avers.json"@it, + "avras.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Bregaglia\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Bregaglia\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Bregaglia\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Bregaglia\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1805@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Bregaglia"@de, + "Bregaglia"@fr, + "Bregaglia"@it, + "Bregaglia"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bregaglia.csv"@de, + "bregaglia.csv"@fr, + "bregaglia.csv"@it, + "bregaglia.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bregaglia.json"@de, + "bregaglia.json"@fr, + "bregaglia.json"@it, + "bregaglia.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Breil/Brigels\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Breil/Brigels\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Breil/Brigels\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Breil\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1806@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Breil/Brigels"@de, + "Breil/Brigels"@fr, + "Breil/Brigels"@it, + "Breil"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "breil-brigels.csv"@de, + "breil-brigels.csv"@fr, + "breil-brigels.csv"@it, + "breil.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "breil-brigels.json"@de, + "breil-brigels.json"@fr, + "breil-brigels.json"@it, + "breil.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Calanca\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Calanca\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Calanca\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Calanca\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1808@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Calanca"@de, + "Calanca"@fr, + "Calanca"@it, + "Calanca"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "calanca.csv"@de, + "calanca.csv"@fr, + "calanca.csv"@it, + "calanca.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "calanca.json"@de, + "calanca.json"@fr, + "calanca.json"@it, + "calanca.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Chur\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Chur\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Chur\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Cuira\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1809@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Chur"@de, + "Chur"@fr, + "Chur"@it, + "Cuira"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "chur.csv"@de, + "chur.csv"@fr, + "chur.csv"@it, + "cuira.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "chur.json"@de, + "chur.json"@fr, + "chur.json"@it, + "cuira.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Davos\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Davos\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Davos\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Tavau\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1811@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Davos"@de, + "Davos"@fr, + "Davos"@it, + "Tavau"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "davos.csv"@de, + "davos.csv"@fr, + "davos.csv"@it, + "tavau.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "davos.json"@de, + "davos.json"@fr, + "davos.json"@it, + "tavau.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Fünf Dörfer\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Fünf Dörfer\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Fünf Dörfer\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Tschintg Vitgs\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1814@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Fünf Dörfer"@de, + "Fünf Dörfer"@fr, + "Fünf Dörfer"@it, + "Tschintg Vitgs"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "fuenf-doerfer.csv"@de, + "fuenf-doerfer.csv"@fr, + "fuenf-doerfer.csv"@it, + "tschintg-vitgs.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "fuenf-doerfer.json"@de, + "fuenf-doerfer.json"@fr, + "fuenf-doerfer.json"@it, + "tschintg-vitgs.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Ilanz\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Ilanz\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Ilanz\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Foppa\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1815@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Ilanz"@de, + "Ilanz"@fr, + "Ilanz"@it, + "Foppa"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "ilanz.csv"@de, + "ilanz.csv"@fr, + "ilanz.csv"@it, + "foppa.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "ilanz.json"@de, + "ilanz.json"@fr, + "ilanz.json"@it, + "foppa.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Jenaz\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Jenaz\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Jenaz\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Jenaz\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1816@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Jenaz"@de, + "Jenaz"@fr, + "Jenaz"@it, + "Jenaz"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "jenaz.csv"@de, + "jenaz.csv"@fr, + "jenaz.csv"@it, + "jenaz.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "jenaz.json"@de, + "jenaz.json"@fr, + "jenaz.json"@it, + "jenaz.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Klosters\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Klosters\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Klosters\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Claustra\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1817@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Klosters"@de, + "Klosters"@fr, + "Klosters"@it, + "Claustra"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "klosters.csv"@de, + "klosters.csv"@fr, + "klosters.csv"@it, + "claustra.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "klosters.json"@de, + "klosters.json"@fr, + "klosters.json"@it, + "claustra.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Küblis\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Küblis\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Küblis\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Küblis\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1818@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Küblis"@de, + "Küblis"@fr, + "Küblis"@it, + "Küblis"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "kueblis.csv"@de, + "kueblis.csv"@fr, + "kueblis.csv"@it, + "kueblis.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "kueblis.json"@de, + "kueblis.json"@fr, + "kueblis.json"@it, + "kueblis.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Luzein\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Luzein\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Luzein\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Luzein\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1820@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Luzein"@de, + "Luzein"@fr, + "Luzein"@it, + "Luzein"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "luzein.csv"@de, + "luzein.csv"@fr, + "luzein.csv"@it, + "luzein.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "luzein.json"@de, + "luzein.json"@fr, + "luzein.json"@it, + "luzein.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Maienfeld\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Maienfeld\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Maienfeld\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Maiavilla\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1821@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Maienfeld"@de, + "Maienfeld"@fr, + "Maienfeld"@it, + "Maiavilla"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "maienfeld.csv"@de, + "maienfeld.csv"@fr, + "maienfeld.csv"@it, + "maiavilla.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "maienfeld.json"@de, + "maienfeld.json"@fr, + "maienfeld.json"@it, + "maiavilla.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Roveredo\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Roveredo\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Roveredo\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Roveredo\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1828@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Roveredo"@de, + "Roveredo"@fr, + "Roveredo"@it, + "Roveredo"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "roveredo.csv"@de, + "roveredo.csv"@fr, + "roveredo.csv"@it, + "roveredo.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "roveredo.json"@de, + "roveredo.json"@fr, + "roveredo.json"@it, + "roveredo.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Schams\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Schams\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Schams\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Schons\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1830@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Schams"@de, + "Schams"@fr, + "Schams"@it, + "Schons"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "schams.csv"@de, + "schams.csv"@fr, + "schams.csv"@it, + "schons.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "schams.json"@de, + "schams.json"@fr, + "schams.json"@it, + "schons.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Schanfigg\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Schanfigg\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Schanfigg\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Scanvetg \", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1831@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Schanfigg"@de, + "Schanfigg"@fr, + "Schanfigg"@it, + "Scanvetg "@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "schanfigg.csv"@de, + "schanfigg.csv"@fr, + "schanfigg.csv"@it, + "scanvetg.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "schanfigg.json"@de, + "schanfigg.json"@fr, + "schanfigg.json"@it, + "scanvetg.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Schiers\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Schiers\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Schiers\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Schiers\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1832@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Schiers"@de, + "Schiers"@fr, + "Schiers"@it, + "Schiers"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "schiers.csv"@de, + "schiers.csv"@fr, + "schiers.csv"@it, + "schiers.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "schiers.json"@de, + "schiers.json"@fr, + "schiers.json"@it, + "schiers.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Suot Tasna\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Suot Tasna\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Suot Tasna\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Suot Tasna\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1834@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Suot Tasna"@de, + "Suot Tasna"@fr, + "Suot Tasna"@it, + "Suot Tasna"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "suot-tasna.csv"@de, + "suot-tasna.csv"@fr, + "suot-tasna.csv"@it, + "suot-tasna.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "suot-tasna.json"@de, + "suot-tasna.json"@fr, + "suot-tasna.json"@it, + "suot-tasna.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Sur Tasna\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Sur Tasna\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Sur Tasna\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Sur Tasna\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1835@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Sur Tasna"@de, + "Sur Tasna"@fr, + "Sur Tasna"@it, + "Sur Tasna"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "sur-tasna.csv"@de, + "sur-tasna.csv"@fr, + "sur-tasna.csv"@it, + "sur-tasna.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "sur-tasna.json"@de, + "sur-tasna.json"@fr, + "sur-tasna.json"@it, + "sur-tasna.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Trins\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Trins\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Trins\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Trin\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1838@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Trins"@de, + "Trins"@fr, + "Trins"@it, + "Trin"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "trins.csv"@de, + "trins.csv"@fr, + "trins.csv"@it, + "trin.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "trins.json"@de, + "trins.json"@fr, + "trins.json"@it, + "trin.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der regionalen Wahl \"Val Müstair\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection régionale \"Val Müstair\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione regionale \"Val Müstair\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun regiunala \"Val Müstair\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-grw-2022-1839@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Val Müstair"@de, + "Val Müstair"@fr, + "Val Müstair"@it, + "Val Müstair"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "regional-regionlabelgr"@de, + "wahl"@de, + "election"@fr, + "regional-regionlabelgr"@fr, + "elezione"@it, + "regionale-regionlabelgr"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "val-muestair.csv"@de, + "val-muestair.csv"@fr, + "val-muestair.csv"@it, + "val-muestair.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "val-muestair.json"@de, + "val-muestair.json"@fr, + "val-muestair.json"@it, + "val-muestair.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Wahl \"Nationalratswahlen 2015\", 18. Oktober 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection fédérale \"Election du Conseil national 2015\", 18 octobre 2015, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione federale \"Elezione del Consiglio nazionale 2015\", 18 ottobre 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun federala \"Elecziuns dal cussegl naziunal 2015\", 18 d’october 2015, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-nationalratswahlen-2015@standeskanzlei-graubuenden" ; + dct:issued "2015-10-18T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2015-10-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2015-10-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Nationalratswahlen 2015"@de, + "Election du Conseil national 2015"@fr, + "Elezione del Consiglio nazionale 2015"@it, + "Elecziuns dal cussegl naziunal 2015"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "national"@de, + "wahl"@de, + "election"@fr, + "federal"@fr, + "elezione"@it, + "nazionale"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2015.csv"@de, + "election-du-conseil-national-2015.csv"@fr, + "elezione-del-consiglio-nazionale-2015.csv"@it, + "elecziuns-dal-cussegl-naziunal-2015.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2015.json"@de, + "election-du-conseil-national-2015.json"@fr, + "elezione-del-consiglio-nazionale-2015.json"@it, + "elecziuns-dal-cussegl-naziunal-2015.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Wahl \"Nationalratswahlen 2023\", 22. Oktober 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection fédérale \"élections du Conseil national 2023\", 22 octobre 2023, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione federale \"elezioni del Consiglio nazionale 2023\", 22 ottobre 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun federala \"elecziuns dal Cussegl naziunal 2019\", 22 d’october 2023, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-nrw-2023@standeskanzlei-graubuenden" ; + dct:issued "2023-10-22T00:00:00"^^xsd:dateTime ; + dct:modified "2023-10-24T13:41:37+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2023-10-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2023-10-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Nationalratswahlen 2023"@de, + "élections du Conseil national 2023"@fr, + "elezioni del Consiglio nazionale 2023"@it, + "elecziuns dal Cussegl naziunal 2019"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + , + , + ; + dcat:keyword "national"@de, + "wahl"@de, + "election"@fr, + "federal"@fr, + "elezione"@it, + "nazionale"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2023.csv"@de, + "elections-du-conseil-national-2023.csv"@fr, + "elezioni-del-consiglio-nazionale-2023.csv"@it, + "elecziuns-dal-cussegl-naziunal-2019.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2023.json"@de, + "elections-du-conseil-national-2023.json"@fr, + "elezioni-del-consiglio-nazionale-2023.json"@it, + "elecziuns-dal-cussegl-naziunal-2019.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "parties-csv" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2023-parteien.csv"@de, + "elections-du-conseil-national-2023-partis.csv"@fr, + "elezioni-del-consiglio-nazionale-2023-parti.csv"@it, + "elecziuns-dal-cussegl-naziunal-2019-partidas.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "parties-json" ; + dct:license ; + dct:rights ; + dct:title "nationalratswahlen-2023-parteien.json"@de, + "elections-du-conseil-national-2023-partis.json"@fr, + "elezioni-del-consiglio-nazionale-2023-parti.json"@it, + "elecziuns-dal-cussegl-naziunal-2019-partidas.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Wahl \"Regierungsratswahlen 2014\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection cantonale \"Élections Conseiller 2014\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione cantonale \"Elezioni del Governo 2014\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun chantunala \"Elecziuns da la regenza 2014\", 18 da matg 2014, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-regierungsratswahlen-2014@standeskanzlei-graubuenden" ; + dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Regierungsratswahlen 2014"@de, + "Élections Conseiller 2014"@fr, + "Elezioni del Governo 2014"@it, + "Elecziuns da la regenza 2014"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "kantonal"@de, + "wahl"@de, + "cantonal"@fr, + "election"@fr, + "cantonale"@it, + "elezione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "regierungsratswahlen-2014.csv"@de, + "elections-conseiller-2014.csv"@fr, + "elezioni-del-governo-2014.csv"@it, + "elecziuns-da-la-regenza-2014.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "regierungsratswahlen-2014.json"@de, + "elections-conseiller-2014.json"@fr, + "elezioni-del-governo-2014.json"@it, + "elecziuns-da-la-regenza-2014.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Wahl \"Regierungswahlen 2022\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection cantonale \"Regierungswahlen 2022\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione cantonale \"Elezioni del Governo 2022\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun chantunala \"Elecziuns da la Regenza 2022\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-rw2022@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T12:56:58+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Regierungswahlen 2022"@de, + "Regierungswahlen 2022"@fr, + "Elezioni del Governo 2022"@it, + "Elecziuns da la Regenza 2022"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "kantonal"@de, + "wahl"@de, + "cantonal"@fr, + "election"@fr, + "cantonale"@it, + "elezione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "regierungswahlen-2022.csv"@de, + "regierungswahlen-2022.csv"@fr, + "elezioni-del-governo-2022.csv"@it, + "elecziuns-da-la-regenza-2022.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "regierungswahlen-2022.json"@de, + "regierungswahlen-2022.json"@fr, + "elezioni-del-governo-2022.json"@it, + "elecziuns-da-la-regenza-2022.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Wahl \"Ständeratswahlen 2023\", 22. Oktober 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, + "Résultats finaux de l'élection cantonale \"élections du conseil des états de 2023\", 22 octobre 2023, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, + "Risultati finali della elezione cantonale \"elezione del Consiglio nazionale 2023\", 22 ottobre 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, + "Resultats finals da l'elecziun chantunala \"elecziuns dal cussegl dals chantuns 2023\", 22 d’october 2023, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; + dct:identifier "election-srw-2023@standeskanzlei-graubuenden" ; + dct:issued "2023-10-22T00:00:00"^^xsd:dateTime ; + dct:modified "2023-10-22T11:52:05+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2023-10-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2023-10-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Ständeratswahlen 2023"@de, + "élections du conseil des états de 2023"@fr, + "elezione del Consiglio nazionale 2023"@it, + "elecziuns dal cussegl dals chantuns 2023"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "kantonal"@de, + "wahl"@de, + "cantonal"@fr, + "election"@fr, + "cantonale"@it, + "elezione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "staenderatswahlen-2023.csv"@de, + "elections-du-conseil-des-etats-de-2023.csv"@fr, + "elezione-del-consiglio-nazionale-2023.csv"@it, + "elecziuns-dal-cussegl-dals-chantuns-2023.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "staenderatswahlen-2023.json"@de, + "elections-du-conseil-des-etats-de-2023.json"@fr, + "elezione-del-consiglio-nazionale-2023.json"@it, + "elecziuns-dal-cussegl-dals-chantuns-2023.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative für sauberes Trinkwasser und gesunde Nahrung\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire pour une eau potable propre et une alimentation saine\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare per acqua potabile pulita e cibo sano\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel per aua da baiver netta e vivonda sauna\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-e1@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative für sauberes Trinkwasser und gesunde Nahrung"@de, + "Initiative populaire pour une eau potable propre et une alimentation saine"@fr, + "Iniziativa popolare per acqua potabile pulita e cibo sano"@it, + "Iniziativa dal pievel per aua da baiver netta e vivonda sauna"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-sauberes-trinkwasser-und-gesunde-nahrung.csv"@de, + "initiative-populaire-pour-une-eau-potable-propre-et-une-alimentation-saine.csv"@fr, + "iniziativa-popolare-per-acqua-potabile-pulita-e-cibo-sano.csv"@it, + "iniziativa-dal-pievel-per-aua-da-baiver-netta-e-vivonda-sauna.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-sauberes-trinkwasser-und-gesunde-nahrung.json"@de, + "initiative-populaire-pour-une-eau-potable-propre-et-une-alimentation-saine.json"@fr, + "iniziativa-popolare-per-acqua-potabile-pulita-e-cibo-sano.json"@it, + "iniziativa-dal-pievel-per-aua-da-baiver-netta-e-vivonda-sauna.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine Schweiz ohne synthetische Pestizide»\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Pour une Suisse libre de pesticides de synthèse »\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per una Svizzera senza pesticidi sintetici»\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per ina Svizra senza pesticids sintetics»\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-e2@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für eine Schweiz ohne synthetische Pestizide»"@de, + "Initiative populaire « Pour une Suisse libre de pesticides de synthèse »"@fr, + "Iniziativa popolare «Per una Svizzera senza pesticidi sintetici»"@it, + "Iniziativa dal pievel «Per ina Svizra senza pesticids sintetics»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-schweiz-ohne-synthetische-pestizide.csv"@de, + "initiative-populaire-pour-une-suisse-libre-de-pesticides-de-synthese.csv"@fr, + "iniziativa-popolare-per-una-svizzera-senza-pesticidi-sintetici.csv"@it, + "iniziativa-dal-pievel-per-ina-svizra-senza-pesticids-sintetics.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-schweiz-ohne-synthetische-pestizide.json"@de, + "initiative-populaire-pour-une-suisse-libre-de-pesticides-de-synthese.json"@fr, + "iniziativa-popolare-per-una-svizzera-senza-pesticidi-sintetici.json"@it, + "iniziativa-dal-pievel-per-ina-svizra-senza-pesticids-sintetics.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Covid-19-Gesetz\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi COVID-19\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge COVID-19\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha COVID-19\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-e3@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Covid-19-Gesetz"@de, + "Loi COVID-19"@fr, + "Legge COVID-19"@it, + "Lescha COVID-19"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "covid-19-gesetz.csv"@de, + "loi-covid-19.csv"@fr, + "legge-covid-19.csv"@it, + "lescha-covid-19.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "covid-19-gesetz.json"@de, + "loi-covid-19.json"@fr, + "legge-covid-19.json"@it, + "lescha-covid-19.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"CO2-Gesetz\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi sur le CO2\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge sul CO2\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha davart il CO2\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-e4@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "CO2-Gesetz"@de, + "Loi sur le CO2"@fr, + "Legge sul CO2"@it, + "Lescha davart il CO2"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "co2-gesetz.csv"@de, + "loi-sur-le-co2.csv"@fr, + "legge-sul-co2.csv"@it, + "lescha-davart-il-co2.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "co2-gesetz.json"@de, + "loi-sur-le-co2.json"@fr, + "legge-sul-co2.json"@it, + "lescha-davart-il-co2.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über polizeiliche Massnahmen zur Bekämpfung von Terrorismus (PMT)\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale sur les mesures policières de lutte contre le terrorisme (MPT)\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale sulle misure di polizia per la lotta al terrorismo (MPT)\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart las mesiras polizialas per cumbatter cunter il terrorissem (MPT)\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-e5@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über polizeiliche Massnahmen zur Bekämpfung von Terrorismus (PMT)"@de, + "Loi fédérale sur les mesures policières de lutte contre le terrorisme (MPT)"@fr, + "Legge federale sulle misure di polizia per la lotta al terrorismo (MPT)"@it, + "Lescha federala davart las mesiras polizialas per cumbatter cunter il terrorissem (MPT)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-polizeiliche-massnahmen-zur-bekaempfung-von-terrorismus-pmt.csv"@de, + "loi-federale-sur-les-mesures-policieres-de-lutte-contre-le-terrorisme-mpt.csv"@fr, + "legge-federale-sulle-misure-di-polizia-per-la-lotta-al-terrorismo-mpt.csv"@it, + "lescha-federala-davart-las-mesiras-polizialas-per-cumbatter-cunter-il-terrorissem-mpt.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-polizeiliche-massnahmen-zur-bekaempfung-von-terrorismus-pmt.json"@de, + "loi-federale-sur-les-mesures-policieres-de-lutte-contre-le-terrorisme-mpt.json"@fr, + "legge-federale-sulle-misure-di-polizia-per-la-lotta-al-terrorismo-mpt.json"@it, + "lescha-federala-davart-las-mesiras-polizialas-per-cumbatter-cunter-il-terrorissem-mpt.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Iniziativa popolare cantonale «Per una caccia rispettosa della natura ed etica»\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Iniziativa chantunala dal pievel «Per ina chatscha etica che sa cumporta cun la natira»\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-06-13-k2@standeskanzlei-graubuenden" ; + dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-09-19T07:09:03+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»"@de, + "Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»"@fr, + "Iniziativa popolare cantonale «Per una caccia rispettosa della natura ed etica»"@it, + "Iniziativa chantunala dal pievel «Per ina chatscha etica che sa cumporta cun la natira»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.csv"@de, + "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.csv"@fr, + "iniziativa-popolare-cantonale-per-una-caccia-rispettosa-della-natura-ed-etica.csv"@it, + "iniziativa-chantunala-dal-pievel-per-ina-chatscha-etica-che-sa-cumporta-cun-la-natira.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.json"@de, + "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.json"@fr, + "iniziativa-popolare-cantonale-per-una-caccia-rispettosa-della-natura-ed-etica.json"@it, + "iniziativa-chantunala-dal-pievel-per-ina-chatscha-etica-che-sa-cumporta-cun-la-natira.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Löhne entlasten, Kapital gerecht besteuern»\", 26. September 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Alléger les impôts sur les salaires, imposer équitablement le capital»\", 26 septembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Sgravare i salari, tassare equamente il capitale»\", 26 settembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Distgargiar ils salaris, imponer taglias gistas sin il chapital»\", 26 da settember 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-09-26-e1@standeskanzlei-graubuenden" ; + dct:issued "2021-09-26T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-09-26T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-09-26T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Löhne entlasten, Kapital gerecht besteuern»"@de, + "Initiative populaire «Alléger les impôts sur les salaires, imposer équitablement le capital»"@fr, + "Iniziativa popolare «Sgravare i salari, tassare equamente il capitale»"@it, + "Iniziativa dal pievel «Distgargiar ils salaris, imponer taglias gistas sin il chapital»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-loehne-entlasten-kapital-gerecht-besteuern.csv"@de, + "initiative-populaire-alleger-les-impots-sur-les-salaires-imposer-equitablement-le-capital.csv"@fr, + "iniziativa-popolare-sgravare-i-salari-tassare-equamente-il-capitale.csv"@it, + "iniziativa-dal-pievel-distgargiar-ils-salaris-imponer-taglias-gistas-sin-il-chapital.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-loehne-entlasten-kapital-gerecht-besteuern.json"@de, + "initiative-populaire-alleger-les-impots-sur-les-salaires-imposer-equitablement-le-capital.json"@fr, + "iniziativa-popolare-sgravare-i-salari-tassare-equamente-il-capitale.json"@it, + "iniziativa-dal-pievel-distgargiar-ils-salaris-imponer-taglias-gistas-sin-il-chapital.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Ehe für alle\", 26. September 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Mariage pour tous\", 26 septembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Matrimonio per tutti\", 26 settembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lètg per tuts\", 26 da settember 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-09-26-e2@standeskanzlei-graubuenden" ; + dct:issued "2021-09-26T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-09-26T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-09-26T00:00:00"^^xsd:dateTime ] ; + dct:title "Ehe für alle"@de, + "Mariage pour tous"@fr, + "Matrimonio per tutti"@it, + "Lètg per tuts"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "ehe-fuer-alle.csv"@de, + "mariage-pour-tous.csv"@fr, + "matrimonio-per-tutti.csv"@it, + "letg-per-tuts.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "ehe-fuer-alle.json"@de, + "mariage-pour-tous.json"@fr, + "matrimonio-per-tutti.json"@it, + "letg-per-tuts.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Pflegeinitiative\", 28. November 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative sur les soins infirmiers\", 28 novembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa sulle cure infermieristiche\", 28 novembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa da tgira\", 28 da november 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2021-11-28-e1@standeskanzlei-graubuenden" ; + dct:issued "2021-11-28T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-11-28T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-11-28T00:00:00"^^xsd:dateTime ] ; + dct:title "Pflegeinitiative"@de, + "Initiative sur les soins infirmiers"@fr, + "Iniziativa sulle cure infermieristiche"@it, + "Iniziativa da tgira"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "pflegeinitiative.csv"@de, + "initiative-sur-les-soins-infirmiers.csv"@fr, + "iniziativa-sulle-cure-infermieristiche.csv"@it, + "iniziativa-da-tgira.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "pflegeinitiative.json"@de, + "initiative-sur-les-soins-infirmiers.json"@fr, + "iniziativa-sulle-cure-infermieristiche.json"@it, + "iniziativa-da-tgira.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative Kinder und Jugendliche ohne Tabakwerbung\", 13. Februar 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire enfants et jeunes sans publicité pour le tabac\", 13 février 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare Fanciulli e adolescenti senza pubblicità per il tabacco\", 13 febbraio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Uffants e giuvenils senza reclama da tubac»\", 13 da favrer 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-02-13-e2@standeskanzlei-graubuenden" ; + dct:issued "2022-02-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-02-16T08:27:25+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-02-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-02-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative Kinder und Jugendliche ohne Tabakwerbung"@de, + "Initiative populaire enfants et jeunes sans publicité pour le tabac"@fr, + "Iniziativa popolare Fanciulli e adolescenti senza pubblicità per il tabacco"@it, + "Iniziativa dal pievel «Uffants e giuvenils senza reclama da tubac»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-kinder-und-jugendliche-ohne-tabakwerbung.csv"@de, + "initiative-populaire-enfants-et-jeunes-sans-publicite-pour-le-tabac.csv"@fr, + "iniziativa-popolare-fanciulli-e-adolescenti-senza-pubblicita-per-il-tabacco.csv"@it, + "iniziativa-dal-pievel-uffants-e-giuvenils-senza-reclama-da-tubac.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-kinder-und-jugendliche-ohne-tabakwerbung.json"@de, + "initiative-populaire-enfants-et-jeunes-sans-publicite-pour-le-tabac.json"@fr, + "iniziativa-popolare-fanciulli-e-adolescenti-senza-pubblicita-per-il-tabacco.json"@it, + "iniziativa-dal-pievel-uffants-e-giuvenils-senza-reclama-da-tubac.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Stempelabgaben\", 13. Februar 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur les droits de timbre\", 13 février 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge federale sulle tasse di bollo\", 13 febbraio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart las taxas da bul\", 13 da favrer 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-02-13-e3@standeskanzlei-graubuenden" ; + dct:issued "2022-02-13T00:00:00"^^xsd:dateTime ; + dct:modified "2022-02-16T08:27:27+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-02-13T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-02-13T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über die Stempelabgaben"@de, + "Modification de la loi fédérale sur les droits de timbre"@fr, + "Modifica della legge federale sulle tasse di bollo"@it, + "Midada da la Lescha federala davart las taxas da bul"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-stempelabgaben.csv"@de, + "modification-de-la-loi-federale-sur-les-droits-de-timbre.csv"@fr, + "modifica-della-legge-federale-sulle-tasse-di-bollo.csv"@it, + "midada-da-la-lescha-federala-davart-las-taxas-da-bul.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-stempelabgaben.json"@de, + "modification-de-la-loi-federale-sur-les-droits-de-timbre.json"@fr, + "modifica-della-legge-federale-sulle-tasse-di-bollo.json"@it, + "midada-da-la-lescha-federala-davart-las-taxas-da-bul.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Transplantationsgesetzes\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi sur la transplantation\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge sui trapianti\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la Lescha da transplantaziun\", 15 da matg 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-05-15-e2@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T11:39:00+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Transplantationsgesetzes"@de, + "Modification de la loi sur la transplantation"@fr, + "Modifica della legge sui trapianti"@it, + "Midada da la Lescha da transplantaziun"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-transplantationsgesetzes.csv"@de, + "modification-de-la-loi-sur-la-transplantation.csv"@fr, + "modifica-della-legge-sui-trapianti.csv"@it, + "midada-da-la-lescha-da-transplantaziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-transplantationsgesetzes.json"@de, + "modification-de-la-loi-sur-la-transplantation.json"@fr, + "modifica-della-legge-sui-trapianti.json"@it, + "midada-da-la-lescha-da-transplantaziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Übernahme der EU-Verordnung über die Europäische Grenz- und Küstenwache (Weiterentwicklung des Schengen- Besitzstands)\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Reprise du règlement de l’UE relatif au corps européen de garde-frontières et de garde-côtes (développement de l’acquis de Schengen)\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Recepimento del regolamento UE relativo alla guardia di frontiera e costiera europea (Sviluppo dell’acquis di Schengen)\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Surpigliada da l’Ordinaziun da la UE davart la Guardia europeica da cunfin e da costa(svilup da l’acquist da Schengen)\", 15 da matg 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-05-15-e3@standeskanzlei-graubuenden" ; + dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; + dct:modified "2022-05-15T11:38:54+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; + dct:title "Übernahme der EU-Verordnung über die Europäische Grenz- und Küstenwache (Weiterentwicklung des Schengen- Besitzstands)"@de, + "Reprise du règlement de l’UE relatif au corps européen de garde-frontières et de garde-côtes (développement de l’acquis de Schengen)"@fr, + "Recepimento del regolamento UE relativo alla guardia di frontiera e costiera europea (Sviluppo dell’acquis di Schengen)"@it, + "Surpigliada da l’Ordinaziun da la UE davart la Guardia europeica da cunfin e da costa(svilup da l’acquist da Schengen)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "ubernahme-der-eu-verordnung-ueber-die-europaeische-grenz-und-kuestenwache-weiterentwicklung-des-schengen-besitzstands.csv"@de, + "reprise-du-reglement-de-l-ue-relatif-au-corps-europeen-de-garde-frontieres-et-de-garde-cotes-developpement-de-l-acquis-de-schengen.csv"@fr, + "recepimento-del-regolamento-ue-relativo-alla-guardia-di-frontiera-e-costiera-europea-sviluppo-dell-acquis-di-schengen.csv"@it, + "surpigliada-da-l-ordinaziun-da-la-ue-davart-la-guardia-europeica-da-cunfin-e-da-costa-svilup-da-l-acquist-da-schengen.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "ubernahme-der-eu-verordnung-ueber-die-europaeische-grenz-und-kuestenwache-weiterentwicklung-des-schengen-besitzstands.json"@de, + "reprise-du-reglement-de-l-ue-relatif-au-corps-europeen-de-garde-frontieres-et-de-garde-cotes-developpement-de-l-acquis-de-schengen.json"@fr, + "recepimento-del-regolamento-ue-relativo-alla-guardia-di-frontiera-e-costiera-europea-sviluppo-dell-acquis-di-schengen.json"@it, + "surpigliada-da-l-ordinaziun-da-la-ue-davart-la-guardia-europeica-da-cunfin-e-da-costa-svilup-da-l-acquist-da-schengen.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Financement additionnel de l’AVS par le biais d’un relèvement de la TVA\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-09-25-e2@standeskanzlei-graubuenden" ; + dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-09-25T10:55:05+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer"@de, + "Financement additionnel de l’AVS par le biais d’un relèvement de la TVA"@fr, + "Finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto"@it, + "Finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.csv"@de, + "financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-tva.csv"@fr, + "finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.csv"@it, + "finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.json"@de, + "financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-tva.json"@fr, + "finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.json"@it, + "finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Alters- und Hinterlassenenversicherung (AHV 21)\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur l’assurance-vieillesse et survivants (AVS 21)\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge federale sull’assicurazione per la vecchiaia e per i superstiti (AVS 21)\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart l'assicuranza per vegls e survivents (AVS 21)\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-09-25-e3@standeskanzlei-graubuenden" ; + dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-09-25T10:55:06+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über die Alters- und Hinterlassenenversicherung (AHV 21)"@de, + "Modification de la loi fédérale sur l’assurance-vieillesse et survivants (AVS 21)"@fr, + "Modifica della legge federale sull’assicurazione per la vecchiaia e per i superstiti (AVS 21)"@it, + "Midada da la Lescha federala davart l'assicuranza per vegls e survivents (AVS 21)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-alters-und-hinterlassenenversicherung-ahv-21.csv"@de, + "modification-de-la-loi-federale-sur-l-assurance-vieillesse-et-survivants-avs-21.csv"@fr, + "modifica-della-legge-federale-sull-assicurazione-per-la-vecchiaia-e-per-i-superstiti-avs-21.csv"@it, + "midada-da-la-lescha-federala-davart-l-assicuranza-per-vegls-e-survivents-avs-21.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-alters-und-hinterlassenenversicherung-ahv-21.json"@de, + "modification-de-la-loi-federale-sur-l-assurance-vieillesse-et-survivants-avs-21.json"@fr, + "modifica-della-legge-federale-sull-assicurazione-per-la-vecchiaia-e-per-i-superstiti-avs-21.json"@it, + "midada-da-la-lescha-federala-davart-l-assicuranza-per-vegls-e-survivents-avs-21.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Verrechnungssteuer\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur l’impôt anticipé\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge federale sull’imposta preventiva\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart la taglia anticipada\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2022-09-25-e4@standeskanzlei-graubuenden" ; + dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-09-25T10:55:07+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über die Verrechnungssteuer"@de, + "Modification de la loi fédérale sur l’impôt anticipé"@fr, + "Modifica della legge federale sull’imposta preventiva"@it, + "Midada da la Lescha federala davart la taglia anticipada"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-verrechnungssteuer.csv"@de, + "modification-de-la-loi-federale-sur-l-impot-anticipe.csv"@fr, + "modifica-della-legge-federale-sull-imposta-preventiva.csv"@it, + "midada-da-la-lescha-federala-davart-la-taglia-anticipada.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-verrechnungssteuer.json"@de, + "modification-de-la-loi-federale-sur-l-impot-anticipe.json"@fr, + "modifica-della-legge-federale-sull-imposta-preventiva.json"@it, + "midada-da-la-lescha-federala-davart-la-taglia-anticipada.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Realisierung Fachhochschulzentrum Graubünden\", 12. März 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Realisierung Fachhochschulzentrum Graubünden\", 12 mars 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Realizzazione del centro della scuola universitaria professionale dei Grigioni\", 12 marzo 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Realisaziun dal Center da scola auta spezialisada dal Grischun\", 12 da mars 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2023-03-12-k1@standeskanzlei-graubuenden" ; + dct:issued "2023-03-12T00:00:00"^^xsd:dateTime ; + dct:modified "2023-03-12T11:42:59+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2023-03-12T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2023-03-12T00:00:00"^^xsd:dateTime ] ; + dct:title "Realisierung Fachhochschulzentrum Graubünden"@de, + "Realisierung Fachhochschulzentrum Graubünden"@fr, + "Realizzazione del centro della scuola universitaria professionale dei Grigioni"@it, + "Realisaziun dal Center da scola auta spezialisada dal Grischun"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "realisierung-fachhochschulzentrum-graubuenden.csv"@de, + "realisierung-fachhochschulzentrum-graubuenden.csv"@fr, + "realizzazione-del-centro-della-scuola-universitaria-professionale-dei-grigioni.csv"@it, + "realisaziun-dal-center-da-scola-auta-spezialisada-dal-grischun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "realisierung-fachhochschulzentrum-graubuenden.json"@de, + "realisierung-fachhochschulzentrum-graubuenden.json"@fr, + "realizzazione-del-centro-della-scuola-universitaria-professionale-dei-grigioni.json"@it, + "realisaziun-dal-center-da-scola-auta-spezialisada-dal-grischun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Ziele im Klimaschutz, die Innovation und die Stärkung der Energiesicherheit\", 18. Juni 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale sur les objectifs en matière de protection du climat, sur l’innovation et sur le renforcement de la sécurité énergétique\", 18 juin 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale sugli obiettivi in materia di protezione del clima, l’innovazione e il rafforzamento della sicurezza energetica\", 18 giugno 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart las finamiras en la protecziun dal clima, davart l'innovaziun e davart il rinforzament da la segirezza energetica\", 18 da zercladur 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2023-06-18-e2@standeskanzlei-graubuenden" ; + dct:issued "2023-06-18T00:00:00"^^xsd:dateTime ; + dct:modified "2023-06-21T14:56:35+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2023-06-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2023-06-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über die Ziele im Klimaschutz, die Innovation und die Stärkung der Energiesicherheit"@de, + "Loi fédérale sur les objectifs en matière de protection du climat, sur l’innovation et sur le renforcement de la sécurité énergétique"@fr, + "Legge federale sugli obiettivi in materia di protezione del clima, l’innovazione e il rafforzamento della sicurezza energetica"@it, + "Lescha federala davart las finamiras en la protecziun dal clima, davart l'innovaziun e davart il rinforzament da la segirezza energetica"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-ziele-im-klimaschutz-die-innovation-und-die-staerkung-der-energiesicherheit.csv"@de, + "loi-federale-sur-les-objectifs-en-matiere-de-protection-du-climat-sur-l-innovation-et-sur-le-renforcement-de-la-securite-energetique.csv"@fr, + "legge-federale-sugli-obiettivi-in-materia-di-protezione-del-clima-l-innovazione-e-il-rafforzamento-della-sicurezza-energetica.csv"@it, + "lescha-federala-davart-las-finamiras-en-la-protecziun-dal-clima-davart-l-innovaziun-e-davart-il-rinforzament-da-la-segirezza-energetica.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-ziele-im-klimaschutz-die-innovation-und-die-staerkung-der-energiesicherheit.json"@de, + "loi-federale-sur-les-objectifs-en-matiere-de-protection-du-climat-sur-l-innovation-et-sur-le-renforcement-de-la-securite-energetique.json"@fr, + "legge-federale-sugli-obiettivi-in-materia-di-protezione-del-clima-l-innovazione-e-il-rafforzamento-della-sicurezza-energetica.json"@it, + "lescha-federala-davart-las-finamiras-en-la-protecziun-dal-clima-davart-l-innovaziun-e-davart-il-rinforzament-da-la-segirezza-energetica.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung vom 16. Dezember 2022 des Covid-19-Gesetzes\", 18. Juni 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification du 16 décembre 2022 de la loi COVID-19\", 18 juin 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica del 16 dicembre 2022 della legge COVID-19\", 18 giugno 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada dals 16 da december 2022 da la Lescha COVID-19\", 18 da zercladur 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-2023-06-18-e3@standeskanzlei-graubuenden" ; + dct:issued "2023-06-18T00:00:00"^^xsd:dateTime ; + dct:modified "2023-06-21T14:56:37+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2023-06-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2023-06-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung vom 16. Dezember 2022 des Covid-19-Gesetzes"@de, + "Modification du 16 décembre 2022 de la loi COVID-19"@fr, + "Modifica del 16 dicembre 2022 della legge COVID-19"@it, + "Midada dals 16 da december 2022 da la Lescha COVID-19"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-vom-16-dezember-2022-des-covid-19-gesetzes.csv"@de, + "modification-du-16-decembre-2022-de-la-loi-covid-19.csv"@fr, + "modifica-del-16-dicembre-2022-della-legge-covid-19.csv"@it, + "midada-dals-16-da-december-2022-da-la-lescha-covid-19.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-vom-16-dezember-2022-des-covid-19-gesetzes.json"@de, + "modification-du-16-decembre-2022-de-la-loi-covid-19.json"@fr, + "modifica-del-16-dicembre-2022-della-legge-covid-19.json"@it, + "midada-dals-16-da-december-2022-da-la-lescha-covid-19.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Asylgesetzes (AsylG)\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi sur l’asile (LAsi)\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge sull'asilo (LAsi)\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la Lescha d’asil (LAsil)\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-anderung-des-asylgesetzes-asylg@standeskanzlei-graubuenden" ; + dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Asylgesetzes (AsylG)"@de, + "Modification de la loi sur l’asile (LAsi)"@fr, + "Modifica della legge sull'asilo (LAsi)"@it, + "Midada da la Lescha d’asil (LAsil)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-asylgesetzes-asylg.csv"@de, + "modification-de-la-loi-sur-l-asile-lasi.csv"@fr, + "modifica-della-legge-sull-asilo-lasi.csv"@it, + "midada-da-la-lescha-d-asil-lasil.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-asylgesetzes-asylg.json"@de, + "modification-de-la-loi-sur-l-asile-lasi.json"@fr, + "modifica-della-legge-sull-asilo-lasi.json"@it, + "midada-da-la-lescha-d-asil-lasil.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24. November 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 novembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 novembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 da november 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-anderung-des-bundesgesetzes-uber-die-abgabe-fur-die-benutzung-von-nationalstrassen-nationalstrassenabgabegesetz@standeskanzlei-graubuenden" ; + dct:issued "2013-11-24T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-11-24T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-11-24T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@de, + "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@fr, + "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@it, + "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@de, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@fr, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@it, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@de, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@fr, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@it, + "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-anderung-des-bundesgesetzes-uber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops@standeskanzlei-graubuenden" ; + dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@de, + "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@fr, + "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@it, + "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@de, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@fr, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@it, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@de, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@fr, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@it, + "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über den Strassentransitverkehr im Alpengebiet (Sanierung Gotthard-Strassentunnel)\", 28. Februar 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur le transit routier dans la région alpine (Réfection du tunnel routier du Gothard)\", 28 février 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Modifica della legge federale concernente il transito stradale nella regione alpina (Risanamento della galleria autostradale del San Gottardo)\", 28 febbraio 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Midada da la lescha federala davart il traffic da transit sin via en il territori da las Alps (sanaziun dal tunnel da via tras il Gottard)\", 28 da favrer 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel@standeskanzlei-graubuenden" ; + dct:issued "2016-02-28T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-02-28T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-02-28T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung des Bundesgesetzes über den Strassentransitverkehr im Alpengebiet (Sanierung Gotthard-Strassentunnel)"@de, + "Modification de la loi fédérale sur le transit routier dans la région alpine (Réfection du tunnel routier du Gothard)"@fr, + "Modifica della legge federale concernente il transito stradale nella regione alpina (Risanamento della galleria autostradale del San Gottardo)"@it, + "Midada da la lescha federala davart il traffic da transit sin via en il territori da las Alps (sanaziun dal tunnel da via tras il Gottard)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel.csv"@de, + "modification-de-la-loi-federale-sur-le-transit-routier-dans-la-region-alpine-refection-du-tunnel-routier-du-gothard.csv"@fr, + "modifica-della-legge-federale-concernente-il-transito-stradale-nella-regione-alpina-risanamento-della-galleria-autostradale-del-san-gottardo.csv"@it, + "midada-da-la-lescha-federala-davart-il-traffic-da-transit-sin-via-en-il-territori-da-las-alps-sanaziun-dal-tunnel-da-via-tras-il-gottard.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel.json"@de, + "modification-de-la-loi-federale-sur-le-transit-routier-dans-la-region-alpine-refection-du-tunnel-routier-du-gothard.json"@fr, + "modifica-della-legge-federale-concernente-il-transito-stradale-nella-regione-alpina-risanamento-della-galleria-autostradale-del-san-gottardo.json"@it, + "midada-da-la-lescha-federala-davart-il-traffic-da-transit-sin-via-en-il-territori-da-las-alps-sanaziun-dal-tunnel-da-via-tras-il-gottard.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung vom 28. September 2012 des Asylgesetzes\", 9. Juni 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 juin 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 giugno 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 da zercladur 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-anderung-vom-28.-september-2012-des-asylgesetzes@standeskanzlei-graubuenden" ; + dct:issued "2013-06-09T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-06-09T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-06-09T00:00:00"^^xsd:dateTime ] ; + dct:title "Änderung vom 28. September 2012 des Asylgesetzes"@de, + "Änderung vom 28. September 2012 des Asylgesetzes"@fr, + "Änderung vom 28. September 2012 des Asylgesetzes"@it, + "Änderung vom 28. September 2012 des Asylgesetzes"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "anderung-vom-28-september-2012-des-asylgesetzes.csv"@de, + "anderung-vom-28-september-2012-des-asylgesetzes.csv"@fr, + "anderung-vom-28-september-2012-des-asylgesetzes.csv"@it, + "anderung-vom-28-september-2012-des-asylgesetzes.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "anderung-vom-28-september-2012-des-asylgesetzes.json"@de, + "anderung-vom-28-september-2012-des-asylgesetzes.json"@fr, + "anderung-vom-28-september-2012-des-asylgesetzes.json"@it, + "anderung-vom-28-september-2012-des-asylgesetzes.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Änderung der Verfassungsbestimmung zur Fortpflanzungsmedizin und Gentechnologie im Humanbereich (Präimplantationsdiagnostik)\", 14. Juni 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral du 12 décembre 2014 concernant la modification de l'article constitutionnel relatif à la procréation médicalement assistée et au génie génétique dans le domaine humain (diagnostic préimplantatoire)\", 14 juin 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale del 12 dicembre 2014 concernente la modifica dell'articolo costituzionale relativo alla medicina riproduttiva e all'ingegneria genetica in ambito umano (diagnosi preimpianto)\", 14 giugno 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart la midada da l’artitgel constituziunal concernent la medischina da reproducziun e la tecnologia da gens sin il sectur uman (diagnosticada preimplantaziun)\", 14 da zercladur 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-uber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praimplantationsdiagnostik@standeskanzlei-graubuenden" ; + dct:issued "2015-06-14T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2015-06-14T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2015-06-14T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die Änderung der Verfassungsbestimmung zur Fortpflanzungsmedizin und Gentechnologie im Humanbereich (Präimplantationsdiagnostik)"@de, + "Arrêté fédéral du 12 décembre 2014 concernant la modification de l'article constitutionnel relatif à la procréation médicalement assistée et au génie génétique dans le domaine humain (diagnostic préimplantatoire)"@fr, + "Decreto federale del 12 dicembre 2014 concernente la modifica dell'articolo costituzionale relativo alla medicina riproduttiva e all'ingegneria genetica in ambito umano (diagnosi preimpianto)"@it, + "Conclus federal davart la midada da l’artitgel constituziunal concernent la medischina da reproducziun e la tecnologia da gens sin il sectur uman (diagnosticada preimplantaziun)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praeimplantationsdiagnostik.csv"@de, + "arrete-federal-du-12-decembre-2014-concernant-la-modification-de-l-article-constitutionnel-relatif-a-la-procreation-medicalement-assistee-et-au-genie-genetique-dans-le-domaine-humain-diagnostic-preimplantatoire.csv"@fr, + "decreto-federale-del-12-dicembre-2014-concernente-la-modifica-dell-articolo-costituzionale-relativo-alla-medicina-riproduttiva-e-all-ingegneria-genetica-in-ambito-umano-diagnosi-preimpianto.csv"@it, + "conclus-federal-davart-la-midada-da-l-artitgel-constituziunal-concernent-la-medischina-da-reproducziun-e-la-tecnologia-da-gens-sin-il-sectur-uman-diagnosticada-preimplantaziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praeimplantationsdiagnostik.json"@de, + "arrete-federal-du-12-decembre-2014-concernant-la-modification-de-l-article-constitutionnel-relatif-a-la-procreation-medicalement-assistee-et-au-genie-genetique-dans-le-domaine-humain-diagnostic-preimplantatoire.json"@fr, + "decreto-federale-del-12-dicembre-2014-concernente-la-modifica-dell-articolo-costituzionale-relativo-alla-medicina-riproduttiva-e-all-ingegneria-genetica-in-ambito-umano-diagnosi-preimpianto.json"@it, + "conclus-federal-davart-la-midada-da-l-artitgel-constituziunal-concernent-la-medischina-da-reproducziun-e-la-tecnologia-da-gens-sin-il-sectur-uman-diagnosticada-preimplantaziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Ernährungssicherheit (direkter Gegenentwurf zur zurückgezogenen Volksinitiative «Für Ernährungssicherheit»)\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral sur la sécurité alimentaire (contre-projet direct à l’initiative populaire « Pour la sécurité alimentaire », qui a été retirée)\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale sulla sicurezza alimentare (controprogetto diretto all’iniziativa popolare «Per la sicurezza alimentare», ritirata)\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart la segirezza alimentara (cuntraproposta directa a l’iniziativa dal pievel «Per la segirezza alimentara» ch’è vegnida retratga)\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit@standeskanzlei-graubuenden" ; + dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die Ernährungssicherheit (direkter Gegenentwurf zur zurückgezogenen Volksinitiative «Für Ernährungssicherheit»)"@de, + "Arrêté fédéral sur la sécurité alimentaire (contre-projet direct à l’initiative populaire « Pour la sécurité alimentaire », qui a été retirée)"@fr, + "Decreto federale sulla sicurezza alimentare (controprogetto diretto all’iniziativa popolare «Per la sicurezza alimentare», ritirata)"@it, + "Conclus federal davart la segirezza alimentara (cuntraproposta directa a l’iniziativa dal pievel «Per la segirezza alimentara» ch’è vegnida retratga)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit.csv"@de, + "arrete-federal-sur-la-securite-alimentaire-contre-projet-direct-a-l-initiative-populaire-pour-la-securite-alimentaire-qui-a-ete-retiree.csv"@fr, + "decreto-federale-sulla-sicurezza-alimentare-controprogetto-diretto-all-iniziativa-popolare-per-la-sicurezza-alimentare-ritirata.csv"@it, + "conclus-federal-davart-la-segirezza-alimentara-cuntraproposta-directa-a-l-iniziativa-dal-pievel-per-la-segirezza-alimentara-ch-e-vegnida-retratga.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit.json"@de, + "arrete-federal-sur-la-securite-alimentaire-contre-projet-direct-a-l-initiative-populaire-pour-la-securite-alimentaire-qui-a-ete-retiree.json"@fr, + "decreto-federale-sulla-sicurezza-alimentare-controprogetto-diretto-all-iniziativa-popolare-per-la-sicurezza-alimentare-ritirata.json"@it, + "conclus-federal-davart-la-segirezza-alimentara-cuntraproposta-directa-a-l-iniziativa-dal-pievel-per-la-segirezza-alimentara-ch-e-vegnida-retratga.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die neue Finanzordnung 2021\", 4. März 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral concernant le nouveau régime financier 2021\", 4 mars 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale concernente il nuovo ordinamento finanziario 2021\", 4 marzo 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart il nov urden da finanzas 2021\", 4 da mars 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-ueber-die-neue-finanzordnung-2021@standeskanzlei-graubuenden" ; + dct:issued "2018-03-04T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-03-04T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-03-04T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die neue Finanzordnung 2021"@de, + "Arrêté fédéral concernant le nouveau régime financier 2021"@fr, + "Decreto federale concernente il nuovo ordinamento finanziario 2021"@it, + "Conclus federal davart il nov urden da finanzas 2021"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-neue-finanzordnung-2021.csv"@de, + "arrete-federal-concernant-le-nouveau-regime-financier-2021.csv"@fr, + "decreto-federale-concernente-il-nuovo-ordinamento-finanziario-2021.csv"@it, + "conclus-federal-davart-il-nov-urden-da-finanzas-2021.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-neue-finanzordnung-2021.json"@de, + "arrete-federal-concernant-le-nouveau-regime-financier-2021.json"@fr, + "decreto-federale-concernente-il-nuovo-ordinamento-finanziario-2021.json"@it, + "conclus-federal-davart-il-nov-urden-da-finanzas-2021.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Schaffung eines Fonds für die Nationalstrassen und den Agglomerationsverkehr (NAF)\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral sur la création d’un fonds pour les routes nationales et pour le trafic d’agglomération (FORTA)\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale concernente la creazione di un fondo per le strade nazionali e il traffico d’agglomerato (FOSTRA)\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart la creaziun d’in fond per las vias naziunalas ed il traffic d’aglomeraziun (NAF)\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf@standeskanzlei-graubuenden" ; + dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die Schaffung eines Fonds für die Nationalstrassen und den Agglomerationsverkehr (NAF)"@de, + "Arrêté fédéral sur la création d’un fonds pour les routes nationales et pour le trafic d’agglomération (FORTA)"@fr, + "Decreto federale concernente la creazione di un fondo per le strade nazionali e il traffico d’agglomerato (FOSTRA)"@it, + "Conclus federal davart la creaziun d’in fond per las vias naziunalas ed il traffic d’aglomeraziun (NAF)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf.csv"@de, + "arrete-federal-sur-la-creation-d-un-fonds-pour-les-routes-nationales-et-pour-le-trafic-d-agglomeration-forta.csv"@fr, + "decreto-federale-concernente-la-creazione-di-un-fondo-per-le-strade-nazionali-e-il-traffico-d-agglomerato-fostra.csv"@it, + "conclus-federal-davart-la-creaziun-d-in-fond-per-las-vias-naziunalas-ed-il-traffic-d-aglomeraziun-naf.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf.json"@de, + "arrete-federal-sur-la-creation-d-un-fonds-pour-les-routes-nationales-et-pour-le-trafic-d-agglomeration-forta.json"@fr, + "decreto-federale-concernente-la-creazione-di-un-fondo-per-le-strade-nazionali-e-il-traffico-d-agglomerato-fostra.json"@it, + "conclus-federal-davart-la-creaziun-d-in-fond-per-las-vias-naziunalas-ed-il-traffic-d-aglomeraziun-naf.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Velowege sowie die Fuss- und Wanderwege\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral concernant les voies cyclables et les chemins et sentiers pédestres\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale concernente le vie ciclabili, i sentieri e i percorsi pedonali\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart las vias da velo sco er las vias e sendas da viandar\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege@standeskanzlei-graubuenden" ; + dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die Velowege sowie die Fuss- und Wanderwege"@de, + "Arrêté fédéral concernant les voies cyclables et les chemins et sentiers pédestres"@fr, + "Decreto federale concernente le vie ciclabili, i sentieri e i percorsi pedonali"@it, + "Conclus federal davart las vias da velo sco er las vias e sendas da viandar"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege.csv"@de, + "arrete-federal-concernant-les-voies-cyclables-et-les-chemins-et-sentiers-pedestres.csv"@fr, + "decreto-federale-concernente-le-vie-ciclabili-i-sentieri-e-i-percorsi-pedonali.csv"@it, + "conclus-federal-davart-las-vias-da-velo-sco-er-las-vias-e-sendas-da-viandar.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege.json"@de, + "arrete-federal-concernant-les-voies-cyclables-et-les-chemins-et-sentiers-pedestres.json"@fr, + "decreto-federale-concernente-le-vie-ciclabili-i-sentieri-e-i-percorsi-pedonali.json"@it, + "conclus-federal-davart-las-vias-da-velo-sco-er-las-vias-e-sendas-da-viandar.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Arrêté fédéral sur le financement additionnel de l’AVS par le biais d’un relèvement de la taxe sur la valeur ajoutée\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Decreto federale sul finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Conclus federal davart la finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer@standeskanzlei-graubuenden" ; + dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss über die Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer"@de, + "Arrêté fédéral sur le financement additionnel de l’AVS par le biais d’un relèvement de la taxe sur la valeur ajoutée"@fr, + "Decreto federale sul finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto"@it, + "Conclus federal davart la finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.csv"@de, + "arrete-federal-sur-le-financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-taxe-sur-la-valeur-ajoutee.csv"@fr, + "decreto-federale-sul-finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.csv"@it, + "conclus-federal-davart-la-finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.json"@de, + "arrete-federal-sur-le-financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-taxe-sur-la-valeur-ajoutee.json"@fr, + "decreto-federale-sul-finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.json"@it, + "conclus-federal-davart-la-finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3. März 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 mars 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 marzo 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 da mars 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesbeschluss-vom-15.-juni-2012-uber-die-familienpolitik@standeskanzlei-graubuenden" ; + dct:issued "2013-03-03T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-03-03T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-03-03T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@de, + "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@fr, + "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@it, + "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@de, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@fr, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@it, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@de, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@fr, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@it, + "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 da matg 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-uber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz@standeskanzlei-graubuenden" ; + dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@de, + "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@fr, + "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@it, + "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@de, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@fr, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@it, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@de, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@fr, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@it, + "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-uber-die-bekampfung-ubertragbarer-krankheiten-des-menschen-epidemiengesetz@standeskanzlei-graubuenden" ; + dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@de, + "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@fr, + "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@it, + "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@de, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@fr, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@it, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@de, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@fr, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@it, + "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über den Nachrichtendienst (Nachrichtendienstgesetz, NDG)\", 25. September 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale sur le renseignement (LRens)\", 25 septembre 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale sulle attività informative (LAIn)\", 25 settembre 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart il servetsch d'infurmaziun (LSI)\", 25 da settember 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg@standeskanzlei-graubuenden" ; + dct:issued "2016-09-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-09-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-09-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über den Nachrichtendienst (Nachrichtendienstgesetz, NDG)"@de, + "Loi fédérale sur le renseignement (LRens)"@fr, + "Legge federale sulle attività informative (LAIn)"@it, + "Lescha federala davart il servetsch d'infurmaziun (LSI)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg.csv"@de, + "loi-federale-sur-le-renseignement-lrens.csv"@fr, + "legge-federale-sulle-attivita-informative-lain.csv"@it, + "lescha-federala-davart-il-servetsch-d-infurmaziun-lsi.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg.json"@de, + "loi-federale-sur-le-renseignement-lrens.json"@fr, + "legge-federale-sulle-attivita-informative-lain.json"@it, + "lescha-federala-davart-il-servetsch-d-infurmaziun-lsi.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Reform der Altersvorsorge 2020\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale sur la réforme de la prévoyance vieillesse 2020\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale sulla riforma della previdenza per la vecchiaia 2020\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart la refurma da la prevenziun da vegliadetgna 2020\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-ueber-die-reform-der-altersvorsorge-2020@standeskanzlei-graubuenden" ; + dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über die Reform der Altersvorsorge 2020"@de, + "Loi fédérale sur la réforme de la prévoyance vieillesse 2020"@fr, + "Legge federale sulla riforma della previdenza per la vecchiaia 2020"@it, + "Lescha federala davart la refurma da la prevenziun da vegliadetgna 2020"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-reform-der-altersvorsorge-2020.csv"@de, + "loi-federale-sur-la-reforme-de-la-prevoyance-vieillesse-2020.csv"@fr, + "legge-federale-sulla-riforma-della-previdenza-per-la-vecchiaia-2020.csv"@it, + "lescha-federala-davart-la-refurma-da-la-prevenziun-da-vegliadetgna-2020.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-reform-der-altersvorsorge-2020.json"@de, + "loi-federale-sur-la-reforme-de-la-prevoyance-vieillesse-2020.json"@fr, + "legge-federale-sulla-riforma-della-previdenza-per-la-vecchiaia-2020.json"@it, + "lescha-federala-davart-la-refurma-da-la-prevenziun-da-vegliadetgna-2020.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Steuerreform und die AHV-Finanzierung (STAF)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale relative à la réforme fiscale et au financement de l’AVS (RFFA)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale concernente la riforma fiscale e il finanziamento dell’AVS (RFFA)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart la refurma fiscala e la finanziaziun da la AVS (RFFA)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf@standeskanzlei-graubuenden" ; + dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über die Steuerreform und die AHV-Finanzierung (STAF)"@de, + "Loi fédérale relative à la réforme fiscale et au financement de l’AVS (RFFA)"@fr, + "Legge federale concernente la riforma fiscale e il finanziamento dell’AVS (RFFA)"@it, + "Lescha federala davart la refurma fiscala e la finanziaziun da la AVS (RFFA)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf.csv"@de, + "loi-federale-relative-a-la-reforme-fiscale-et-au-financement-de-l-avs-rffa.csv"@fr, + "legge-federale-concernente-la-riforma-fiscale-e-il-finanziamento-dell-avs-rffa.csv"@it, + "lescha-federala-davart-la-refurma-fiscala-e-la-finanziaziun-da-la-avs-rffa.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf.json"@de, + "loi-federale-relative-a-la-reforme-fiscale-et-au-financement-de-l-avs-rffa.json"@fr, + "legge-federale-concernente-la-riforma-fiscale-e-il-finanziamento-dell-avs-rffa.json"@it, + "lescha-federala-davart-la-refurma-fiscala-e-la-finanziaziun-da-la-avs-rffa.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über Geldspiele (Geldspielgesetz, BGS)\", 10. Juni 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi fédérale sur les jeux d’argent (LJAr)\", 10 juin 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge federale sui giochi in denaro (LGD)\", 10 giugno 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha federala davart gieus per daners (Lescha da gieus per daners)\", 10 da zercladur 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs@standeskanzlei-graubuenden" ; + dct:issued "2018-06-10T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-06-10T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-06-10T00:00:00"^^xsd:dateTime ] ; + dct:title "Bundesgesetz über Geldspiele (Geldspielgesetz, BGS)"@de, + "Loi fédérale sur les jeux d’argent (LJAr)"@fr, + "Legge federale sui giochi in denaro (LGD)"@it, + "Lescha federala davart gieus per daners (Lescha da gieus per daners)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs.csv"@de, + "loi-federale-sur-les-jeux-d-argent-ljar.csv"@fr, + "legge-federale-sui-giochi-in-denaro-lgd.csv"@it, + "lescha-federala-davart-gieus-per-daners-lescha-da-gieus-per-daners.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs.json"@de, + "loi-federale-sur-les-jeux-d-argent-ljar.json"@fr, + "legge-federale-sui-giochi-in-denaro-lgd.json"@it, + "lescha-federala-davart-gieus-per-daners-lescha-da-gieus-per-daners.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)\", 8. März 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)\", 8 mars 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Nuovo edificio complementare con mensa e mediateca per la Scuola cantonale grigione, nonché con rifugi per beni culturali per l'Ufficio della cultura (credito d'impegno di 27 milioni di franchi)\", 8 marzo 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Nov edifizi cumplementar da la mensa e da la mediateca per la scola chantunala sco er locals per la protecziun dals bains culturals per l'uffizi da cultura (credit d'impegn da 27 milliuns francs)\", 8 da mars 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-erganzungsneubau-mensa-und-mediothek-fur-die-kantonsschule-sowie-kulturguterschutzraume-fur-das-amt-fur-kultur-verpflichtungskredit-von-27-millionen-franken@standeskanzlei-graubuenden" ; + dct:issued "2015-03-08T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2015-03-08T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2015-03-08T00:00:00"^^xsd:dateTime ] ; + dct:title "Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)"@de, + "Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)"@fr, + "Nuovo edificio complementare con mensa e mediateca per la Scuola cantonale grigione, nonché con rifugi per beni culturali per l'Ufficio della cultura (credito d'impegno di 27 milioni di franchi)"@it, + "Nov edifizi cumplementar da la mensa e da la mediateca per la scola chantunala sco er locals per la protecziun dals bains culturals per l'uffizi da cultura (credit d'impegn da 27 milliuns francs)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.csv"@de, + "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.csv"@fr, + "nuovo-edificio-complementare-con-mensa-e-mediateca-per-la-scuola-cantonale-grigione-nonche-con-rifugi-per-beni-culturali-per-l-ufficio-della-cultura-credito-d-impegno-di-27-milioni-di-franchi.csv"@it, + "nov-edifizi-cumplementar-da-la-mensa-e-da-la-mediateca-per-la-scola-chantunala-sco-er-locals-per-la-protecziun-dals-bains-culturals-per-l-uffizi-da-cultura-credit-d-impegn-da-27-milliuns-francs.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.json"@de, + "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.json"@fr, + "nuovo-edificio-complementare-con-mensa-e-mediateca-per-la-scuola-cantonale-grigione-nonche-con-rifugi-per-beni-culturali-per-l-ufficio-della-cultura-credito-d-impegno-di-27-milioni-di-franchi.json"@it, + "nov-edifizi-cumplementar-da-la-mensa-e-da-la-mediateca-per-la-scola-chantunala-sco-er-locals-per-la-protecziun-dals-bains-culturals-per-l-uffizi-da-cultura-credit-d-impegn-da-27-milliuns-francs.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Erneuerung Tagungszentrum Plantahof, Landquart\", 9. Februar 2020, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Erneuerung Tagungszentrum Plantahof, Landquart\", 9 février 2020, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Rinnovo del centro convegni del Plantahof a Landquart\", 9 febbraio 2020, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Renovaziun dal center da dietas Plantahof a Landquart\", 9 da favrer 2020, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-erneuerung-tagungszentrum-plantahof-landquart@standeskanzlei-graubuenden" ; + dct:issued "2020-02-09T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2020-02-09T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2020-02-09T00:00:00"^^xsd:dateTime ] ; + dct:title "Erneuerung Tagungszentrum Plantahof, Landquart"@de, + "Erneuerung Tagungszentrum Plantahof, Landquart"@fr, + "Rinnovo del centro convegni del Plantahof a Landquart"@it, + "Renovaziun dal center da dietas Plantahof a Landquart"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "erneuerung-tagungszentrum-plantahof-landquart.csv"@de, + "erneuerung-tagungszentrum-plantahof-landquart.csv"@fr, + "rinnovo-del-centro-convegni-del-plantahof-a-landquart.csv"@it, + "renovaziun-dal-center-da-dietas-plantahof-a-landquart.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "erneuerung-tagungszentrum-plantahof-landquart.json"@de, + "erneuerung-tagungszentrum-plantahof-landquart.json"@fr, + "rinnovo-del-centro-convegni-del-plantahof-a-landquart.json"@it, + "renovaziun-dal-center-da-dietas-plantahof-a-landquart.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30. November 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 novembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 novembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 da november 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-gesetz-uber-die-gebietsreform-im-kanton-graubunden-mantelgesetz-uber-die-gebietsreform@standeskanzlei-graubuenden" ; + dct:issued "2014-11-30T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-11-30T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-11-30T00:00:00"^^xsd:dateTime ] ; + dct:title "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@de, + "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@fr, + "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@it, + "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@de, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@fr, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@it, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@de, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@fr, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@it, + "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28. September 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 septembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 settembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 da settember 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-gesetz-uber-die-reform-des-finanzausgleichs-im-kanton-graubunden-mantelgesetz-uber-die-fa-reform@standeskanzlei-graubuenden" ; + dct:issued "2014-09-28T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-09-28T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-09-28T00:00:00"^^xsd:dateTime ] ; + dct:title "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@de, + "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@fr, + "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@it, + "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@de, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@fr, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@it, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@de, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@fr, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@it, + "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Gesetzliche Grundlage für die Überwachung von Versicherten\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Base légale pour la surveillance des assurés\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Base legale per la sorveglianza degli assicurati\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Basa legala per survegliar persunas assicuradas\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten@standeskanzlei-graubuenden" ; + dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Gesetzliche Grundlage für die Überwachung von Versicherten"@de, + "Base légale pour la surveillance des assurés"@fr, + "Base legale per la sorveglianza degli assicurati"@it, + "Basa legala per survegliar persunas assicuradas"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten.csv"@de, + "base-legale-pour-la-surveillance-des-assures.csv"@fr, + "base-legale-per-la-sorveglianza-degli-assicurati.csv"@it, + "basa-legala-per-survegliar-persunas-assicuradas.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten.json"@de, + "base-legale-pour-la-surveillance-des-assures.json"@fr, + "base-legale-per-la-sorveglianza-degli-assicurati.json"@it, + "basa-legala-per-survegliar-persunas-assicuradas.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Ja zu sauberem Strom ohne Kohlekraft\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Ja zu sauberem Strom ohne Kohlekraft\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Ja zu sauberem Strom ohne Kohlekraft\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Ja zu sauberem Strom ohne Kohlekraft\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-ja-zu-sauberem-strom-ohne-kohlekraft@standeskanzlei-graubuenden" ; + dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Ja zu sauberem Strom ohne Kohlekraft"@de, + "Ja zu sauberem Strom ohne Kohlekraft"@fr, + "Ja zu sauberem Strom ohne Kohlekraft"@it, + "Ja zu sauberem Strom ohne Kohlekraft"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@de, + "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@fr, + "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@it, + "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "ja-zu-sauberem-strom-ohne-kohlekraft.json"@de, + "ja-zu-sauberem-strom-ohne-kohlekraft.json"@fr, + "ja-zu-sauberem-strom-ohne-kohlekraft.json"@it, + "ja-zu-sauberem-strom-ohne-kohlekraft.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Iniziativa popolare cantonale «Buona scuola Grigioni – codecisione riguardo ai programmi didattici»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Iniziativa chantunala dal pievel «Buna scola grischuna – cundecisiun tar ils plans d'instrucziun»\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen@standeskanzlei-graubuenden" ; + dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»"@de, + "Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»"@fr, + "Iniziativa popolare cantonale «Buona scuola Grigioni – codecisione riguardo ai programmi didattici»"@it, + "Iniziativa chantunala dal pievel «Buna scola grischuna – cundecisiun tar ils plans d'instrucziun»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.csv"@de, + "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.csv"@fr, + "iniziativa-popolare-cantonale-buona-scuola-grigioni-codecisione-riguardo-ai-programmi-didattici.csv"@it, + "iniziativa-chantunala-dal-pievel-buna-scola-grischuna-cundecisiun-tar-ils-plans-d-instrucziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.json"@de, + "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.json"@fr, + "iniziativa-popolare-cantonale-buona-scuola-grigioni-codecisione-riguardo-ai-programmi-didattici.json"@it, + "iniziativa-chantunala-dal-pievel-buna-scola-grischuna-cundecisiun-tar-ils-plans-d-instrucziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Umsetzung einer Änderung der EU-Waffenrichtlinie (Weiterentwicklung von Schengen)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Mise en oeuvre d’une modification de la directive de l’UE sur les armes (Développement de l’acquis de Schengen)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Trasposizione nel diritto svizzero di una modifica della direttiva UE sulle armi (Sviluppo di Schengen)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Realisaziun d’ina midada da la directiva da la UE davart las armas (Svilup da l’acquist da Schengen)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen@standeskanzlei-graubuenden" ; + dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; + dct:title "Umsetzung einer Änderung der EU-Waffenrichtlinie (Weiterentwicklung von Schengen)"@de, + "Mise en oeuvre d’une modification de la directive de l’UE sur les armes (Développement de l’acquis de Schengen)"@fr, + "Trasposizione nel diritto svizzero di una modifica della direttiva UE sulle armi (Sviluppo di Schengen)"@it, + "Realisaziun d’ina midada da la directiva da la UE davart las armas (Svilup da l’acquist da Schengen)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen.csv"@de, + "mise-en-oeuvre-d-une-modification-de-la-directive-de-l-ue-sur-les-armes-developpement-de-l-acquis-de-schengen.csv"@fr, + "trasposizione-nel-diritto-svizzero-di-una-modifica-della-direttiva-ue-sulle-armi-sviluppo-di-schengen.csv"@it, + "realisaziun-d-ina-midada-da-la-directiva-da-la-ue-davart-las-armas-svilup-da-l-acquist-da-schengen.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen.json"@de, + "mise-en-oeuvre-d-une-modification-de-la-directive-de-l-ue-sur-les-armes-developpement-de-l-acquis-de-schengen.json"@fr, + "trasposizione-nel-diritto-svizzero-di-una-modifica-della-direttiva-ue-sulle-armi-sviluppo-di-schengen.json"@it, + "realisaziun-d-ina-midada-da-la-directiva-da-la-ue-davart-las-armas-svilup-da-l-acquist-da-schengen.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Unternehmenssteuerreformgesetz III\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Loi sur la réforme de l’imposition des entreprises III\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Legge sulla Riforma III dell’imposizione delle imprese\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Lescha davart la refurmada la taglia sin interpresas III\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-unternehmenssteuerreformgesetz-iii@standeskanzlei-graubuenden" ; + dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; + dct:title "Unternehmenssteuerreformgesetz III"@de, + "Loi sur la réforme de l’imposition des entreprises III"@fr, + "Legge sulla Riforma III dell’imposizione delle imprese"@it, + "Lescha davart la refurmada la taglia sin interpresas III"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "unternehmenssteuerreformgesetz-iii.csv"@de, + "loi-sur-la-reforme-de-l-imposition-des-entreprises-iii.csv"@fr, + "legge-sulla-riforma-iii-dell-imposizione-delle-imprese.csv"@it, + "lescha-davart-la-refurmada-la-taglia-sin-interpresas-iii.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "unternehmenssteuerreformgesetz-iii.json"@de, + "loi-sur-la-reforme-de-l-imposition-des-entreprises-iii.json"@fr, + "legge-sulla-riforma-iii-dell-imposizione-delle-imprese.json"@it, + "lescha-davart-la-refurmada-la-taglia-sin-interpresas-iii.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Credito d'impegno per la candidatura per i Giochi olimpici e paralimpici invernali 2026\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Credit d'impegn per la candidatura per ils gieus olimpics e paralimpics d'enviern 2026\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026@standeskanzlei-graubuenden" ; + dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; + dct:title "Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026"@de, + "Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026"@fr, + "Credito d'impegno per la candidatura per i Giochi olimpici e paralimpici invernali 2026"@it, + "Credit d'impegn per la candidatura per ils gieus olimpics e paralimpics d'enviern 2026"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.csv"@de, + "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.csv"@fr, + "credito-d-impegno-per-la-candidatura-per-i-giochi-olimpici-e-paralimpici-invernali-2026.csv"@it, + "credit-d-impegn-per-la-candidatura-per-ils-gieus-olimpics-e-paralimpics-d-enviern-2026.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.json"@de, + "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.json"@fr, + "credito-d-impegno-per-la-candidatura-per-i-giochi-olimpici-e-paralimpici-invernali-2026.json"@it, + "credit-d-impegn-per-la-candidatura-per-ils-gieus-olimpics-e-paralimpics-d-enviern-2026.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24. November 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 novembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 novembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 da november 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-1-12-fur-gerechte-lohne@standeskanzlei-graubuenden" ; + dct:issued "2013-11-24T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-11-24T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-11-24T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"1:12 – für gerechte Löhne\""@de, + "Volksinitiative \"1:12 – für gerechte Löhne\""@fr, + "Volksinitiative \"1:12 – für gerechte Löhne\""@it, + "Volksinitiative \"1:12 – für gerechte Löhne\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-1-12-fuer-gerechte-loehne.csv"@de, + "volksinitiative-1-12-fuer-gerechte-loehne.csv"@fr, + "volksinitiative-1-12-fuer-gerechte-loehne.csv"@it, + "volksinitiative-1-12-fuer-gerechte-loehne.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-1-12-fuer-gerechte-loehne.json"@de, + "volksinitiative-1-12-fuer-gerechte-loehne.json"@fr, + "volksinitiative-1-12-fuer-gerechte-loehne.json"@it, + "volksinitiative-1-12-fuer-gerechte-loehne.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9. Februar 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 février 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 febbraio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 da favrer 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung@standeskanzlei-graubuenden" ; + dct:issued "2014-02-09T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-02-09T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-02-09T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@de, + "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@fr, + "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@it, + "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@de, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@fr, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@it, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@de, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@fr, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@it, + "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Familien stärken! Steuerfreie Kinder- und Ausbildungszulagen»\", 8. März 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Aider les familles! Pour des allocations pour enfant et des allocations de formation professionnelle exonérées de l'impôt»\", 8 mars 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Sostenere le famiglie! Esentare dalle imposte gli assegni per i figli e gli assegni di formazione»\", 8 marzo 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Sustegnair las famiglias! Nagina taglia sin supplements per uffants e sin supplements da scolaziun»\", 8 da mars 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-familien-starken-steuerfreie-kinder-und-ausbildungszulagen@standeskanzlei-graubuenden" ; + dct:issued "2015-03-08T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2015-03-08T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2015-03-08T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Familien stärken! Steuerfreie Kinder- und Ausbildungszulagen»"@de, + "Initiative populaire «Aider les familles! Pour des allocations pour enfant et des allocations de formation professionnelle exonérées de l'impôt»"@fr, + "Iniziativa popolare «Sostenere le famiglie! Esentare dalle imposte gli assegni per i figli e gli assegni di formazione»"@it, + "Iniziativa dal pievel «Sustegnair las famiglias! Nagina taglia sin supplements per uffants e sin supplements da scolaziun»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-familien-staerken-steuerfreie-kinder-und-ausbildungszulagen.csv"@de, + "initiative-populaire-aider-les-familles-pour-des-allocations-pour-enfant-et-des-allocations-de-formation-professionnelle-exonerees-de-l-impot.csv"@fr, + "iniziativa-popolare-sostenere-le-famiglie-esentare-dalle-imposte-gli-assegni-per-i-figli-e-gli-assegni-di-formazione.csv"@it, + "iniziativa-dal-pievel-sustegnair-las-famiglias-nagina-taglia-sin-supplements-per-uffants-e-sin-supplements-da-scolaziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-familien-staerken-steuerfreie-kinder-und-ausbildungszulagen.json"@de, + "initiative-populaire-aider-les-familles-pour-des-allocations-pour-enfant-et-des-allocations-de-formation-professionnelle-exonerees-de-l-impot.json"@fr, + "iniziativa-popolare-sostenere-le-famiglie-esentare-dalle-imposte-gli-assegni-per-i-figli-e-gli-assegni-di-formazione.json"@it, + "iniziativa-dal-pievel-sustegnair-las-famiglias-nagina-taglia-sin-supplements-per-uffants-e-sin-supplements-da-scolaziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine faire Verkehrsfinanzierung»\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Pour un financement équitable des transports »\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per un equo finanziamento dei trasporti»\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per ina finanziaziun gista dal traffic»\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fuer-eine-faire-verkehrsfinanzierung@standeskanzlei-graubuenden" ; + dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für eine faire Verkehrsfinanzierung»"@de, + "Initiative populaire « Pour un financement équitable des transports »"@fr, + "Iniziativa popolare «Per un equo finanziamento dei trasporti»"@it, + "Iniziativa dal pievel «Per ina finanziaziun gista dal traffic»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-faire-verkehrsfinanzierung.csv"@de, + "initiative-populaire-pour-un-financement-equitable-des-transports.csv"@fr, + "iniziativa-popolare-per-un-equo-finanziamento-dei-trasporti.csv"@it, + "iniziativa-dal-pievel-per-ina-finanziaziun-gista-dal-traffic.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-faire-verkehrsfinanzierung.json"@de, + "initiative-populaire-pour-un-financement-equitable-des-transports.json"@fr, + "iniziativa-popolare-per-un-equo-finanziamento-dei-trasporti.json"@it, + "iniziativa-dal-pievel-per-ina-finanziaziun-gista-dal-traffic.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine massvolle Zuwanderung (Begrenzungsinitiative)»\", 27. September 2020, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Pour une immigration modérée (initiative de limitation)»\", 27 septembre 2020, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per un’immigrazione moderata (Iniziativa per la limitazione)»\", 27 settembre 2020, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa federala dal pievel «Per ina immigraziun moderada (Iniziativa da limitaziun)»\", 27 da settember 2020, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative@standeskanzlei-graubuenden" ; + dct:issued "2020-09-27T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2020-09-27T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2020-09-27T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für eine massvolle Zuwanderung (Begrenzungsinitiative)»"@de, + "Initiative populaire «Pour une immigration modérée (initiative de limitation)»"@fr, + "Iniziativa popolare «Per un’immigrazione moderata (Iniziativa per la limitazione)»"@it, + "Iniziativa federala dal pievel «Per ina immigraziun moderada (Iniziativa da limitaziun)»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative.csv"@de, + "initiative-populaire-pour-une-immigration-moderee-initiative-de-limitation.csv"@fr, + "iniziativa-popolare-per-un-immigrazione-moderata-iniziativa-per-la-limitazione.csv"@it, + "iniziativa-federala-dal-pievel-per-ina-immigraziun-moderada-iniziativa-da-limitaziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative.json"@de, + "initiative-populaire-pour-une-immigration-moderee-initiative-de-limitation.json"@fr, + "iniziativa-popolare-per-un-immigrazione-moderata-iniziativa-per-la-limitazione.json"@it, + "iniziativa-federala-dal-pievel-per-ina-immigraziun-moderada-iniziativa-da-limitaziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für Ernährungs souveränität. Die Landwirtschaft betrifft uns alle»\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Pour la souveraineté alimentaire. L’agriculture nous concerne toutes et tous »\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per la sovranità alimentare. L’agricoltura riguarda noi tutti»\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per la suveranitad alimentara. L’agricultura pertutga nus tuts»\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle@standeskanzlei-graubuenden" ; + dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für Ernährungs souveränität. Die Landwirtschaft betrifft uns alle»"@de, + "Initiative populaire « Pour la souveraineté alimentaire. L’agriculture nous concerne toutes et tous »"@fr, + "Iniziativa popolare «Per la sovranità alimentare. L’agricoltura riguarda noi tutti»"@it, + "Iniziativa dal pievel «Per la suveranitad alimentara. L’agricultura pertutga nus tuts»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle.csv"@de, + "initiative-populaire-pour-la-souverainete-alimentaire-l-agriculture-nous-concerne-toutes-et-tous.csv"@fr, + "iniziativa-popolare-per-la-sovranita-alimentare-l-agricoltura-riguarda-noi-tutti.csv"@it, + "iniziativa-dal-pievel-per-la-suveranitad-alimentara-l-agricultura-pertutga-nus-tuts.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle.json"@de, + "initiative-populaire-pour-la-souverainete-alimentaire-l-agriculture-nous-concerne-toutes-et-tous.json"@fr, + "iniziativa-popolare-per-la-sovranita-alimentare-l-agricoltura-riguarda-noi-tutti.json"@it, + "iniziativa-dal-pievel-per-la-suveranitad-alimentara-l-agricultura-pertutga-nus-tuts.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für gesunde sowie umweltfreundlich und fair hergestellte Lebensmittel (Fair-Food-Initiative)»\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Pour des denrées alimentaires saines et produites dans des conditions équitables et écologiques (initiative pour des aliments équitables) »\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per derrate alimentari sane, prodotte nel rispetto dell’ambiente e in modo equo (Iniziativa per alimenti equi)»\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per victualias saunas sco er produ cidas en moda ecologica e faira (Iniziativa da fair-food)»\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative@standeskanzlei-graubuenden" ; + dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für gesunde sowie umweltfreundlich und fair hergestellte Lebensmittel (Fair-Food-Initiative)»"@de, + "Initiative populaire « Pour des denrées alimentaires saines et produites dans des conditions équitables et écologiques (initiative pour des aliments équitables) »"@fr, + "Iniziativa popolare «Per derrate alimentari sane, prodotte nel rispetto dell’ambiente e in modo equo (Iniziativa per alimenti equi)»"@it, + "Iniziativa dal pievel «Per victualias saunas sco er produ cidas en moda ecologica e faira (Iniziativa da fair-food)»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative.csv"@de, + "initiative-populaire-pour-des-denrees-alimentaires-saines-et-produites-dans-des-conditions-equitables-et-ecologiques-initiative-pour-des-aliments-equitables.csv"@fr, + "iniziativa-popolare-per-derrate-alimentari-sane-prodotte-nel-rispetto-dell-ambiente-e-in-modo-equo-iniziativa-per-alimenti-equi.csv"@it, + "iniziativa-dal-pievel-per-victualias-saunas-sco-er-produ-cidas-en-moda-ecologica-e-faira-iniziativa-da-fair-food.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative.json"@de, + "initiative-populaire-pour-des-denrees-alimentaires-saines-et-produites-dans-des-conditions-equitables-et-ecologiques-initiative-pour-des-aliments-equitables.json"@fr, + "iniziativa-popolare-per-derrate-alimentari-sane-prodotte-nel-rispetto-dell-ambiente-e-in-modo-equo-iniziativa-per-alimenti-equi.json"@it, + "iniziativa-dal-pievel-per-victualias-saunas-sco-er-produ-cidas-en-moda-ecologica-e-faira-iniziativa-da-fair-food.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für krisensicheres Geld: Geldschöpfung allein durch die Nationalbank! (Vollgeld-Initiative)»\", 10. Juni 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Pour une monnaie à l’abri des crises: émission monétaire uniquement par la Banque nationale! (Initiative Monnaie pleine)»\", 10 juin 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per soldi a prova di crisi: emissione di moneta riservata alla Banca nazionale! (Iniziativa Moneta intera)»\", 10 giugno 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel \"Per daners segirs en ina crisa: emissiuns monetaras mo da la Banca naziunala! (Iniziativa per il daner cumplain)\"\", 10 da zercladur 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative@standeskanzlei-graubuenden" ; + dct:issued "2018-06-10T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-06-10T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-06-10T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Für krisensicheres Geld: Geldschöpfung allein durch die Nationalbank! (Vollgeld-Initiative)»"@de, + "Initiative populaire «Pour une monnaie à l’abri des crises: émission monétaire uniquement par la Banque nationale! (Initiative Monnaie pleine)»"@fr, + "Iniziativa popolare «Per soldi a prova di crisi: emissione di moneta riservata alla Banca nazionale! (Iniziativa Moneta intera)»"@it, + "Iniziativa dal pievel \"Per daners segirs en ina crisa: emissiuns monetaras mo da la Banca naziunala! (Iniziativa per il daner cumplain)\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative.csv"@de, + "initiative-populaire-pour-une-monnaie-a-l-abri-des-crises-emission-monetaire-uniquement-par-la-banque-nationale-initiative-monnaie-pleine.csv"@fr, + "iniziativa-popolare-per-soldi-a-prova-di-crisi-emissione-di-moneta-riservata-alla-banca-nazionale-iniziativa-moneta-intera.csv"@it, + "iniziativa-dal-pievel-per-daners-segirs-en-ina-crisa-emissiuns-monetaras-mo-da-la-banca-naziunala-iniziativa-per-il-daner-cumplain.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative.json"@de, + "initiative-populaire-pour-une-monnaie-a-l-abri-des-crises-emission-monetaire-uniquement-par-la-banque-nationale-initiative-monnaie-pleine.json"@fr, + "iniziativa-popolare-per-soldi-a-prova-di-crisi-emissione-di-moneta-riservata-alla-banca-nazionale-iniziativa-moneta-intera.json"@it, + "iniziativa-dal-pievel-per-daners-segirs-en-ina-crisa-emissiuns-monetaras-mo-da-la-banca-naziunala-iniziativa-per-il-daner-cumplain.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 da matg 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fur-den-schutz-fairer-lohne-mindestlohninitiative@standeskanzlei-graubuenden" ; + dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@de, + "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@fr, + "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@it, + "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@de, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@fr, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@it, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@de, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@fr, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@it, + "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28. September 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 septembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 settembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 da settember 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-fur-eine-offentliche-krankenkasse@standeskanzlei-graubuenden" ; + dct:issued "2014-09-28T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-09-28T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-09-28T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Für eine öffentliche Krankenkasse\""@de, + "Volksinitiative \"Für eine öffentliche Krankenkasse\""@fr, + "Volksinitiative \"Für eine öffentliche Krankenkasse\""@it, + "Volksinitiative \"Für eine öffentliche Krankenkasse\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@de, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@fr, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@it, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@de, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@fr, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@it, + "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Ja zum Verhüllungsverbot»\", 7. März 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Oui à l’interdiction de se dissimuler le visage»\", 7 mars 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Sì al divieto di dissimulare il proprio viso»\", 7 marzo 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Gea al scumond da cuvrir la fatscha»\", 7 da mars 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-ja-zum-verhuellungsverbot@standeskanzlei-graubuenden" ; + dct:issued "2021-03-07T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2021-03-07T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2021-03-07T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Ja zum Verhüllungsverbot»"@de, + "Initiative populaire «Oui à l’interdiction de se dissimuler le visage»"@fr, + "Iniziativa popolare «Sì al divieto di dissimulare il proprio viso»"@it, + "Iniziativa dal pievel «Gea al scumond da cuvrir la fatscha»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-ja-zum-verhuellungsverbot.csv"@de, + "initiative-populaire-oui-a-l-interdiction-de-se-dissimuler-le-visage.csv"@fr, + "iniziativa-popolare-si-al-divieto-di-dissimulare-il-proprio-viso.csv"@it, + "iniziativa-dal-pievel-gea-al-scumond-da-cuvrir-la-fatscha.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-ja-zum-verhuellungsverbot.json"@de, + "initiative-populaire-oui-a-l-interdiction-de-se-dissimuler-le-visage.json"@fr, + "iniziativa-popolare-si-al-divieto-di-dissimulare-il-proprio-viso.json"@it, + "iniziativa-dal-pievel-gea-al-scumond-da-cuvrir-la-fatscha.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-ja-zur-aufhebung-der-wehrpflicht@standeskanzlei-graubuenden" ; + dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@de, + "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@fr, + "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@it, + "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@de, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@fr, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@it, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@de, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@fr, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@it, + "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Pro Service public»\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « En faveur du service public »\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «A favore del servizio pubblico»\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «A favur dal servetsch public»\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-pro-service-public@standeskanzlei-graubuenden" ; + dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Pro Service public»"@de, + "Initiative populaire « En faveur du service public »"@fr, + "Iniziativa popolare «A favore del servizio pubblico»"@it, + "Iniziativa dal pievel «A favur dal servetsch public»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-pro-service-public.csv"@de, + "initiative-populaire-en-faveur-du-service-public.csv"@fr, + "iniziativa-popolare-a-favore-del-servizio-pubblico.csv"@it, + "iniziativa-dal-pievel-a-favur-dal-servetsch-public.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-pro-service-public.json"@de, + "initiative-populaire-en-faveur-du-service-public.json"@fr, + "iniziativa-popolare-a-favore-del-servizio-pubblico.json"@it, + "iniziativa-dal-pievel-a-favur-dal-servetsch-public.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30. November 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 novembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 novembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 da november 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-rettet-unser-schweizer-gold-gold-initiative@standeskanzlei-graubuenden" ; + dct:issued "2014-11-30T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-11-30T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-11-30T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@de, + "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@fr, + "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@it, + "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@de, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@fr, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@it, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@de, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@fr, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@it, + "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Schweizer Recht statt fremde Richter (Selbstbestimmungsinitiative)»\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Le droit suisse au lieu de juges étrangers (initiative pour l’autodétermination) »\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Il diritto svizzero anziché giudici stranieri (Iniziativa per l’autodeterminazione)»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Il dretg svizzer empè da derschaders esters (Iniziativa per l’autodeterminaziun)»\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative@standeskanzlei-graubuenden" ; + dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Schweizer Recht statt fremde Richter (Selbstbestimmungsinitiative)»"@de, + "Initiative populaire « Le droit suisse au lieu de juges étrangers (initiative pour l’autodétermination) »"@fr, + "Iniziativa popolare «Il diritto svizzero anziché giudici stranieri (Iniziativa per l’autodeterminazione)»"@it, + "Iniziativa dal pievel «Il dretg svizzer empè da derschaders esters (Iniziativa per l’autodeterminaziun)»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative.csv"@de, + "initiative-populaire-le-droit-suisse-au-lieu-de-juges-etrangers-initiative-pour-l-autodetermination.csv"@fr, + "iniziativa-popolare-il-diritto-svizzero-anziche-giudici-stranieri-iniziativa-per-l-autodeterminazione.csv"@it, + "iniziativa-dal-pievel-il-dretg-svizzer-empe-da-derschaders-esters-iniziativa-per-l-autodeterminaziun.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative.json"@de, + "initiative-populaire-le-droit-suisse-au-lieu-de-juges-etrangers-initiative-pour-l-autodetermination.json"@fr, + "iniziativa-popolare-il-diritto-svizzero-anziche-giudici-stranieri-iniziativa-per-l-autodeterminazione.json"@it, + "iniziativa-dal-pievel-il-dretg-svizzer-empe-da-derschaders-esters-iniziativa-per-l-autodeterminaziun.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Stipendieninitiative»\", 14. Juni 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire « Initiativesur les bourses d’études »\", 14 juin 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Sulleborse di studio»\", 14 giugno 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Iniziativa davart ils stipendis»\", 14 da zercladur 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-stipendieninitiative@standeskanzlei-graubuenden" ; + dct:issued "2015-06-14T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2015-06-14T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2015-06-14T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Stipendieninitiative»"@de, + "Initiative populaire « Initiativesur les bourses d’études »"@fr, + "Iniziativa popolare «Sulleborse di studio»"@it, + "Iniziativa dal pievel «Iniziativa davart ils stipendis»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-stipendieninitiative.csv"@de, + "initiative-populaire-initiativesur-les-bourses-d-etudes.csv"@fr, + "iniziativa-popolare-sulleborse-di-studio.csv"@it, + "iniziativa-dal-pievel-iniziativa-davart-ils-stipendis.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-stipendieninitiative.json"@de, + "initiative-populaire-initiativesur-les-bourses-d-etudes.json"@fr, + "iniziativa-popolare-sulleborse-di-studio.json"@it, + "iniziativa-dal-pievel-iniziativa-davart-ils-stipendis.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3. März 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 mars 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 marzo 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 da mars 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-vom-26.-februar-2008-gegen-die-abzockerei@standeskanzlei-graubuenden" ; + dct:issued "2013-03-03T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2013-03-03T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2013-03-03T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@de, + "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@fr, + "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@it, + "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@de, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@fr, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@it, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@de, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@fr, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@it, + "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9. Februar 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 février 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 febbraio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 da favrer 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-weniger-steuern-fur-das-gewerbe-kirchensteuerinitiative@standeskanzlei-graubuenden" ; + dct:issued "2014-02-09T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2014-02-09T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2014-02-09T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@de, + "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@fr, + "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@it, + "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@de, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@fr, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@it, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@de, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@fr, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@it, + "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der kantonalen Abstimmung \"Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote cantonal \"Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione cantonale \"Iniziativa popolare per l'abrogazione della caccia speciale (iniziativa sulla caccia speciale)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun chantunala \"Iniziativa dal pievel per abolir la chatscha speziala (iniziativa cunter la chatscha speziala)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative@standeskanzlei-graubuenden" ; + dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)"@de, + "Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)"@fr, + "Iniziativa popolare per l'abrogazione della caccia speciale (iniziativa sulla caccia speciale)"@it, + "Iniziativa dal pievel per abolir la chatscha speziala (iniziativa cunter la chatscha speziala)"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "kantonal"@de, + "cantonal"@fr, + "votation"@fr, + "cantonale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.csv"@de, + "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.csv"@fr, + "iniziativa-popolare-per-l-abrogazione-della-caccia-speciale-iniziativa-sulla-caccia-speciale.csv"@it, + "iniziativa-dal-pievel-per-abolir-la-chatscha-speziala-iniziativa-cunter-la-chatscha-speziala.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.json"@de, + "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.json"@fr, + "iniziativa-popolare-per-l-abrogazione-della-caccia-speciale-iniziativa-sulla-caccia-speciale.json"@it, + "iniziativa-dal-pievel-per-abolir-la-chatscha-speziala-iniziativa-cunter-la-chatscha-speziala.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Zur Durchsetzung der Ausschaffung krimineller Ausländer (Durchsetzungsinitiative)» \", 28. Februar 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, + "Résultats finaux du vote fédéral \"Initiative populaire «Pour le renvoi effectif des étrangers criminels (initiative de mise en Å“uvre)»\", 28 février 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, + "Risultati finali della votazione federale \"Iniziativa popolare «Per l'attuazione dell'espulsione degli stranieri che commettono reati (Iniziativa per l'attuazione)»\", 28 febbraio 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, + "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per il repatriament effectiv da las persunas estras criminalas (iniziativa per il repatriament effectiv)»\", 28 da favrer 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; + dct:identifier "vote-volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative@standeskanzlei-graubuenden" ; + dct:issued "2016-02-28T00:00:00"^^xsd:dateTime ; + dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + , + , + ; + dct:temporal [ a dct:PeriodOfTime ; + dcat:endDate "2016-02-28T23:59:59.999999"^^xsd:dateTime ; + dcat:startDate "2016-02-28T00:00:00"^^xsd:dateTime ] ; + dct:title "Volksinitiative «Zur Durchsetzung der Ausschaffung krimineller Ausländer (Durchsetzungsinitiative)» "@de, + "Initiative populaire «Pour le renvoi effectif des étrangers criminels (initiative de mise en Å“uvre)»"@fr, + "Iniziativa popolare «Per l'attuazione dell'espulsione degli stranieri che commettono reati (Iniziativa per l'attuazione)»"@it, + "Iniziativa dal pievel «Per il repatriament effectiv da las persunas estras criminalas (iniziativa per il repatriament effectiv)»"@rm ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "Standeskanzlei Graubünden" ; + vcard:hasEmail ] ; + dcat:distribution , + ; + dcat:keyword "abstimmung"@de, + "national"@de, + "federal"@fr, + "votation"@fr, + "nazionale"@it, + "votazione"@it ; + dcat:landingPage ; + dcat:theme , + euthemes:GOVE . + + a dcat:Distribution ; + dct:format ; + dct:identifier "csv" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative.csv"@de, + "initiative-populaire-pour-le-renvoi-effectif-des-etrangers-criminels-initiative-de-mise-en-oeuvre.csv"@fr, + "iniziativa-popolare-per-l-attuazione-dell-espulsione-degli-stranieri-che-commettono-reati-iniziativa-per-l-attuazione.csv"@it, + "iniziativa-dal-pievel-per-il-repatriament-effectiv-da-las-persunas-estras-criminalas-iniziativa-per-il-repatriament-effectiv.csv"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "text/csv" . + + a dcat:Distribution ; + dct:format ; + dct:identifier "json" ; + dct:license ; + dct:rights ; + dct:title "volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative.json"@de, + "initiative-populaire-pour-le-renvoi-effectif-des-etrangers-criminels-initiative-de-mise-en-oeuvre.json"@fr, + "iniziativa-popolare-per-l-attuazione-dell-espulsione-degli-stranieri-che-commettono-reati-iniziativa-per-l-attuazione.json"@it, + "iniziativa-dal-pievel-per-il-repatriament-effectiv-da-las-persunas-estras-criminalas-iniziativa-per-il-repatriament-effectiv.json"@rm ; + dcat:accessURL ; + dcat:downloadURL ; + dcat:mediaType "application/json" . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Die Fassungen sind bewilligungspflichtig; die Wasserentnahme Standorte geben Information zum Niederwasserabfluss (Q347), die gefassten Wassermengen und die Restwassermenge unterhalb der Fassung."@de, + "Les captages sont soumis à autorisation, les points de prélèvement d'eau donnent des informations sur les débits d'étiage (Q347), les débits captés et les débits résiduels en aval du captage."@fr ; + dct:identifier "9943b21d-521e-4cf1-b663-0c3f2575f6c1@canton-du-valais-cc-geo" ; + dct:issued "2017-08-24T00:00:00"^^xsd:dateTime ; + dct:language "de", + "en", + "fr", + "it" ; + dct:modified "2023-09-19T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Inventar der bestehenden Wasserentnahmen"@de, + "Inventaire des prélèvements d'eau existants"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "auffangbecken"@de, + "energiequellen"@de, + "oberflachengewasser"@de, + "catchment"@en, + "energy-resources"@en, + "surface-water"@en, + "captage"@fr, + "eau-de-surface"@fr, + "sources-denergie"@fr, + "acqua-superficiale"@it, + "captazione-struttura"@it, + "risorse-energetiche"@it ; + dcat:landingPage ; + dcat:theme , + , + , + , + euthemes:EDUC, + euthemes:ENER, + euthemes:ENVI, + euthemes:REGI ; + foaf:page . + + a dcat:Distribution ; + dct:description "OpenData Wallis - Portal zum herunterladen von Geodaten des Kantons Wallis : Mutiformat und WebMercator"@de, + "OpenData Valais - Site de téléchargement de géodonnées à l'Etat du Valais : multiformat et WebMercator"@fr ; + dct:language "de", + "en", + "fr", + "it" ; + dct:license ; + dct:rights ; + dct:title "OpenData Wallis"@de, + "OpenData Valais"@fr ; + dcat:accessURL . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Grundwasserschutzareale dienen zum vorsorglichen Schutz des Grundwassers im Hinblick auf eine zukünftige Nutzung (Versorgung oder Anreicherung). Die Grundwasserschutzareale bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, + "Les périmètres de protection des eaux souterraines servent à protéger les eaux souterraines sur une certaine surface, en vue d’une utilisation future (exploitation ou alimentation artificielle). Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; + dct:identifier "70e3d319-3b88-4518-8bc8-4abb8524fcdb@canton-du-valais-cc-geo" ; + dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; + dct:language "de", + "fr" ; + dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Grundwasserschutzareale"@de, + "Périmètres de protection des eaux souterraines"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "geologie"@de, + "grundwasser"@de, + "grundwasserschutzareal"@de, + "hydrogeologie"@de, + "lithologie"@de, + "raumordnung-und--planung"@de, + "ressourcen-ressourcennutzung"@de, + "untergrund"@de, + "untergrundwassergewinnung"@de, + "wasserbewirtschaftung"@de, + "zonennutzungsplan-znp"@de, + "exploitation-of-underground-water"@en, + "geology"@en, + "groundwater"@en, + "groundwater-protection-area"@en, + "hydrogeology"@en, + "land-management-and-planning"@en, + "lithology"@en, + "resources"@en, + "subsoil"@en, + "water-resources-management"@en, + "zonal-use-plan"@en, + "amenagement-du-territoire"@fr, + "eaux-souterraines"@fr, + "exploitation-de-nappe-souterraine"@fr, + "geologie"@fr, + "gestion-des-ressources-en-eau"@fr, + "hydrogeologie"@fr, + "lithologie"@fr, + "perimetre-de-protection-des-eaux-souterraines"@fr, + "plan-daffectation-de-zone-paz"@fr, + "ressources"@fr, + "sous-sol"@fr, + "acqua-sotterranea"@it, + "area-di-protezione-delle-acque-sotterranee"@it, + "geologia"@it, + "gestione-delle-risorse-idriche"@it, + "idrogeologia"@it, + "litologia"@it, + "piano-regolatore"@it, + "risorse"@it, + "sfruttamento-della-falda"@it, + "sfruttamento-razionale-del-territorio"@it, + "sottosuolo"@it ; + dcat:landingPage ; + dcat:theme , + , + euthemes:ENVI, + euthemes:REGI . + + a dcat:Distribution ; + dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, + "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; + dct:language "de", + "fr" ; + dct:license ; + dct:rights ; + dct:title "geodienste.ch das interkantonale Portal"@de, + "geodienste.ch le portail intercantonal"@fr ; + dcat:accessURL ; + dcat:downloadURL . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Grundwasserschutzzonen dienen dazu, Trinkwasserfassungen und das Grundwasser unmittelbar vor seiner Nutzung als Trinkwasser vor Beeinträchtigungen zu schützen. Die Grundwasserschutzzonen bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, + "Les zones de protection des eaux souterraines visent à protéger les captages et les eaux souterraines avant leur utilisation comme eau potable. Elles constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; + dct:identifier "9a74f535-0650-4b8b-b422-992588e3dd25@canton-du-valais-cc-geo" ; + dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; + dct:language "de", + "fr" ; + dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Grundwasserschutzzonen"@de, + "Zones de protection des eaux souterraines"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "geologie"@de, + "grundwasser"@de, + "grundwasserschutz"@de, + "hydrogeologie"@de, + "lithologie"@de, + "raumordnung-und--planung"@de, + "ressourcen-ressourcennutzung"@de, + "schutzzone"@de, + "untergrund"@de, + "untergrundwassergewinnung"@de, + "wasserbewirtschaftung"@de, + "wassergewinnung"@de, + "zonennutzungsplan-znp"@de, + "exploitation-of-underground-water"@en, + "geology"@en, + "groundwater"@en, + "groundwater-protection"@en, + "hydrogeology"@en, + "land-management-and-planning"@en, + "lithology"@en, + "protection-zone"@en, + "resources"@en, + "subsoil"@en, + "water-collection"@en, + "water-resources-management"@en, + "zonal-use-plan"@en, + "amenagement-du-territoire"@fr, + "captage-deau"@fr, + "eaux-souterraines"@fr, + "exploitation-de-nappe-souterraine"@fr, + "geologie"@fr, + "gestion-des-ressources-en-eau"@fr, + "hydrogeologie"@fr, + "lithologie"@fr, + "plan-daffectation-de-zone-paz"@fr, + "protection-des-reserves-deau-souterraines"@fr, + "ressources"@fr, + "sous-sol"@fr, + "zone-de-protection"@fr, + "acqua-sotterranea"@it, + "captazione-di-acqua"@it, + "geologia"@it, + "gestione-delle-risorse-idriche"@it, + "idrogeologia"@it, + "litologia"@it, + "piano-regolatore"@it, + "protezione-delle-acque-sotterranee"@it, + "risorse"@it, + "sfruttamento-della-falda"@it, + "sfruttamento-razionale-del-territorio"@it, + "sottosuolo"@it, + "zona-di-protezione"@it ; + dcat:landingPage ; + dcat:theme , + , + euthemes:ENVI, + euthemes:REGI . + + a dcat:Distribution ; + dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, + "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; + dct:language "de", + "fr" ; + dct:license ; + dct:rights ; + dct:title "geodienste.ch das interkantonale Portal"@de, + "geodienste.ch le portail intercantonal"@fr ; + dcat:accessURL ; + dcat:downloadURL . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Gewässerschutzbereiche Ao werden zum Schutz der Wasserqualität oberirdischer Gewässer ausgeschieden, wenn diese zur Trinkwasserversorgung genutzt werden oder wenn diese indirekt eine Grundwasserfassungen speisen. Die Gewässerschutzbereiche Ao bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, + "Les secteurs Ao sont délimités pour protéger des eaux superficielles lorsqu’elles sont utilisées pour l'alimentation en eau potable ou lorsqu’elles alimentent indirectement des captages d’eaux souterraines. Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; + dct:identifier "e2fc95a2-5bc0-4fbf-8275-e6a9f735653d@canton-du-valais-cc-geo" ; + dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; + dct:language "de", + "fr" ; + dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Gewässerschutzbereich Ao"@de, + "Secteurs de protection des eaux Ao"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "geologie"@de, + "gewasserschutzbereich"@de, + "grundwasser"@de, + "hydrogeologie"@de, + "lithologie"@de, + "raumordnung-und--planung"@de, + "ressourcen-ressourcennutzung"@de, + "untergrund"@de, + "wasserbewirtschaftung"@de, + "geology"@en, + "groundwater"@en, + "hydrogeology"@en, + "land-management-and-planning"@en, + "lithology"@en, + "resources"@en, + "subsoil"@en, + "water-protection-sector"@en, + "water-resources-management"@en, + "amenagement-du-territoire"@fr, + "eaux-souterraines"@fr, + "geologie"@fr, + "gestion-des-ressources-en-eau"@fr, + "hydrogeologie"@fr, + "lithologie"@fr, + "ressources"@fr, + "secteur-de-protection-des-eaux"@fr, + "sous-sol"@fr, + "acqua-sotterranea"@it, + "geologia"@it, + "gestione-delle-risorse-idriche"@it, + "idrogeologia"@it, + "litologia"@it, + "risorse"@it, + "settore-di-protezione-delle-acque"@it, + "sfruttamento-razionale-del-territorio"@it, + "sottosuolo"@it ; + dcat:landingPage ; + dcat:theme , + , + euthemes:ENVI, + euthemes:REGI . + + a dcat:Distribution ; + dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, + "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; + dct:language "de", + "fr" ; + dct:license ; + dct:rights ; + dct:title "geodienste.ch das interkantonale Portal"@de, + "geodienste.ch le portail intercantonal"@fr ; + dcat:accessURL ; + dcat:downloadURL . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Der Gewässerschutzbereich Au ist als Instrument des flächendeckenden, ressourcenorientierten Grundwasserschutzes gleichermassen auf den quantitativen wie auf den qualitativen Grundwasserschutz ausgerichtet. Er umfasst die nutzbaren unterirdischen Gewässer sowie die zu ihrem Schutz notwendigen Randgebiete. Die Gewässerschutzbereiche Au bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, + "Les secteurs Au de protection des eaux servent à la protection générale des eaux souterraines, aussi bien sur le plan quantitatif que sur le plan qualitatif. Ils comprennent les nappes d’eaux souterraines exploitables, ainsi que les zones attenantes nécessaires à leur protection. Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; + dct:identifier "4fb67f18-0a2e-4d7b-ab12-901292b5e588@canton-du-valais-cc-geo" ; + dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; + dct:language "de", + "fr" ; + dct:modified "2023-01-05T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation , + ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Gewässerschutzbereich Au"@de, + "Secteurs de protection des eaux Au"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "geologie"@de, + "gewasserschutzbereich"@de, + "grundwasser"@de, + "hydrogeologie"@de, + "lithologie"@de, + "raumordnung-und--planung"@de, + "ressourcen-ressourcennutzung"@de, + "untergrund"@de, + "wasserbewirtschaftung"@de, + "geology"@en, + "groundwater"@en, + "hydrogeology"@en, + "land-management-and-planning"@en, + "lithology"@en, + "resources"@en, + "subsoil"@en, + "water-protection-sector"@en, + "water-resources-management"@en, + "amenagement-du-territoire"@fr, + "eaux-souterraines"@fr, + "geologie"@fr, + "gestion-des-ressources-en-eau"@fr, + "hydrogeologie"@fr, + "lithologie"@fr, + "ressources"@fr, + "secteur-de-protection-des-eaux"@fr, + "sous-sol"@fr, + "acqua-sotterranea"@it, + "geologia"@it, + "gestione-delle-risorse-idriche"@it, + "idrogeologia"@it, + "litologia"@it, + "risorse"@it, + "settore-di-protezione-delle-acque"@it, + "sfruttamento-razionale-del-territorio"@it, + "sottosuolo"@it ; + dcat:landingPage ; + dcat:theme , + , + euthemes:ENVI, + euthemes:REGI . + + a dcat:Distribution ; + dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, + "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; + dct:language "de", + "fr" ; + dct:license ; + dct:rights ; + dct:title "geodienste.ch das interkantonale Portal"@de, + "geodienste.ch le portail intercantonal"@fr ; + dcat:accessURL ; + dcat:downloadURL . + + a dcat:Dataset ; + dct:accrualPeriodicity ; + dct:description "Mit diesem Instrument lassen sich die Merkmale der ARA im Wallis beschreiben: Name, Koordinaten, Typ, Ausbaugrösse , Auslastung, Behandlungsqualität, Fremdwasseranteil. Dank ihm können auch die Einzugsgebiete (Name und Lage) und Einleitungsstellen (Koordinaten, Name des vorübergehenden und definitiven Aufnahmegewässers) der ARA bestimmt werden."@de, + "Cet outil sert à détailler les caractéristiques des STEP du Valais : nom, coordonnées, type, capacité nominale, taux d’utilisation, qualité de traitement, part des eaux claires permanentes. Il permet aussi de définir leurs bassins versants (nom, localisation) et leurs point de rejet (coordonnées, nom du cours d’eau récepteur immédiat et final)."@fr ; + dct:identifier "3f893330-4cd9-4421-a749-ce119e4d63ae@canton-du-valais-cc-geo" ; + dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; + dct:language "de", + "en", + "fr", + "it" ; + dct:modified "2023-11-07T00:00:00"^^xsd:dateTime ; + dct:publisher ; + dct:relation ; + dct:spatial "Canton du Valais (VS)" ; + dct:title "Abwasserreinigung: Lokalisierung und Reinigungsleistungen"@de, + "Epuration des eaux usées : localisation et performances"@fr ; + dcat:contactPoint [ a vcard:Organization ; + vcard:fn "sen@admin.vs.ch" ; + vcard:hasEmail ] ; + dcat:distribution ; + dcat:keyword "abwasserbehandlungsanlage"@de, + "gewassereinzugsgebiet"@de, + "reinigungsanlage"@de, + "sammelabwasserbehandlung"@de, + "stadthygiene"@de, + "wasseruntersuchung"@de, + "catchment-area"@en, + "collective-waste-water-treatment"@en, + "purification-facility"@en, + "urban-sanitation"@en, + "waste-water-treatment-plant"@en, + "water-analysis"@en, + "analyse-de-leau"@fr, + "assainissement-collectif"@fr, + "assainissement-urbain"@fr, + "bassin-versant"@fr, + "dispositif-depuration"@fr, + "station-depuration-des-eaux-usees"@fr, + "analisi-dellacqua"@it, + "area-di-raccolta-delle-acque"@it, + "attrezzature-per-la-depurazione"@it, + "impianto-di-trattamento-dellacqua-di-rifiuto"@it, + "risanamento-urbano"@it, + "smaltimento-collettivo-delle-acque-di-rifiuto"@it ; + dcat:landingPage ; + dcat:theme , + , + , + , + euthemes:EDUC, + euthemes:ENER, + euthemes:ENVI, + euthemes:REGI ; + foaf:page . + + a dcat:Distribution ; + dct:description "OpenData Wallis - Portal zum herunterladen von Geodaten des Kantons Wallis : Mutiformat und WebMercator"@de, + "OpenData Valais - Site de téléchargement de géodonnées à l'Etat du Valais : multiformat et WebMercator"@fr ; + dct:language "de", + "en", + "fr", + "it" ; + dct:license ; + dct:rights ; + dct:title "OpenData Wallis"@de, + "OpenData Valais"@fr ; + dcat:accessURL . + + rdfs:label "Géoportail du Canton du Valais" . + + a foaf:Document . + + a foaf:Document . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "geocat.ch permalink" . + + rdfs:label "Géoportail du Canton du Valais" . + + a foaf:Organization ; + foaf:name "Canton du Valais - Service de l'environnement (SEN) - Protection des Eaux" . + + a dct:LicenseDocument, + dct:RightsStatement . + + rdfs:label "Formatbeschreibung" . + + rdfs:label "Description du format" . + + rdfs:label "Descrizione del formato" . + + rdfs:label "Descripziun dal format" . + + a foaf:Organization ; + foaf:name "Standeskanzlei Graubünden" . + + a dct:LicenseDocument, + dct:RightsStatement . diff --git a/national-node-catalogue-mock/main.py b/national-node-catalogue-mock/main.py new file mode 100644 index 000000000..c63b47c67 --- /dev/null +++ b/national-node-catalogue-mock/main.py @@ -0,0 +1,23 @@ +import uvicorn +from fastapi import FastAPI, Response +from fastapi.middleware.cors import CORSMiddleware +import os + +app = FastAPI() + +HARVESTER_URL = os.getenv("HARVESTER_URL") + +app.add_middleware( + CORSMiddleware, + allow_origins=[HARVESTER_URL], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + +@app.get("/catalogue.ttl") +def retrieve_catalogue(): + return Response(content=open("catalogue.ttl", "rb").read(), media_type="text/turtle") + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=8001) diff --git a/national-node-catalogue-mock/requirements.txt b/national-node-catalogue-mock/requirements.txt new file mode 100644 index 000000000..44d6d6ae8 --- /dev/null +++ b/national-node-catalogue-mock/requirements.txt @@ -0,0 +1,2 @@ +fastapi==0.103.2 +uvicorn==0.23.2 diff --git a/postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh b/postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh new file mode 100644 index 000000000..573663baa --- /dev/null +++ b/postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e + +echo "Creating $KC_DB_NAME for $KC_DB_USERNAME" + +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE ROLE "$KC_DB_USERNAME" NOSUPERUSER CREATEDB CREATEROLE LOGIN PASSWORD '$KC_DB_PASSWORD'; + CREATE DATABASE "$KC_DB_NAME" OWNER "$KC_DB_USERNAME" ENCODING 'utf-8'; +EOSQL diff --git a/src/ckanext-keycloak b/src/ckanext-keycloak new file mode 160000 index 000000000..9da32839e --- /dev/null +++ b/src/ckanext-keycloak @@ -0,0 +1 @@ +Subproject commit 9da32839e2a72b9c6bf1013db5805961e940c9d3 From 226fb46186538d1528b7f75a6302d0824004befd Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 5 Dec 2023 09:18:44 +0100 Subject: [PATCH 015/284] Update docker-compose.yml --- docker-compose.yml | 68 +++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index f3a50609d..0d6246e98 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,16 @@ version: "3" - volumes: ckan_storage: + driver: local pg_data: + driver: local solr_data: + driver: local + fuseki_data: + driver: local + fuseki_logs: + driver: local services: @@ -13,9 +19,6 @@ services: build: context: nginx/ dockerfile: Dockerfile - networks: - - webnet - - ckannet depends_on: ckan: condition: service_healthy @@ -29,11 +32,6 @@ services: dockerfile: Dockerfile args: - TZ=${TZ} - networks: - - ckannet - - dbnet - - solrnet - - redisnet env_file: - .env depends_on: @@ -43,6 +41,8 @@ services: condition: service_healthy redis: condition: service_healthy + keycloak: + condition: service_healthy volumes: - ckan_storage:/var/lib/ckan restart: unless-stopped @@ -53,8 +53,6 @@ services: container_name: ${POSTGRESQL_CONTAINER_NAME} build: context: postgresql/ - networks: - - dbnet environment: - POSTGRES_USER - POSTGRES_PASSWORD @@ -62,6 +60,12 @@ services: - CKAN_DB_USER - CKAN_DB_PASSWORD - CKAN_DB + - DATASTORE_READONLY_USER + - DATASTORE_READONLY_PASSWORD + - DATASTORE_DB + - KC_DB_USERNAME + - KC_DB_PASSWORD + - KC_DB_NAME volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped @@ -70,8 +74,6 @@ services: solr: container_name: ${SOLR_CONTAINER_NAME} - networks: - - solrnet image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} volumes: - solr_data:/var/solr @@ -82,18 +84,34 @@ services: redis: container_name: ${REDIS_CONTAINER_NAME} image: redis:${REDIS_VERSION} - networks: - - redisnet restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] - -networks: - webnet: - ckannet: - solrnet: - internal: true - dbnet: - internal: true - redisnet: - internal: true + + keycloak: + build: + context: keycloak/ + restart: unless-stopped + ports: + - "8080:8080" + volumes: + - ./keycloak/realms:/opt/keycloak/data/import:ro + depends_on: + db: + condition: service_healthy + environment: + - KC_DB_URL + - KC_DB_USERNAME + - KC_DB_PASSWORD + - KEYCLOAK_ADMIN + - KEYCLOAK_ADMIN_PASSWORD + healthcheck: + test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] + + national_catalogue_mock: + build: national-node-catalogue-mock/ + environment: + - HARVESTER_URL=${CKAN_SITE_URL} + ports: + - 8001:8001 + restart: unless-stopped From 4adaacbba3cf3b5068d0d8373e1346df9457dcdf Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 6 Dec 2023 15:59:13 +0100 Subject: [PATCH 016/284] Add additional working harvesting source --- national-node-catalogue-mock/main.py | 5 + national-node-catalogue-mock/xnat.ttl | 1694 +++++++++++++++++++++++++ 2 files changed, 1699 insertions(+) create mode 100644 national-node-catalogue-mock/xnat.ttl diff --git a/national-node-catalogue-mock/main.py b/national-node-catalogue-mock/main.py index c63b47c67..8946d1003 100644 --- a/national-node-catalogue-mock/main.py +++ b/national-node-catalogue-mock/main.py @@ -19,5 +19,10 @@ def retrieve_catalogue(): return Response(content=open("catalogue.ttl", "rb").read(), media_type="text/turtle") + +@app.get("/xnat.ttl") +def retrieve_catalogue(): + return Response(content=open("xnat.ttl", "rb").read(), media_type="text/turtle") + if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8001) diff --git a/national-node-catalogue-mock/xnat.ttl b/national-node-catalogue-mock/xnat.ttl new file mode 100644 index 000000000..a95217ca0 --- /dev/null +++ b/national-node-catalogue-mock/xnat.ttl @@ -0,0 +1,1694 @@ +@prefix dcat: . +@prefix dcterms: . +@prefix vcard: . +@prefix xsd: . + + a dcat:Catalog ; + dcterms:description "This is an example XNAT catalog description" ; + dcterms:title "Example XNAT catalog" ; + dcat:dataset , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; + dcterms:identifier "C14GIST"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; + dcterms:identifier "C14GIST_EMC"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database EMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; + dcterms:identifier "C14GIST_NKI"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database NKI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description """ In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions.\r +""" ; + dcterms:identifier "C14GIST_UMCG"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database UMCG" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; + dcterms:identifier "C14GIST_UMCL"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database UMCL" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Neeltje Steeghs" ; + vcard:hasUID ] ; + dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; + dcterms:identifier "C14GIST_UMCN"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GIST imaging database UMCN" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marcel Koek" ; + vcard:hasUID ] ; + dcterms:description "Private project for developing the EuCanShare VRE connection to the TraIT XNAT" ; + dcterms:identifier "Eucansharevre"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanShare VRE" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marinel Cavelaars" ; + vcard:hasUID ] ; + dcterms:description "Demo project for Lygature meeting nov. 2016" ; + dcterms:identifier "LygatureDemo"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "LygatureDemo" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_EMC"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence ErasmusMC Rotterdam" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_INTM"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence Institut national du cancer Milan" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_LBL"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence Leon Berard Leon" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_MSIO"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence Maria Sklodowska-Curie Institute of Oncology - Warszawa" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_NKI"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence NKI Amsterdam" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_RML"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence Royal Marsden London" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; + dcterms:identifier "SAI_UCD"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Sarcoma Artificial Intelligence University of California Davis" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Janne Papma" ; + vcard:hasUID ] ; + dcterms:description "Imaging data acquired in patients of the Alzheimer Center Rotterdam (Alzheimercentrum zuidwest Nederland) " ; + dcterms:identifier "ac_zwn"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Imaging data Alzheimercentrum" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails_amc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS_AMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails_emc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS_EMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails_mumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS_MUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails_rumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS_RUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Maarten Thomeer" ; + vcard:hasUID ] ; + dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; + dcterms:identifier "ails_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AILS_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Frederik Barkhof" ; + vcard:hasUID ] ; + dcterms:description "AMYloid imaging to Prevent Alzheimer's Disease" ; + dcterms:identifier "amypad"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AMYPAD" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Frederik Barkhof" ; + vcard:hasUID ] ; + dcterms:description "AMYloid imaging to Prevent Alzheimer's Disease" ; + dcterms:identifier "amypad_raw"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AMYPAD_raw" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Theo Van Walsum" ; + vcard:hasUID ] ; + dcterms:description "The project will bring together the expertise of Erasmus MC in Inherited retinal diseases (IRDs) and AI with the expertise of Imagine Eyes, France, in AO imaging. Longitudinal data of 400 subjects will be acquired at Erasmus MC to develop new and trustworthy AI-based methods that will allow, for the first time, to quantify and manage the IRDs stratification and progression in a clinical environment." ; + dcterms:identifier "aovision"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "AOVISION" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Harrie Weinans" ; + vcard:hasUID ] ; + dcterms:description "To capture joint images for the prospective APPROACH cohort." ; + dcterms:identifier "approach"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "APPROACH" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Harrie Weinans" ; + vcard:hasUID ] ; + dcterms:description "To capture joint images for the prospective APPROACH cohort." ; + dcterms:identifier "approach_lumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "APPROACH_LUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collections consists of MR brain images that will be used for development and testing purposes for the pipelines in the BBMRI-WP3 project " ; + dcterms:identifier "bbmri-wp3-dev"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "BBMRI-WP3-Develop" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description " Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC." ; + dcterms:identifier "bigreye"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "BIGR[eye]" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description "Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC." ; + dcterms:identifier "bigreye_chusj"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "BIGR[eye] CHUSJ" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description "Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC" ; + dcterms:identifier "bigreye_emc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "BIGR[eye] EMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brain_mri_wml"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_er"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_ERASMUS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Marian Beekman" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_lu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_LLS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_ma"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_DMS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_ne"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_NESDA" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_nt"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_NTR" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_rf"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_Erf" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; + dcterms:identifier "brainmriwml_vu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Brain_MRI_WML_VUMCADC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Esther Bron" ; + vcard:hasUID ] ; + dcterms:description "The Challenge on Computer-Aided Diagnosis of Dementia based on structural MRI data. By addressing comparability, generalizability, and clinical applicability, we aim to take a step forwards to clinical use of computer-aided diagnosis (CAD) methods for dementia" ; + dcterms:identifier "caddemen-train"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CADDementia-Train" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Esther Bron" ; + vcard:hasUID ] ; + dcterms:description "The Challenge on Computer-Aided Diagnosis of Dementia based on structural MRI data. By addressing comparability, generalizability, and clinical applicability, we aim to take a step forwards to clinical use of computer-aided diagnosis (CAD) methods for dementia" ; + dcterms:identifier "caddementia"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CADDementia" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ronak Delewi" ; + vcard:hasUID ] ; + dcterms:description "Substudy of the Heart-Brain Connection consortium, investigating cardiac output, cerebral perfusion and cognition in patients with severe aortic valve stenosis undergoing transcatheter aortic valve implantation." ; + dcterms:identifier "capita_mri"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CAPITA_MRI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description "In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study. We would like to use the Trait XNAT to share the data among the hospitals. " ; + dcterms:identifier "cirguidanc_msz"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CIRGUIDANCERadiomics Maasstad Ziekenhuis" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description " In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study. We would like to use the Trait XNAT to share the data among the hospitals." ; + dcterms:identifier "cirguidanc_zlz"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CIRGUIDANCERadiomics Zuyderland Ziekenhuis" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description " In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study." ; + dcterms:identifier "cirguidance"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CIRGUIDANCERadiomics" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "Data collection for MrClean Dist runin study." ; + dcterms:identifier "cleandist_run"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN DIST RUNIN" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Johannes van Lieshout" ; + vcard:hasUID ] ; + dcterms:description "Cerebral perfusion in patients with severe aortic valve stenosis undergoing transcatheter aortic valve implantation" ; + dcterms:identifier "cp-tavi"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CP-TAVI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "This data was used in the following publication: "K. Hameeteman, S. Rozie, C.T. Metz, R. Manniesing, T. van Walsum, A. van der Lugt, W.J. Niessen and S. Klein, Automatic carotid artery distensibility measurements from CTA using nonrigid registration, Medical Image Analysis, July 2013, vol. 17, pp. 515-524". See also the website http://ctadist.bigr.nl. A table with risk factors is stored under the fake patient "subject_all"." ; + dcterms:identifier "ctadist"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ctadist" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Data for a study on radiomics with the Stanford ePAD system." ; + dcterms:identifier "ctradiomiclung"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CTradiomicslung" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Prof. Dr. Wiesje van der Flier" ; + vcard:hasUID ] ; + dcterms:description """De ExCersion-VCI is een studie naar het effect van beweging op de bloeddoorstroming in de hersenen bij patiënten met vasculaire cognitive stoornissen. De primaire uitkomstmaat van deze studie is ASL-MRI.\r +Deze studie wordt gesubsidieerd door CVON. """ ; + dcterms:identifier "cvonexcersion"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "cvonexcersion" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Cornelis Allaart" ; + vcard:hasUID ] ; + dcterms:description "Brein MRIs van patiënten met permanent AF" ; + dcterms:identifier "cvonmindaf"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "CVON MIND AF" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ruben Dammers" ; + vcard:hasUID ] ; + dcterms:description "The DECSA Study (DExamethasone therapy in symptomatic patients with Chronic Subdural hematoma) compares the effect of initial DXM therapy versus primary surgery on functional outcome and cost-effectiveness, in symptomatic patients with chronic subdural hematoma. We hypothesize that treatment with DXM is as effective as BHC, at lower costs. Secondary objectives are to compare the number of surgical intervention prevented in the intervention (DXM) group, haematoma recurrence and thickness, complications, mortality, quality of life, drug related adverse events, and duration of hospital stay" ; + dcterms:identifier "decsa"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "DECSA" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Remond Fijneman" ; + vcard:hasUID ] ; + dcterms:description "In this prospective multi-centre observational study, data of 400 metastatic colorectal cancer (mCRC) patients who receive systemic treatment will be collected" ; + dcterms:identifier "dolphin"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "DOLPHIN" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Remond Fijneman" ; + vcard:hasUID ] ; + dcterms:description "n this prospective multi-centre observational study, data of 400 metastatic colorectal cancer (mCRC) patients who receive systemic treatment will be collected, using the Prospective Dutch ColoRectal Cancer cohort (www.PLCRC.nl) infrastructure." ; + dcterms:identifier "dolphin_nki"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "DOLPHIN_NKI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Peter van Tintelen" ; + vcard:hasUID ] ; + dcterms:description "Early detection of disease in cardiomyopathy mutation carriers " ; + dcterms:identifier "edetect"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "eDETECT" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Peter van Tintelen" ; + vcard:hasUID ] ; + dcterms:description "Early detection of disease in cardiomyopathy mutation carriers" ; + dcterms:identifier "edetect_amc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "eDETECT_AMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Peter van Tintelen" ; + vcard:hasUID ] ; + dcterms:description "Early detection of disease in cardiomyopathy mutation carriers" ; + dcterms:identifier "edetect_umcg"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "eDETECT_UMCG" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Peter van Tintelen" ; + vcard:hasUID ] ; + dcterms:description "Early detection of disease in cardiomyopathy mutation carriers " ; + dcterms:identifier "edetect_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "eDETECT_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description """FOR ACCESS TO THE DATASET: Do not request an account directly through the XNAT portal. If you would like to access the dataset please send an email to: servicedesk@health-ri.nl You will then be asked to sign the data usage agreement, and an account will be created for you. ACCESS REQUESTS DIRECTLY THROUGH THE XNAT PORTAL WILL NOT BE CONSIDERED.\r +\r +The Erasmus Glioma Database (EGD) is a collection of 774 patients with glioma. For this patients pre-operative imaging, genetic and histological data, and tumor segmentations are available.\r +\r +\r +\r +\r +See the license for all conditions: check the file 'data_license.pdf' at Resources > PROJECT_DATA\r +\r +\r +\r +Some scans might have a poor image quality or errors due to registration issues. We have marked this scans as 'unacceptable' scan quality.\r +\r +This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 952103""" ; + dcterms:identifier "egd"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EGD" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Frederik Barkhof" ; + vcard:hasUID ] ; + dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia) " ; + dcterms:identifier "epad"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EPAD" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Frederik Barkhof" ; + vcard:hasUID ] ; + dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia)" ; + dcterms:identifier "epad_advanced"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EPAD_advanced" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Frederik Barkhof" ; + vcard:hasUID ] ; + dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia) " ; + dcterms:identifier "epad_core"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EPAD_core" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_fcrb_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_FCRB_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_fcrb_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_FCRB_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_fcrb_uc7"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_FCRB_UC7" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_fcrb_uc8"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_FCRB_UC8" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc3"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC3" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc4"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC4" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc5"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC5" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc7"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC7" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_gumed_uc8"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_GUMED_UC8" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc3"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC3" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc4"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC4" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc5"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC5" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc7"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC7" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_kauno_uc8"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_KAUNO_UC8" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_ub_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UB_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_ub_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UB_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc3"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC3" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc4"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC4" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc5"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC5" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc7"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC7" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_umea_uc8"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UMEA_UC8" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc3"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC3" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc4"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC4" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc5"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC5" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc6"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC6" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc7"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC7" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ivan Bocharov" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "euc_unipi_uc8"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanImage_UNIPI_UC8" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Karim Lekadir" ; + vcard:hasUID ] ; + dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; + dcterms:identifier "eucanimage"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EUCanImage_Breast" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description "European data sharing" ; + dcterms:identifier "eucanimage_emc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EUCanImage_EMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Karim Lekadir" ; + vcard:hasUID ] ; + dcterms:description """Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released.\r +""" ; + dcterms:identifier "eucanimage_ub"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EUCanImage_Breast_UB" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Karim Lekadir" ; + vcard:hasUID ] ; + dcterms:description "euCanSHare is a joint EU-Canada project to establish a cross-border data sharing and multi-cohort cardiovascular research platform. Specifically, the project will integrate data infrastructures, IT solutions and data sources from EU, Canada and other countries into a web-based data access system with functionalities for increased efficiency in cardiovascular data-driven research. euCanSHare integrates more than 35 Canadian and European cohorts making up over 1 million records and actively seeks to expand to other regions. " ; + dcterms:identifier "eucanshare"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EuCanShare" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development. " ; + dcterms:identifier "glass-nl"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GLASS-NL" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; + dcterms:identifier "glass-nl_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GLASS-NL_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; + dcterms:identifier "glass-nl_vumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GLASS-NL_VUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; + dcterms:identifier "glass_nl_erasm"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "GLASS-NL_ERASMUSMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marjanka Schmidt" ; + vcard:hasUID ] ; + dcterms:description "As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites." ; + dcterms:identifier "hebon"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "HEBON" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marjanka Schmidt" ; + vcard:hasUID ] ; + dcterms:description "As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites." ; + dcterms:identifier "hebon_emc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "HEBON-Erasmus MC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marjanka Schmidt" ; + vcard:hasUID ] ; + dcterms:description """As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites.\r +""" ; + dcterms:identifier "hebon_nki"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "HEBON-NKI-AVL" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description """International Carotid Stenting Study (ICSS).\r +To compare the risks, benefits and cost effectiveness of a treatment policy of referral for carotid stenting compared with referral for carotid surgery. """ ; + dcterms:identifier "icss"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ICSS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Niels Raaijmakers" ; + vcard:hasUID ] ; + dcterms:description "111 CT/DOSE/PLAN/STRUCT files of patients in KUBUS head-neck registration study" ; + dcterms:identifier "kubus_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "KUBUS_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Niels Raaijmakers" ; + vcard:hasUID ] ; + dcterms:description "124 CT/DOSE/PLAN/STRUCT radiotherapy files of patients in KUBUS head-neck registration study" ; + dcterms:identifier "kubus_vumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "KUBUS_VUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; + dcterms:identifier "leuveneye"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Leuven Eye Study" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; + dcterms:identifier "leuveneye_emc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Leuven Eye EMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Danilo Andrade De Jesus" ; + vcard:hasUID ] ; + dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; + dcterms:identifier "leuveneye_uzl"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Leuven Eye UZL" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Marion Smits" ; + vcard:hasUID ] ; + dcterms:description """FOR ACCESS TO THE DATASET: Do not request an account directly through the XNAT portal. If you would like to access the dataset please send an email to: servicedesk@health-ri.nl Please mention that it concerns the EGD-LGG-GROWTH project. You will then be asked to sign the data usage agreement, and an account will be created for you. ACCESS REQUESTS DIRECTLY THROUGH THE XNAT PORTAL WILL NOT BE CONSIDERED.\r +\r +The EGD-LGG-GROWTH is a collection of 14 patients from Erasmus MC with LGG who underwent awake surgery for tumor resection, but received no further radio- or chemotherapy. This data can be used for the development of glioma growth models, and to reproduce the results in van Garderen et al. \r +""" ; + dcterms:identifier "lgg-grow"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "EGD-LGG-GROWTH" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Arend Mosterd" ; + vcard:hasUID ] ; + dcterms:description "An imaging substudy focusing on pericoronary inflammation in patients with stable coronary artery disease" ; + dcterms:identifier "lodoco2sub"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "LoDoCo2 imaging substudy" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description """The ambition of the MERLIN project is to improve in-depth diagnosis and therapeutic follow-up of diseases that impact the\r +eye’s retina. To do so, the MERLIN partners will deliver a novel medical imaging device able to detect pathological alterations in the retina with highly enhanced sensitivity and specificity.\r +\r +The medical applications of this device encompass a wide range of retinal pathologies, including age-related macular degeneration (AMD), as well as chronic vascular conditions, including diabetes. AMD and diabetic retinopathy (DR) are the leading cause of blindness worldwide in people over 55 years of age. Such diseases slowly develop at the microscopic scale in the retina. Using current imaging techniques, it is difficult to detect them at early stage, and it often takes months to assess the effects of treatments. These limitations hinders both the clinical management of patients and the investigation of new therapies.\r +\r +In order to overcome these issues, the device developed in MERLIN will for the first time enable doctors to examine the retina with multiple imaging modalities at both the macroscopic and microscopic scales. Modalities will include ultrafast scanning laser ophthalmoscopy (SLO), optical coherence tomography (OCT) and OCT angiography (OCT-A), while ultrahigh resolution will be provided by adaptive optics technology. This unique combination will reveal previously invisible cellular and microvascular retinal detail in 3 dimensions. The project partners will also develop advanced image processing software for the visualization and quantitative analysis of microscopic structures, and conduct experimentations to optimize and validate performance in AMD and DR patients.\r +\r +As the feasibility of this diagnostic approach has previously been demonstrated in another European R&D project (FP7 FAMOS, 2012-2017), MERLIN will translate the technology from a preexisting laboratory prototype to a nearly commercial device usable in clinical trials.""" ; + dcterms:identifier "merlin"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "merlin" ; + dcat:keyword "Coherence", + "Laser", + "Ophthalmoscope,", + "Optical", + "Scanning", + "Tomography,", + "adaptive", + "age", + "camera,", + "degeneration,", + "diabetic", + "diagnosis.", + "early", + "macular", + "optics,", + "related", + "retinal", + "retinopathie," . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "This project contains 4D Ultrasound images of the abdomen/liver acquired in 3 three volunteers (pA, pB, pC), each scanned 3 times. Manually tracked landmark points are also available on request. The data was used in the following publication: Vijayan et al, Motion tracking in the liver: Validation of a method based on 4D ultrasound using a nonrigid registration technique, Medical Physics 2014, http://dx.doi.org/10.1118/1.4890091 ." ; + dcterms:identifier "motiontracking"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MotionTracking4DUS" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description """Patients with acute ischemic stroke scheduled for intra-arterial treatment\r +Collection baseline CT and CTA, DSA pre and post intervention, follow-up CT \r +""" ; + dcterms:identifier "mrclean"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN REGISTRY" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "mrclean_asap" ; + dcterms:identifier "mrclean_asap"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "mrclean_asap" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "mrclean_med" ; + dcterms:identifier "mrclean_med"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "mrclean_med" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "Multicenter Randomized Clinical Trial of Endovascular Treatment for Acute. Ischemic Stroke in the Netherlands." ; + dcterms:identifier "mrclean_mri"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN" ; + dcat:keyword "CLEAN", + "CTA,", + "DSA", + "MR", + "NCCT," . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MR CLEAN ASAP" ; + dcterms:identifier "mrcleanasap"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN ASAP" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MR CLEAN DIST" ; + dcterms:identifier "mrcleandist"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN DIST" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MR CLEAN LATE" ; + dcterms:identifier "mrcleanlate"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN LATE" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MR CLEAN MED" ; + dcterms:identifier "mrcleanmed"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN MED" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MR CLEAN NOIV" ; + dcterms:identifier "mrcleannoiv"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "MR CLEAN NOIV" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Ronald van Dam" ; + vcard:hasUID ] ; + dcterms:description "Preoperative CT and MRI images of patients undergoing open or laparoscopic hemihepactomy." ; + dcterms:identifier "orange_ct"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ORANGE_CT" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof.dr. Aad van der Lugt" ; + vcard:hasUID ] ; + dcterms:description "MRI scan collected in patients with neurodegenerative disease in 8 University Medical Centers in the Netherlands. " ; + dcterms:identifier "parelsnoer-ndz"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Parelsnoer-NDZ" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Bob Roozenbeek" ; + vcard:hasUID ] ; + dcterms:description "Prehospital triage of patients with suspected stroke symptoms (PRESTO): protocol of a prospective observational study " ; + dcterms:identifier "presto"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PRESTO" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Gert Meijer" ; + vcard:hasUID ] ; + dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r +The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r +Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r +Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; + dcterms:identifier "pride"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Pride" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Gert Meijer" ; + vcard:hasUID ] ; + dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r +The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r +Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r +Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; + dcterms:identifier "pride_amc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Pride_AMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Gert Meijer" ; + vcard:hasUID ] ; + dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r +The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r +Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r +Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; + dcterms:identifier "pride_nki"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Pride_NKI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Gert Meijer" ; + vcard:hasUID ] ; + dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r +The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r +Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r +Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; + dcterms:identifier "pride_umcg"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Pride_UMCG" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Gert Meijer" ; + vcard:hasUID ] ; + dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r +The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r +Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r +Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; + dcterms:identifier "pride_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "Pride_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Automatic segmentation of the prostate in 3D MR images by atlas matching using localized mutual information" ; + dcterms:identifier "prostate_segm"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "prostate_segmentation" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Hans Langendijk" ; + vcard:hasUID ] ; + dcterms:description "Data from training the auto-contouring model developed at NKI" ; + dcterms:identifier "protrait_nki"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ProTRAIT_NKI" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "dr. ir. Marianna Sijtsema" ; + vcard:hasUID ] ; + dcterms:description "Test environment for implementing ProTRAIT functionality in Trait " ; + dcterms:identifier "protrait_test"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ProTRAIT_test" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Faruk Buyuk" ; + vcard:hasUID ] ; + dcterms:description "Testen uploadstrategie " ; + dcterms:identifier "psi-fb"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI-FB" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr Judith Mannien" ; + vcard:hasUID ] ; + dcterms:description """Betreft: fMRIs van 138 patienten.\r +Voor de PSI Uitgifte NDZ09 van onderzoeker PP de Deyn: Relationship between functional connectivity, AD conversion and cognitive reserve in the Pearl Neurodegenerative Disease study.""" ; + dcterms:identifier "psi_ndz09"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI_NDZ09" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof. dr. Ron Balm" ; + vcard:hasUID ] ; + dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r +aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r +at the department of vascular surgery.""" ; + dcterms:identifier "psi_parel_amc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI_ParelAAA_AMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof. dr. Ron Balm" ; + vcard:hasUID ] ; + dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r +aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r +at the department of vascular surgery.\r +""" ; + dcterms:identifier "psi_parel_lumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI_ParelAAA_LUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof. dr. Ron Balm" ; + vcard:hasUID ] ; + dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r +aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r +at the department of vascular surgery.""" ; + dcterms:identifier "psi_parel_vumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI_ParelAAA_VUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "prof. dr. Ron Balm" ; + vcard:hasUID ] ; + dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r +aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r +at the department of vascular surgery. """ ; + dcterms:identifier "psi_parelaaa"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "PSI_ParelAAA" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Adriaan Versteeg" ; + vcard:hasUID ] ; + dcterms:description "Data sharing platform between QuIC-ConCePT (www.quic-concept.eu) participants for a liver apparent diffusion coefficient (ADC) study. Diffusion-weighted MR images are uploaded so that they can be post-processed at another institution. " ; + dcterms:identifier "quick-concept"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "QuIC-ConCePT" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description "The data in this project is used to predict the grade of retroperitioneal sarcoma using radiomics. The XNAT will be used to store the computed tomography scans." ; + dcterms:identifier "rpsrad"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "RPSRad" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr Andre Dekker" ; + vcard:hasUID ] ; + dcterms:description "This collection contains 156 cases of MAASTRO Head and Neck images and RTStruct contours. Where PET exists, the frame of reference UID of the CT has been transferred to the PET. This collection may not be used for commercial purposes. This collection is freely available to browse, download, and use for scientific and educational purposes as outlined in the Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) https://creativecommons.org/licenses/by-nc/3.0/. Please be sure to include the following citation if you make use of this data set : "Aerts, H. J. W. L., Velazquez, E. R., Leijenaar, R. T. H., Parmar, C., Grossmann, P., Carvalho, S., … Lambin, P. (2014, June 3). Decoding tumour phenotype by noninvasive imaging using a quantitative radiomics approach. Nature Communications. Nature Publishing Group. http://doi.org/10.1038/ncomms5006."" ; + dcterms:identifier "stwstrategyhn1"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "STW_STRATEGY_HEADandNECK1" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr Rene Monshouwer" ; + vcard:hasUID ] ; + dcterms:description """This collection contains phantom scans of a Gammex 467 CT phantom (Middletone, WI, USA) for radiomics intra-scanner testing due to X-ray tube exposure. The phantom was scanned with a Philips Brilliance Big Bore CT. Data Usage Policy : This collection may not be used for commercial purposes. This collection is freely available to browse, download, and use for scientific and educational purposes as outlined in the Creative Commons Attribution 3.0 Unported License (https://creativecommons.org/licenses/by/3.0/). Citation: Learning from scanners: bias reduction and feature correction in Radiomics Zhovannik, Ivan et al.\r +Clinical and Translational Radiation Oncology, 2019\r +""" ; + dcterms:identifier "stwstrategyps4"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "STW-STRATEGY-Phantom_Series4" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. ir. Stefan Klein" ; + vcard:hasUID ] ; + dcterms:description "Glioma data of The Cancer Imaging Archive" ; + dcterms:identifier "tcia_glioma"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "TCIA glioma" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description """Imaging for analyses of patiënt in RCT ULTRA\r +""" ; + dcterms:identifier "ultra_elisab"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_ELISAB" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra_isala"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_ISALA" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra_lumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_LUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra_mch"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_MCH" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA " ; + dcterms:identifier "ultra_mumc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_MUMC" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra_radboud"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_RADBOUD" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "MD Rene Post" ; + vcard:hasUID ] ; + dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; + dcterms:identifier "ultra_umcu"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "ULTRA_UMCU" . + + a dcat:Dataset ; + dcterms:creator [ a vcard:VCard ; + vcard:fn "Dr. Martijn Starmans" ; + vcard:hasUID ] ; + dcterms:description """This collection contains the WORC Database: imaging data, segmentations, and ground truth labels (e.g. diagnosis, phenotype, genetics) of 930 anonymized patients collected at the Erasmus Medical Center (Rotterdam, the Netherlands) with a variety of tumor types (e.g. liver, soft tissue, lung metastases) as published in the following two papers:\r +\r +1) Starmans et al. "Reproducible radiomics through automated machine learning validated on twelve clinical applications", submitted, preprint available from https://arxiv.org/abs/2108.08618; and \r +2) Starmans et al. "The WORC* database: MRI and CT scans, segmentations, and clinical labels for 930 patients from six radiomics studies", submitted, preprint available from https://doi.org/10.1101/2021.08.19.21262238.\r +\r +By downloading the data, you agree to the following Data Usage Policy: \r +\r +The dataset is freely available under the following license: https://xnat.bmia.nl/data/projects/worc/resources/License/files/WORC_data_license.pdf. This license dictates among others that:\r +\r +1) others can remix, adapt and build upon this work only non-commercially;\r +2) the data may not be redistributed.\r +3) when using (part of) this dataset, please cite the two above mentioned papers.\r +\r +See the license for all conditions (https://xnat.bmia.nl/data/projects/worc/resources/License/files/WORC_data_license.pdf).\r +\r +Code to download the data and reproduce the radiomics experiments as detailed in the above papers can be found at https://github.com/MStarmans91/WORCDatabase.\r +""" ; + dcterms:identifier "worc"^^xsd:token ; + dcterms:temporal [ a dcterms:PeriodOfTime ] ; + dcterms:title "WORC" ; + dcat:keyword "artificial", + "classification,", + "intelligence", + "learning,", + "machine", + "oncology,", + "radiomics,", + "segmentation," . + From 2bcbe5b71bd6ee8993ab8f5301046e78e5b90cc3 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 8 Dec 2023 22:54:24 +0100 Subject: [PATCH 017/284] Add CODE_OF_CONDUCT.md and CONTRIBUTING.md --- CODE_OF_CONDUCT.md | 133 +++++++++++++++++++++++++++++++ CONTRIBUTING.md | 159 +++++++++++++++++++++++++++++++++++++ README.md | 2 + src/ckanext-gdi-userportal | 2 +- 4 files changed, 295 insertions(+), 1 deletion(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..20bcc4f64 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,133 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[INSERT CONTACT METHOD]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..787890d30 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,159 @@ + +# Contributing to CKAN Docker GDI User Portal + +First off, thanks for taking the time to contribute! ❤️ + +All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉 + +> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about: +> - Star the project +> - Tweet about it +> - Refer this project in your project's readme +> - Mention the project at local meetups and tell your friends/colleagues + + +## Table of Contents + +- [Code of Conduct](#code-of-conduct) +- [I Have a Question](#i-have-a-question) +- [I Want To Contribute](#i-want-to-contribute) + - [Reporting Bugs](#reporting-bugs) + - [Suggesting Enhancements](#suggesting-enhancements) + - [Your First Code Contribution](#your-first-code-contribution) + - [Improving The Documentation](#improving-the-documentation) +- [Styleguides](#styleguides) + - [Commit Messages](#commit-messages) +- [Join The Project Team](#join-the-project-team) + + +## Code of Conduct + +This project and everyone participating in it is governed by the +[CKAN Docker GDI User Portal Code of Conduct](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-dockerblob/master/CODE_OF_CONDUCT.md). +By participating, you are expected to uphold this code. Please report unacceptable behavior +to <>. + + +## I Have a Question + +> If you want to ask a question, we assume that you have read the available [Documentation](https://genomicdatainfrastructure.github.io/gdi-userportal-docs/). + +Before you ask a question, it is best to search for existing [Issues](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first. + +If you then still feel the need to ask a question and need clarification, we recommend the following: + +- Open an [Issue](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/issues/new). +- Provide as much context as you can about what you're running into. +- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. + +We will then take care of the issue as soon as possible. + + + +## I Want To Contribute + +> ### Legal Notice +> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license. + +### Reporting Bugs + + +#### Before Submitting a Bug Report + +A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible. + +- Make sure that you are using the latest version. +- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://genomicdatainfrastructure.github.io/gdi-userportal-docs/). If you are looking for support, you might want to check [this section](#i-have-a-question)). +- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-dockerissues?q=label%3Abug). +- Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue. +- Collect information about the bug: + - Stack trace (Traceback) + - OS, Platform and Version (Windows, Linux, macOS, x86, ARM) + - Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant. + - Possibly your input and the output + - Can you reliably reproduce the issue? And can you also reproduce it with older versions? + + +#### How Do I Submit a Good Bug Report? + +> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to <>. + + +We use GitHub issues to track bugs and errors. If you run into an issue with the project: + +- Open an [Issue](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.) +- Explain the behavior you would expect and the actual behavior. +- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case. +- Provide the information you collected in the previous section. + +Once it's filed: + +- The project team will label the issue accordingly. +- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. +- If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#your-first-code-contribution). + + + + +### Suggesting Enhancements + +This section guides you through submitting an enhancement suggestion for CKAN Docker GDI User Portal, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions. + + +#### Before Submitting an Enhancement + +- Make sure that you are using the latest version. +- Read the [documentation](https://genomicdatainfrastructure.github.io/gdi-userportal-docs/) carefully and find out if the functionality is already covered, maybe by an individual configuration. +- Perform a [search](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one. +- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library. + + +#### How Do I Submit a Good Enhancement Suggestion? + +Enhancement suggestions are tracked as [GitHub issues](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/issues). + +- Use a **clear and descriptive title** for the issue to identify the suggestion. +- Provide a **step-by-step description of the suggested enhancement** in as many details as possible. +- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you. +- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. +- **Explain why this enhancement would be useful** to most CKAN Docker GDI User Portal users. You may also want to point out the other projects that solved it better and which could serve as inspiration. + + + +### Your First Code Contribution + + +### Improving The Documentation + + +## Styleguides +### Commit Messages + + +## Join The Project Team + + + +## Attribution +This guide is based on the **contributing-gen**. [Make your own](https://github.com/bttger/contributing-gen)! diff --git a/README.md b/README.md index 34fd770f0..5f1895b5c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) + # CKAN for GDI - User Portal ## 1. Overview diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index d0f460cdd..bd60ffa56 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit d0f460cdd7a90f8ad64ecc96a6c06b136e73593e +Subproject commit bd60ffa5631ce4dd2e81a165df4b4b10f859b707 From 2da55891b22e5c8dfcfbc0b5267601a2ca58b26b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 13 Dec 2023 23:58:28 +0100 Subject: [PATCH 018/284] Replace ckanext-keycloak by ckanext-oidc-pkce --- .env.example | 21 +++++--- .gitmodules | 4 -- README.md | 6 +-- ckan/Dockerfile | 4 +- ckan/Dockerfile.dev | 32 +------------ docker-compose.dev.yml | 98 -------------------------------------- docker-compose.yml | 35 ++++---------- keycloak/realms/ckan.json | 2 +- nginx/Dockerfile | 23 --------- nginx/setup/ckan-local.crt | 30 ------------ nginx/setup/ckan-local.key | 52 -------------------- nginx/setup/default.conf | 46 ------------------ nginx/setup/index.html | 22 --------- nginx/setup/nginx.conf | 91 ----------------------------------- src/ckanext-gdi-userportal | 2 +- src/ckanext-keycloak | 1 - 16 files changed, 33 insertions(+), 436 deletions(-) delete mode 100755 docker-compose.dev.yml delete mode 100644 nginx/Dockerfile delete mode 100644 nginx/setup/ckan-local.crt delete mode 100644 nginx/setup/ckan-local.key delete mode 100644 nginx/setup/default.conf delete mode 100644 nginx/setup/index.html delete mode 100644 nginx/setup/nginx.conf delete mode 160000 src/ckanext-keycloak diff --git a/.env.example b/.env.example index d93325fbf..b36475f26 100644 --- a/.env.example +++ b/.env.example @@ -72,18 +72,27 @@ KC_DB_PASSWORD=keycloakdbpassword KEYCLOAK_ADMIN=admin KEYCLOAK_ADMIN_PASSWORD=admin KEYCLOAK_ENABLE_HEALTH_ENDPOINTS=true -CKANEXT__KEYCLOAK__CLIENT_SECRET_KEY=wb4nT5D6LxNJm1648QHCrB0XTcsf2zja -CKANEXT__KEYCLOAK__CLIENT_ID=ckan -CKANEXT__KEYCLOAK__REALM_NAME=ckan -CKANEXT__KEYCLOAK__REDIRECT_URI=http://localhost:5500/user/sso_login -CKANEXT__KEYCLOAK__SERVER_URL=http://keycloak:8080 +KC_HOSTNAME=keycloak + +## OIDC +CKANEXT__OIDC_PKCE__BASE_URL=http://keycloak:8080/realms/ckan/protocol/openid-connect +CKANEXT__OIDC_PKCE__CLIENT_ID=ckan +CKANEXT__OIDC_PKCE__CLIENT_SECRET=wb4nT5D6LxNJm1648QHCrB0XTcsf2zja +CKANEXT__OIDC_PKCE__AUTH_PATH=/auth +CKANEXT__OIDC_PKCE__TOKEN_PATH=/token +CKANEXT__OIDC_PKCE__USERINFO_PATH=/userinfo +CKANEXT__OIDC_PKCE__ERROR_REDIRECT=/user/register +CKANEXT__OIDC_PKCE__SCOPE=email openid profile +CKANEXT__OIDC_PKCE__USE_SAME_ID=true +CKANEXT__OIDC_PKCE__MUNGE_PASSWORD=true +CKAN__ROUTE_AFTER_LOGIN=home # NGINX NGINX_PORT=80 NGINX_SSLPORT=443 # Extensions -CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface keycloak" +CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/.gitmodules b/.gitmodules index 46c8aadb3..e74b158cc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,7 +14,3 @@ path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git branch = user-portal-v3.0.0 -[submodule "src/ckanext-keycloak"] - path = src/ckanext-keycloak - url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-keycloak.git - branch = user-portal-v2.1 diff --git a/README.md b/README.md index 5f1895b5c..7e6d406a5 100644 --- a/README.md +++ b/README.md @@ -30,17 +30,17 @@ CKAN and all the components are configured using environment variables that you ### 3.1. Build and start dev environment ```bash -docker compose -f docker-compose.dev.yml up -d --build +docker compose up -d --build ``` ### 3.2. Remove images and volumes ```bash -docker compose -f docker-compose.dev.yml down -v +docker compose down -v ``` ### 3.3. Logs ```bash -docker compose -f docker-compose.dev.yml logs -f +docker compose logs -f ``` ## 4. installing new extensions diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9ece7599d..d22b884c5 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -15,8 +15,8 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@user-portal-v3.0.0#egg=ckanext-scheming -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-keycloak.git@user-portal-v2.1#egg=ckanext-keycloak && \ - pip3 install -r ${APP_DIR}/src/ckanext-keycloak/requirements.txt +RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ + pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 58dacebb6..d30ca8016 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,35 +1,7 @@ FROM ckan/ckan-dev:2.10.1 -# Install any extensions needed by your CKAN instance -# - Make sure to add the plugins to CKAN__PLUGINS in the .env file -# - Also make sure all provide all extra configuration options, either by: -# * Adding them to the .env file (check the ckanext-envvars syntax for env vars), or -# * Adding extra configuration scripts to /docker-entrypoint.d folder) to update -# the CKAN config file (ckan.ini) with the `ckan config-tool` command -# -# See README > Extending the base images for more details -# -# For instance: -# -### XLoader ### -#RUN pip3 install -e 'git+https://github.com/ckan/ckanext-xloader.git@master#egg=ckanext-xloader' && \ -# pip3 install -r ${APP_DIR}/src/ckanext-xloader/requirements.txt && \ -# pip3 install -U requests[security] - -### Harvester ### -#RUN pip3 install -e 'git+https://github.com/ckan/ckanext-harvest.git@master#egg=ckanext-harvest' && \ -# pip3 install -r ${APP_DIR}/src/ckanext-harvest/pip-requirements.txt -# will also require gather_consumer and fetch_consumer processes running (please see https://github.com/ckan/ckanext-harvest) - -### Scheming ### -#RUN pip3 install -e 'git+https://github.com/ckan/ckanext-scheming.git@master#egg=ckanext-scheming' - -### Pages ### -#RUN pip3 install -e git+https://github.com/ckan/ckanext-pages.git#egg=ckanext-pages - -### DCAT ### -#RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v0.0.6#egg=ckanext-dcat && \ -# pip3 install -r https://raw.githubusercontent.com/ckan/ckanext-dcat/v0.0.6/requirements.txt +RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ + pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt # Clone the extension(s) your are writing for your own project in the `src` folder # to get them mounted in this image at runtime diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml deleted file mode 100755 index 420934422..000000000 --- a/docker-compose.dev.yml +++ /dev/null @@ -1,98 +0,0 @@ -version: "3" - -volumes: - ckan_storage: - pg_data: - solr_data: - -services: - - ckan-dev: - build: - context: ckan/ - dockerfile: Dockerfile.dev - args: - - TZ=${TZ} - env_file: - - .env - depends_on: - db: - condition: service_healthy - solr: - condition: service_healthy - redis: - condition: service_healthy - keycloak: - condition: service_healthy - ports: - - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" - volumes: - - ckan_storage:/var/lib/ckan - - ./src:/srv/app/src_extensions - restart: unless-stopped - healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] - - db: - build: - context: postgresql/ - environment: - - POSTGRES_USER - - POSTGRES_PASSWORD - - POSTGRES_DB - - CKAN_DB_USER - - CKAN_DB_PASSWORD - - CKAN_DB - - DATASTORE_READONLY_USER - - DATASTORE_READONLY_PASSWORD - - DATASTORE_DB - - KC_DB_USERNAME - - KC_DB_PASSWORD - - KC_DB_NAME - volumes: - - pg_data:/var/lib/postgresql/data - restart: unless-stopped - healthcheck: - test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] - - solr: - image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} - volumes: - - solr_data:/var/solr - restart: unless-stopped - healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] - - redis: - image: redis:${REDIS_VERSION} - restart: unless-stopped - healthcheck: - test: ["CMD", "redis-cli", "-e", "QUIT"] - - keycloak: - build: - context: keycloak/ - restart: unless-stopped - ports: - - "8080:8080" - volumes: - - ./keycloak/realms:/opt/keycloak/data/import:ro - depends_on: - db: - condition: service_healthy - environment: - - KC_DB_URL - - KC_DB_USERNAME - - KC_DB_PASSWORD - - KEYCLOAK_ADMIN - - KEYCLOAK_ADMIN_PASSWORD - healthcheck: - test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] - - national_catalogue_mock: - build: national-node-catalogue-mock/ - environment: - - HARVESTER_URL=${CKAN_SITE_URL} - ports: - - 8001:8001 - restart: unless-stopped diff --git a/docker-compose.yml b/docker-compose.yml index 0d6246e98..c55703535 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,34 +2,14 @@ version: "3" volumes: ckan_storage: - driver: local pg_data: - driver: local solr_data: - driver: local - fuseki_data: - driver: local - fuseki_logs: - driver: local services: - - nginx: - container_name: ${NGINX_CONTAINER_NAME} - build: - context: nginx/ - dockerfile: Dockerfile - depends_on: - ckan: - condition: service_healthy - ports: - - "0.0.0.0:${NGINX_SSLPORT_HOST}:${NGINX_SSLPORT}" - - ckan: - container_name: ${CKAN_CONTAINER_NAME} + ckan-dev: build: context: ckan/ - dockerfile: Dockerfile + dockerfile: Dockerfile.dev args: - TZ=${TZ} env_file: @@ -43,14 +23,18 @@ services: condition: service_healthy keycloak: condition: service_healthy + ports: + - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" volumes: - ckan_storage:/var/lib/ckan + - ./src:/srv/app/src_extensions restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] + extra_hosts: + - "catalogue.local.gdi.lu:host-gateway" db: - container_name: ${POSTGRESQL_CONTAINER_NAME} build: context: postgresql/ environment: @@ -73,7 +57,6 @@ services: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] solr: - container_name: ${SOLR_CONTAINER_NAME} image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} volumes: - solr_data:/var/solr @@ -82,7 +65,6 @@ services: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] redis: - container_name: ${REDIS_CONTAINER_NAME} image: redis:${REDIS_VERSION} restart: unless-stopped healthcheck: @@ -105,6 +87,7 @@ services: - KC_DB_PASSWORD - KEYCLOAK_ADMIN - KEYCLOAK_ADMIN_PASSWORD + - KC_HOSTNAME healthcheck: test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] diff --git a/keycloak/realms/ckan.json b/keycloak/realms/ckan.json index 3785ae009..d55abd34f 100644 --- a/keycloak/realms/ckan.json +++ b/keycloak/realms/ckan.json @@ -542,7 +542,7 @@ "description" : "", "rootUrl" : "http://localhost:5500", "adminUrl" : "", - "baseUrl" : "http://localhost:5500/dashboard", + "baseUrl" : "http://localhost:5500/", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, diff --git a/nginx/Dockerfile b/nginx/Dockerfile deleted file mode 100644 index eda7994ee..000000000 --- a/nginx/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM nginx:stable-alpine - -ENV NGINX_DIR=/etc/nginx - -RUN apk update --no-cache && \ - apk upgrade --no-cache && \ - apk add --no-cache openssl - -COPY setup/nginx.conf ${NGINX_DIR}/nginx.conf -COPY setup/index.html /usr/share/nginx/html/index.html -COPY setup/default.conf ${NGINX_DIR}/conf.d/ - -RUN mkdir -p ${NGINX_DIR}/certs - -ENTRYPOINT \ - openssl req \ - -subj '/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost' \ - -x509 -newkey rsa:4096 \ - -nodes -keyout /etc/nginx/ssl/default_key.pem \ - -keyout ${NGINX_DIR}/certs/ckan-local.key \ - -out ${NGINX_DIR}/certs/ckan-local.crt \ - -days 365 && \ - nginx -g 'daemon off;' \ No newline at end of file diff --git a/nginx/setup/ckan-local.crt b/nginx/setup/ckan-local.crt deleted file mode 100644 index 745f95d26..000000000 --- a/nginx/setup/ckan-local.crt +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFIDCCAwgCCQDr3dGZoSvqMDANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJE -RTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xDTALBgNVBAoMBE5v -bmUxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yMzAzMzEwMjM1MjZaFw0yNDAzMzAw -MjM1MjZaMFIxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcM -BkJlcmxpbjENMAsGA1UECgwETm9uZTESMBAGA1UEAwwJbG9jYWxob3N0MIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApej5FEF4lCOAmmUaAr67w6Go2XZO -crV2UoWbJQq+aC688XpSX5MaxBVK7r4MQGvwC0u/5aN50fyGQBWGeiY6/27MbGHA -fimLtGAmHf5ys4FYtD71YYV0ekUMvlTV1flV3gdM3JItlkXR8ukqIb6WlAGv4vS3 -31QdoUyd7bGbCMmtDJ2ecnSlO5U0l9Udoqz4+cDPUMWMc1rXw9DfK/mzm+KR3iW+ -QdWwbWj+Crd/aBKiofKIscq2svRfcVisxSbPr4ib1iMEAxes3nt2cBYNQe8H2OVh -SHbskKtaVgG5d+X+f/Mo+P6/1wrqY1JBgkegWkpcaz5mlT4tjsiudfmKsRRnKqHP -m5qohWBZxH2MDWX1ggJsziI546a5Y0lkvazql8QUd44X/vrWnx37sCn50Dj8DRAf -xtzNAC4doO+nIS+NC964yr6Ps4NrZE++WP5Ry6VUKhl46JSRkg6vtc27ZRrGn6LS -AmWU/Ob6/9UaPQkWZ3A/iDnkrkBflM6wdaD/EQmb5LLou84dhZCivqEJ6/5TdB3c -8w5muTQY2SLY9JmvECNQpfviD1IdXq7zqeH23L/hgE9i3GrYGWqGc9E3cjNht8Qt -hF7WbRaomzbjH6ChZTtiSEw3wtf6bTLKuJjWCBDbp+GypyfDWrvJI2UFVwtH5QMv -HYvxG4t+u+E6F2MCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAQcFH6iKXcErUuPJv -N+EdDfJh8CTvbqnp7SXOBQ2Q66NhsTZXPrpyOzT3APoeineWhwt7YZF59m02O1Ek -yS2qVEdAI9vDgmRvR6ryRsaEkLvnbhfTsBkN56c2oLTxqHBHooAyBKVIl0rSplW9 -EYhZ9t+08QNd/2unEipgTMFUM+JIMMzseKDwrug97tGsCftIPeWddkPchT309Lwr -ECl2JsXX4t67oNR54hqRRvxyriSx/E8BF7rupsnaGNdNPPASoBbGVGEWumUutWMh -PzlkyOgpl5fZ44WqYOBvBeLGGPTkM3uoaySv6GNOAxFsXJfHXCq59TL93LRn4RKs -rik07ZabYa95JFAPUUSzMpplU4RCpE6r+MFceb1WMrDpK/4zoLLeIwmlwiHsrg/6 -L0tN1/RLVQwvpxiVqlmETlyDmqFC+McURNU1ZJU2V8efQTWhDVnB7rNVefQsbTLN -5jaWiKMKQxva2Skf1jgVT9JOfYYCRlHpryOp9yIrqQqVxlaaDJz/Jm91Pt4QhCDj -VhSMDYVMFtE/ylMbB1qR3MJBw0xCCG4zdZpUzvFfR6/wQ5FZ4DvXsbYnsxX/JhgV -sTqxkdnhhR0UsxuHyxGWVPPxS+5IZdxVETcjrMVeaK9PAHyBBSI4DQHYIJWoyZ3m -y9oQx2IvfVXpGptadU5EKWM6210= ------END CERTIFICATE----- diff --git a/nginx/setup/ckan-local.key b/nginx/setup/ckan-local.key deleted file mode 100644 index a558d424a..000000000 --- a/nginx/setup/ckan-local.key +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCl6PkUQXiUI4Ca -ZRoCvrvDoajZdk5ytXZShZslCr5oLrzxelJfkxrEFUruvgxAa/ALS7/lo3nR/IZA -FYZ6Jjr/bsxsYcB+KYu0YCYd/nKzgVi0PvVhhXR6RQy+VNXV+VXeB0zcki2WRdHy -6SohvpaUAa/i9LffVB2hTJ3tsZsIya0MnZ5ydKU7lTSX1R2irPj5wM9QxYxzWtfD -0N8r+bOb4pHeJb5B1bBtaP4Kt39oEqKh8oixyray9F9xWKzFJs+viJvWIwQDF6ze -e3ZwFg1B7wfY5WFIduyQq1pWAbl35f5/8yj4/r/XCupjUkGCR6BaSlxrPmaVPi2O -yK51+YqxFGcqoc+bmqiFYFnEfYwNZfWCAmzOIjnjprljSWS9rOqXxBR3jhf++taf -HfuwKfnQOPwNEB/G3M0ALh2g76chL40L3rjKvo+zg2tkT75Y/lHLpVQqGXjolJGS -Dq+1zbtlGsafotICZZT85vr/1Ro9CRZncD+IOeSuQF+UzrB1oP8RCZvksui7zh2F -kKK+oQnr/lN0HdzzDma5NBjZItj0ma8QI1Cl++IPUh1ervOp4fbcv+GAT2LcatgZ -aoZz0TdyM2G3xC2EXtZtFqibNuMfoKFlO2JITDfC1/ptMsq4mNYIENun4bKnJ8Na -u8kjZQVXC0flAy8di/Ebi3674ToXYwIDAQABAoICAFZTZma3ujm6T0wGlwYeoCwm -jWi5OhBNgwdlJVicwn4K85zh/MJmFGM6gQbANDfA8eGuxGaELPqp3mCx0or0IXaO -/CbYpgP/MgXkkXDB2IS2JKWErMDVY8nK69qM4ca4OYmRWtjZ5oZuRdOSpq1wMYFJ -b28zzgiSB+jJqNLourZT2Yra6Hq9Xswl0nu+E/F09wdc34Izh+Ttu57Tq4uCHYZa -2XMxSFGREn+bRbPlzpEkQSLqw11fELkEljSv4xWiICZBenRtO8UwKG6K5xFjJ/rK -mNauY3QFDQopXpOpygsszMNejk8gnkkSEOsk/ZkAE9tnHbdffJjjBWlp2fzgnty1 -72MwzlrinfOsYn6Ioe/mobGmedxQl4hiu6lI/Rl94C8HmycYRddQAg/55mTgZHBK -kUQCnqbLl9JLFiSwbL6YupkKGJeSPoXdzJcp4v+PT8a1QRDzdge8bwXQZJ59UhEu -EYJnYy79jBT8+UdTZxCYdmc3wuvUvOpxLihOEdr5+/6ZqQ0znoeTXNHxvzb43vRy -W7XgaP4pQH6/sD8mSRGHWNdG0hX9Fjc/C9rQzwMJwCAcGRTN7CjyOCMMbkmoCy5v -UDV22WzZqlUUZijuinLVV2Gn1WSXLWPSOJUFpiVgvrnycItroRoOfOAQOt20HnQu -b/R2P0xCKJCmHqBICpRhAoIBAQDZYD1ZMpvIX2ZyGkjUpy2Zm4ofly0mf/uzMnhv -y76aedZ+uSxlDLnlHTbL2sVOQhq6aRDYAWKYxekDf5FxZ8SXx11Dn/QHvGcZ/Hcl -LrhsGvVKPNPOMsXT8o0g7/BaS3hrzzOgHPRPl6dUZ78C4jX/KLjmNoqeO+FYqqB9 -15yiGIDwJAanhoBOD7gonM9D9f3O6H5KzaDiggem+xSF3RVJyxPTWUEEa9hGZVcx -/QZuEe8W79x3Tk0L5I9/Lw6qfN/JFuN9BY4zTLGar6TtDN2LRIfHm+8eHVyFASxO -RqvTe9MfJwDRuwrULhaCtLjlLpU2HMjhZDlfG3z6EebulZJ1AoIBAQDDY7WEiksY -/5eCyWp1oWTxqnmNKhxD6vd1nRviDEpVTZ0lsHdtiKzpkiEXbvkKjbFbm7wEcsNx -HLKL4Q7Az89iR++dN4QkaqzsdnyRVc9W6UlUk5T2FqKoqsYcm0tG7fgIlXZ0PHgs -jG9cHXIne/QvFQ15xfAv/6bAi0rjfntGf47TaZT6Y56sQQ14OvYemjYviWiBaylQ -kbj3k+mAEGI8n71A2fWndk133HiLJ1EyWLUc8DEcB4kqwJHIYJGEYkwRWwoJmrS2 -hRZVHsn9ar4qi/0UOodUtLpZXerfNPW/KmFCOcI1I7244UgWpOcRke19F2OOI+Eh -mOi4aJwVEJd3AoIBACKf4MW/eO7uuzu7khRFWM8Z5mNnyipSwn3lsSdllcO3WoIu -7rJd15J2F89a1ojDoMxGhgdSGSlqhNYo0Lr2o2rlt6ZY6R7+VJHgE/5ZNckKdj3P -+JDkp3w+K1quvWM0mEbb50Y+tm+jIWUhbVyBOcad7u3EjEnuEdP0wcGpwWpUat1V -b7Xph7BncpcNezpBCZ+Wit9RZ6oMujlPzxIPiB+L+Gl20xNoNjfoVn5A5nBL7QCD -TmO2ljEpw+2nSje/0kmOmsfERcVIFxYjmiqkHPnc/Z++59StKpqI+EyzlxUFqThS -FyBRIcVwXeeN79GZnOzUou677yOGFl8i0Nz5+C0CggEBAKTodd5snh92MVk4R/sK -AdmaCUckoICOQtdoh40M1HwUqqqRuuqerVnhdL6Dcfv/RQ7NbS3P8rZ4AxXeGIaR -njYUAt+NaKEXy+Uzx8UeSIXRFYwll1bwGc8De3vPcgRmeq47/6LxGnh2+tIjJCLB -EoHeYeZCMotAWWwu5EEHkmIY7OHwPcXq6JP3v7eXA/0mKM+MSMDaQh93Lkb+9teY -fGEwbRncG+KADbg5QyAnSfeVOR84dipzDckgiKo3Hvo9wHfxf5JFmXpm70deWhrh -yai9SBeXonrSomkkxEQpPbRfv4CWoRwak1kEAsTh3whMQsYORH9GNxAVL23dFMcO -ntcCggEBANhRGQvq1vxhnLkilwJ0EBocQ+KF8nZfzzOtQ194gPolRWpjVzDOeGc0 -Us4omOreNpIXNYg9ELWMgm53viEoY3GMVt1kPPGwWW/JGeGv0kqr8aM3kWm5gc2H -eu/nM5JbOvUKxnruia9I8BvJeeTTVytRQbv4kojEkZagHKYoZJ+ox0Cx1UmXeVI/ -vCufq4wqetJFNv05SNw7r+UObbc57BIPSvR3SGYmaZYkb8Wo/dZXF+vOAySnR8Go -3bihBMtzmspt9JQtPBDy84okQrojsfm8fyyMRZ/UtMrhvGYFd9bcMDsCY+jybRXa -E0CmRHNQumr+KBM8UT4YtWA+recgbtA= ------END PRIVATE KEY----- diff --git a/nginx/setup/default.conf b/nginx/setup/default.conf deleted file mode 100644 index a628619f1..000000000 --- a/nginx/setup/default.conf +++ /dev/null @@ -1,46 +0,0 @@ -server { - #listen 80; - #listen [::]:80; - listen 443 ssl; - listen [::]:443 ssl; - server_name localhost; - ssl_certificate /etc/nginx/certs/ckan-local.crt; - ssl_certificate_key /etc/nginx/certs/ckan-local.key; - - # TLS 1.2 & 1.3 only - ssl_protocols TLSv1.2 TLSv1.3; - - # Disable weak ciphers - ssl_prefer_server_ciphers on; - ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; - - # SSL sessions - ssl_session_timeout 1d; - # ssl_session_cache dfine in stream and http - ssl_session_tickets off; - - #access_log /var/log/nginx/host.access.log main; - - location / { - proxy_pass http://ckan:5000/; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header Host $host; - #proxy_cache cache; - proxy_cache_bypass $cookie_auth_tkt; - proxy_no_cache $cookie_auth_tkt; - proxy_cache_valid 30m; - proxy_cache_key $host$scheme$proxy_host$request_uri; - } - - error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 500 501 502 503 504 505 506 507 508 510 511 /error.html; - - # redirect server error pages to the static page /error.html - # - location = /error.html { - ssi on; - internal; - auth_basic off; - root /usr/share/nginx/html; - } - -} \ No newline at end of file diff --git a/nginx/setup/index.html b/nginx/setup/index.html deleted file mode 100644 index 561b63bb6..000000000 --- a/nginx/setup/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - CKAN Docker NGINX landing page - - - - -

- CKAN Docker NGINX landing page -

- - - \ No newline at end of file diff --git a/nginx/setup/nginx.conf b/nginx/setup/nginx.conf deleted file mode 100644 index ddc819c3e..000000000 --- a/nginx/setup/nginx.conf +++ /dev/null @@ -1,91 +0,0 @@ - -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log notice; -pid /var/run/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - tcp_nopush on; - tcp_nodelay on; - types_hash_max_size 2048; - keepalive_timeout 65; - - # Don't expose Nginx version - server_tokens off; - - # Prevent clickjacking attacks - add_header X-Frame-Options "SAMEORIGIN"; - - # Mitigate Cross-Site scripting attack - add_header X-XSS-Protection "1; mode=block"; - - # Enable gzip encryption - gzip on; - - proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m; - proxy_temp_path /tmp/nginx_proxy 1 2; - - include /etc/nginx/conf.d/*.conf; - - # Error status text - map $status $status_text { - 400 'Bad Request'; - 401 'Unauthorized'; - 402 'Payment Required'; - 403 'Forbidden'; - 404 'Not Found'; - 405 'Method Not Allowed'; - 406 'Not Acceptable'; - 407 'Proxy Authentication Required'; - 408 'Request Timeout'; - 409 'Conflict'; - 410 'Gone'; - 411 'Length Required'; - 412 'Precondition Failed'; - 413 'Payload Too Large'; - 414 'URI Too Long'; - 415 'Unsupported Media Type'; - 416 'Range Not Satisfiable'; - 417 'Expectation Failed'; - 418 'I\'m a teapot'; - 421 'Misdirected Request'; - 422 'Unprocessable Entity'; - 423 'Locked'; - 424 'Failed Dependency'; - 425 'Too Early'; - 426 'Upgrade Required'; - 428 'Precondition Required'; - 429 'Too Many Requests'; - 431 'Request Header Fields Too Large'; - 451 'Unavailable For Legal Reasons'; - 500 'Internal Server Error'; - 501 'Not Implemented'; - 502 'Bad Gateway'; - 503 'Service Unavailable'; - 504 'Gateway Timeout'; - 505 'HTTP Version Not Supported'; - 506 'Variant Also Negotiates'; - 507 'Insufficient Storage'; - 508 'Loop Detected'; - 510 'Not Extended'; - 511 'Network Authentication Required'; - default 'Something is wrong'; - } -} diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index bd60ffa56..21338b74c 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit bd60ffa5631ce4dd2e81a165df4b4b10f859b707 +Subproject commit 21338b74cf55ab849bd8f4f30cf7fc87d85167c8 diff --git a/src/ckanext-keycloak b/src/ckanext-keycloak deleted file mode 160000 index 9da32839e..000000000 --- a/src/ckanext-keycloak +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9da32839e2a72b9c6bf1013db5805961e940c9d3 From 693444bb4dc89d02884b8bbb3758fb505364fce4 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 15 Dec 2023 11:35:40 +0100 Subject: [PATCH 019/284] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7e6d406a5..d881a0c8a 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,12 @@ The non-CKAN images are as follows: CKAN and all the components are configured using environment variables that you can set in the `.env` file. -## 2. Requirements to run +## 2. Before running locally -* Docker with compose. `colima` is curently beeing used. -* Enough computer resources, example: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` +* Install docker with support to docker compose v2. + * Ensure you have enough computer resources, if you are using `colima`: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` +* Add `127.0.0.1 keycloak` to `/etc/hosts`. +* Copy `.env.example` to `.env`. ## 3. Useful commands From 13af429022f10be6e868626dcd934526900d7eb6 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 15 Dec 2023 15:55:10 +0100 Subject: [PATCH 020/284] Point ckanext-gdi-userportal to the latest commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 21338b74c..57121855f 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 21338b74cf55ab849bd8f4f30cf7fc87d85167c8 +Subproject commit 57121855f995cb67ac535ae9c17f206d277506a1 From 50bdbec88688f4a305e9dc36408241b64bdc4d24 Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Mon, 18 Dec 2023 13:25:34 +0100 Subject: [PATCH 021/284] Restore nginx files --- nginx/Dockerfile | 23 ++++++++++ nginx/setup/ckan-local.crt | 30 +++++++++++++ nginx/setup/ckan-local.key | 52 ++++++++++++++++++++++ nginx/setup/default.conf | 46 +++++++++++++++++++ nginx/setup/index.html | 22 +++++++++ nginx/setup/nginx.conf | 91 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 264 insertions(+) create mode 100644 nginx/Dockerfile create mode 100644 nginx/setup/ckan-local.crt create mode 100644 nginx/setup/ckan-local.key create mode 100644 nginx/setup/default.conf create mode 100644 nginx/setup/index.html create mode 100644 nginx/setup/nginx.conf diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 000000000..eda7994ee --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,23 @@ +FROM nginx:stable-alpine + +ENV NGINX_DIR=/etc/nginx + +RUN apk update --no-cache && \ + apk upgrade --no-cache && \ + apk add --no-cache openssl + +COPY setup/nginx.conf ${NGINX_DIR}/nginx.conf +COPY setup/index.html /usr/share/nginx/html/index.html +COPY setup/default.conf ${NGINX_DIR}/conf.d/ + +RUN mkdir -p ${NGINX_DIR}/certs + +ENTRYPOINT \ + openssl req \ + -subj '/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost' \ + -x509 -newkey rsa:4096 \ + -nodes -keyout /etc/nginx/ssl/default_key.pem \ + -keyout ${NGINX_DIR}/certs/ckan-local.key \ + -out ${NGINX_DIR}/certs/ckan-local.crt \ + -days 365 && \ + nginx -g 'daemon off;' \ No newline at end of file diff --git a/nginx/setup/ckan-local.crt b/nginx/setup/ckan-local.crt new file mode 100644 index 000000000..745f95d26 --- /dev/null +++ b/nginx/setup/ckan-local.crt @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFIDCCAwgCCQDr3dGZoSvqMDANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJE +RTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xDTALBgNVBAoMBE5v +bmUxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yMzAzMzEwMjM1MjZaFw0yNDAzMzAw +MjM1MjZaMFIxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcM +BkJlcmxpbjENMAsGA1UECgwETm9uZTESMBAGA1UEAwwJbG9jYWxob3N0MIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApej5FEF4lCOAmmUaAr67w6Go2XZO +crV2UoWbJQq+aC688XpSX5MaxBVK7r4MQGvwC0u/5aN50fyGQBWGeiY6/27MbGHA +fimLtGAmHf5ys4FYtD71YYV0ekUMvlTV1flV3gdM3JItlkXR8ukqIb6WlAGv4vS3 +31QdoUyd7bGbCMmtDJ2ecnSlO5U0l9Udoqz4+cDPUMWMc1rXw9DfK/mzm+KR3iW+ +QdWwbWj+Crd/aBKiofKIscq2svRfcVisxSbPr4ib1iMEAxes3nt2cBYNQe8H2OVh +SHbskKtaVgG5d+X+f/Mo+P6/1wrqY1JBgkegWkpcaz5mlT4tjsiudfmKsRRnKqHP +m5qohWBZxH2MDWX1ggJsziI546a5Y0lkvazql8QUd44X/vrWnx37sCn50Dj8DRAf +xtzNAC4doO+nIS+NC964yr6Ps4NrZE++WP5Ry6VUKhl46JSRkg6vtc27ZRrGn6LS +AmWU/Ob6/9UaPQkWZ3A/iDnkrkBflM6wdaD/EQmb5LLou84dhZCivqEJ6/5TdB3c +8w5muTQY2SLY9JmvECNQpfviD1IdXq7zqeH23L/hgE9i3GrYGWqGc9E3cjNht8Qt +hF7WbRaomzbjH6ChZTtiSEw3wtf6bTLKuJjWCBDbp+GypyfDWrvJI2UFVwtH5QMv +HYvxG4t+u+E6F2MCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAQcFH6iKXcErUuPJv +N+EdDfJh8CTvbqnp7SXOBQ2Q66NhsTZXPrpyOzT3APoeineWhwt7YZF59m02O1Ek +yS2qVEdAI9vDgmRvR6ryRsaEkLvnbhfTsBkN56c2oLTxqHBHooAyBKVIl0rSplW9 +EYhZ9t+08QNd/2unEipgTMFUM+JIMMzseKDwrug97tGsCftIPeWddkPchT309Lwr +ECl2JsXX4t67oNR54hqRRvxyriSx/E8BF7rupsnaGNdNPPASoBbGVGEWumUutWMh +PzlkyOgpl5fZ44WqYOBvBeLGGPTkM3uoaySv6GNOAxFsXJfHXCq59TL93LRn4RKs +rik07ZabYa95JFAPUUSzMpplU4RCpE6r+MFceb1WMrDpK/4zoLLeIwmlwiHsrg/6 +L0tN1/RLVQwvpxiVqlmETlyDmqFC+McURNU1ZJU2V8efQTWhDVnB7rNVefQsbTLN +5jaWiKMKQxva2Skf1jgVT9JOfYYCRlHpryOp9yIrqQqVxlaaDJz/Jm91Pt4QhCDj +VhSMDYVMFtE/ylMbB1qR3MJBw0xCCG4zdZpUzvFfR6/wQ5FZ4DvXsbYnsxX/JhgV +sTqxkdnhhR0UsxuHyxGWVPPxS+5IZdxVETcjrMVeaK9PAHyBBSI4DQHYIJWoyZ3m +y9oQx2IvfVXpGptadU5EKWM6210= +-----END CERTIFICATE----- diff --git a/nginx/setup/ckan-local.key b/nginx/setup/ckan-local.key new file mode 100644 index 000000000..a558d424a --- /dev/null +++ b/nginx/setup/ckan-local.key @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCl6PkUQXiUI4Ca +ZRoCvrvDoajZdk5ytXZShZslCr5oLrzxelJfkxrEFUruvgxAa/ALS7/lo3nR/IZA +FYZ6Jjr/bsxsYcB+KYu0YCYd/nKzgVi0PvVhhXR6RQy+VNXV+VXeB0zcki2WRdHy +6SohvpaUAa/i9LffVB2hTJ3tsZsIya0MnZ5ydKU7lTSX1R2irPj5wM9QxYxzWtfD +0N8r+bOb4pHeJb5B1bBtaP4Kt39oEqKh8oixyray9F9xWKzFJs+viJvWIwQDF6ze +e3ZwFg1B7wfY5WFIduyQq1pWAbl35f5/8yj4/r/XCupjUkGCR6BaSlxrPmaVPi2O +yK51+YqxFGcqoc+bmqiFYFnEfYwNZfWCAmzOIjnjprljSWS9rOqXxBR3jhf++taf +HfuwKfnQOPwNEB/G3M0ALh2g76chL40L3rjKvo+zg2tkT75Y/lHLpVQqGXjolJGS +Dq+1zbtlGsafotICZZT85vr/1Ro9CRZncD+IOeSuQF+UzrB1oP8RCZvksui7zh2F +kKK+oQnr/lN0HdzzDma5NBjZItj0ma8QI1Cl++IPUh1ervOp4fbcv+GAT2LcatgZ +aoZz0TdyM2G3xC2EXtZtFqibNuMfoKFlO2JITDfC1/ptMsq4mNYIENun4bKnJ8Na +u8kjZQVXC0flAy8di/Ebi3674ToXYwIDAQABAoICAFZTZma3ujm6T0wGlwYeoCwm +jWi5OhBNgwdlJVicwn4K85zh/MJmFGM6gQbANDfA8eGuxGaELPqp3mCx0or0IXaO +/CbYpgP/MgXkkXDB2IS2JKWErMDVY8nK69qM4ca4OYmRWtjZ5oZuRdOSpq1wMYFJ +b28zzgiSB+jJqNLourZT2Yra6Hq9Xswl0nu+E/F09wdc34Izh+Ttu57Tq4uCHYZa +2XMxSFGREn+bRbPlzpEkQSLqw11fELkEljSv4xWiICZBenRtO8UwKG6K5xFjJ/rK +mNauY3QFDQopXpOpygsszMNejk8gnkkSEOsk/ZkAE9tnHbdffJjjBWlp2fzgnty1 +72MwzlrinfOsYn6Ioe/mobGmedxQl4hiu6lI/Rl94C8HmycYRddQAg/55mTgZHBK +kUQCnqbLl9JLFiSwbL6YupkKGJeSPoXdzJcp4v+PT8a1QRDzdge8bwXQZJ59UhEu +EYJnYy79jBT8+UdTZxCYdmc3wuvUvOpxLihOEdr5+/6ZqQ0znoeTXNHxvzb43vRy +W7XgaP4pQH6/sD8mSRGHWNdG0hX9Fjc/C9rQzwMJwCAcGRTN7CjyOCMMbkmoCy5v +UDV22WzZqlUUZijuinLVV2Gn1WSXLWPSOJUFpiVgvrnycItroRoOfOAQOt20HnQu +b/R2P0xCKJCmHqBICpRhAoIBAQDZYD1ZMpvIX2ZyGkjUpy2Zm4ofly0mf/uzMnhv +y76aedZ+uSxlDLnlHTbL2sVOQhq6aRDYAWKYxekDf5FxZ8SXx11Dn/QHvGcZ/Hcl +LrhsGvVKPNPOMsXT8o0g7/BaS3hrzzOgHPRPl6dUZ78C4jX/KLjmNoqeO+FYqqB9 +15yiGIDwJAanhoBOD7gonM9D9f3O6H5KzaDiggem+xSF3RVJyxPTWUEEa9hGZVcx +/QZuEe8W79x3Tk0L5I9/Lw6qfN/JFuN9BY4zTLGar6TtDN2LRIfHm+8eHVyFASxO +RqvTe9MfJwDRuwrULhaCtLjlLpU2HMjhZDlfG3z6EebulZJ1AoIBAQDDY7WEiksY +/5eCyWp1oWTxqnmNKhxD6vd1nRviDEpVTZ0lsHdtiKzpkiEXbvkKjbFbm7wEcsNx +HLKL4Q7Az89iR++dN4QkaqzsdnyRVc9W6UlUk5T2FqKoqsYcm0tG7fgIlXZ0PHgs +jG9cHXIne/QvFQ15xfAv/6bAi0rjfntGf47TaZT6Y56sQQ14OvYemjYviWiBaylQ +kbj3k+mAEGI8n71A2fWndk133HiLJ1EyWLUc8DEcB4kqwJHIYJGEYkwRWwoJmrS2 +hRZVHsn9ar4qi/0UOodUtLpZXerfNPW/KmFCOcI1I7244UgWpOcRke19F2OOI+Eh +mOi4aJwVEJd3AoIBACKf4MW/eO7uuzu7khRFWM8Z5mNnyipSwn3lsSdllcO3WoIu +7rJd15J2F89a1ojDoMxGhgdSGSlqhNYo0Lr2o2rlt6ZY6R7+VJHgE/5ZNckKdj3P ++JDkp3w+K1quvWM0mEbb50Y+tm+jIWUhbVyBOcad7u3EjEnuEdP0wcGpwWpUat1V +b7Xph7BncpcNezpBCZ+Wit9RZ6oMujlPzxIPiB+L+Gl20xNoNjfoVn5A5nBL7QCD +TmO2ljEpw+2nSje/0kmOmsfERcVIFxYjmiqkHPnc/Z++59StKpqI+EyzlxUFqThS +FyBRIcVwXeeN79GZnOzUou677yOGFl8i0Nz5+C0CggEBAKTodd5snh92MVk4R/sK +AdmaCUckoICOQtdoh40M1HwUqqqRuuqerVnhdL6Dcfv/RQ7NbS3P8rZ4AxXeGIaR +njYUAt+NaKEXy+Uzx8UeSIXRFYwll1bwGc8De3vPcgRmeq47/6LxGnh2+tIjJCLB +EoHeYeZCMotAWWwu5EEHkmIY7OHwPcXq6JP3v7eXA/0mKM+MSMDaQh93Lkb+9teY +fGEwbRncG+KADbg5QyAnSfeVOR84dipzDckgiKo3Hvo9wHfxf5JFmXpm70deWhrh +yai9SBeXonrSomkkxEQpPbRfv4CWoRwak1kEAsTh3whMQsYORH9GNxAVL23dFMcO +ntcCggEBANhRGQvq1vxhnLkilwJ0EBocQ+KF8nZfzzOtQ194gPolRWpjVzDOeGc0 +Us4omOreNpIXNYg9ELWMgm53viEoY3GMVt1kPPGwWW/JGeGv0kqr8aM3kWm5gc2H +eu/nM5JbOvUKxnruia9I8BvJeeTTVytRQbv4kojEkZagHKYoZJ+ox0Cx1UmXeVI/ +vCufq4wqetJFNv05SNw7r+UObbc57BIPSvR3SGYmaZYkb8Wo/dZXF+vOAySnR8Go +3bihBMtzmspt9JQtPBDy84okQrojsfm8fyyMRZ/UtMrhvGYFd9bcMDsCY+jybRXa +E0CmRHNQumr+KBM8UT4YtWA+recgbtA= +-----END PRIVATE KEY----- diff --git a/nginx/setup/default.conf b/nginx/setup/default.conf new file mode 100644 index 000000000..a628619f1 --- /dev/null +++ b/nginx/setup/default.conf @@ -0,0 +1,46 @@ +server { + #listen 80; + #listen [::]:80; + listen 443 ssl; + listen [::]:443 ssl; + server_name localhost; + ssl_certificate /etc/nginx/certs/ckan-local.crt; + ssl_certificate_key /etc/nginx/certs/ckan-local.key; + + # TLS 1.2 & 1.3 only + ssl_protocols TLSv1.2 TLSv1.3; + + # Disable weak ciphers + ssl_prefer_server_ciphers on; + ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; + + # SSL sessions + ssl_session_timeout 1d; + # ssl_session_cache dfine in stream and http + ssl_session_tickets off; + + #access_log /var/log/nginx/host.access.log main; + + location / { + proxy_pass http://ckan:5000/; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + #proxy_cache cache; + proxy_cache_bypass $cookie_auth_tkt; + proxy_no_cache $cookie_auth_tkt; + proxy_cache_valid 30m; + proxy_cache_key $host$scheme$proxy_host$request_uri; + } + + error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 500 501 502 503 504 505 506 507 508 510 511 /error.html; + + # redirect server error pages to the static page /error.html + # + location = /error.html { + ssi on; + internal; + auth_basic off; + root /usr/share/nginx/html; + } + +} \ No newline at end of file diff --git a/nginx/setup/index.html b/nginx/setup/index.html new file mode 100644 index 000000000..561b63bb6 --- /dev/null +++ b/nginx/setup/index.html @@ -0,0 +1,22 @@ + + + + + + + CKAN Docker NGINX landing page + + + + +

+ CKAN Docker NGINX landing page +

+ + + \ No newline at end of file diff --git a/nginx/setup/nginx.conf b/nginx/setup/nginx.conf new file mode 100644 index 000000000..ddc819c3e --- /dev/null +++ b/nginx/setup/nginx.conf @@ -0,0 +1,91 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + types_hash_max_size 2048; + keepalive_timeout 65; + + # Don't expose Nginx version + server_tokens off; + + # Prevent clickjacking attacks + add_header X-Frame-Options "SAMEORIGIN"; + + # Mitigate Cross-Site scripting attack + add_header X-XSS-Protection "1; mode=block"; + + # Enable gzip encryption + gzip on; + + proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m; + proxy_temp_path /tmp/nginx_proxy 1 2; + + include /etc/nginx/conf.d/*.conf; + + # Error status text + map $status $status_text { + 400 'Bad Request'; + 401 'Unauthorized'; + 402 'Payment Required'; + 403 'Forbidden'; + 404 'Not Found'; + 405 'Method Not Allowed'; + 406 'Not Acceptable'; + 407 'Proxy Authentication Required'; + 408 'Request Timeout'; + 409 'Conflict'; + 410 'Gone'; + 411 'Length Required'; + 412 'Precondition Failed'; + 413 'Payload Too Large'; + 414 'URI Too Long'; + 415 'Unsupported Media Type'; + 416 'Range Not Satisfiable'; + 417 'Expectation Failed'; + 418 'I\'m a teapot'; + 421 'Misdirected Request'; + 422 'Unprocessable Entity'; + 423 'Locked'; + 424 'Failed Dependency'; + 425 'Too Early'; + 426 'Upgrade Required'; + 428 'Precondition Required'; + 429 'Too Many Requests'; + 431 'Request Header Fields Too Large'; + 451 'Unavailable For Legal Reasons'; + 500 'Internal Server Error'; + 501 'Not Implemented'; + 502 'Bad Gateway'; + 503 'Service Unavailable'; + 504 'Gateway Timeout'; + 505 'HTTP Version Not Supported'; + 506 'Variant Also Negotiates'; + 507 'Insufficient Storage'; + 508 'Loop Detected'; + 510 'Not Extended'; + 511 'Network Authentication Required'; + default 'Something is wrong'; + } +} From 67654090c9f1cbfc3ea73c45c399f343710fa063 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Dec 2023 14:18:29 +0100 Subject: [PATCH 022/284] Build and publish docker image --- .github/workflows/build.yml | 48 --------------------------- .github/workflows/release-package.yml | 37 +++++++++++++++++++++ 2 files changed, 37 insertions(+), 48 deletions(-) delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release-package.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 23dec986c..000000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build CKAN Docker - -on: - # Trigger the workflow on push or pull request, - # but only for the master branch - push: - branches: - - master - pull_request: - branches: - - master - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: NGINX build - uses: docker/build-push-action@v2 - with: - context: ./nginx - file: ./nginx/Dockerfile - push: false - tags: kowhai/ckan-docker-nginx:test-build-only - - - name: PostgreSQL build - uses: docker/build-push-action@v2 - with: - context: ./postgresql - file: ./postgresql/Dockerfile - push: false - tags: kowhai/ckan-docker-postgresql:test-build-only - - - name: CKAN build - uses: docker/build-push-action@v2 - with: - context: ./ckan - file: ./ckan/Dockerfile - push: false - tags: kowhai/ckan-docker-ckan:test-build-only - \ No newline at end of file diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml new file mode 100644 index 000000000..4ef92dcaa --- /dev/null +++ b/.github/workflows/release-package.yml @@ -0,0 +1,37 @@ +name: Build and publish a Docker image + +on: + push: + branches: ['user-portal-main'] + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image + uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + with: + context: ./ckan + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From d3b23b0d8fd42f52801bfa639105afdad63ac54c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Dec 2023 15:05:05 +0100 Subject: [PATCH 023/284] Injecting default plugins directly inside docker image --- .env.example | 1 - ckan/Dockerfile | 2 ++ ckan/Dockerfile.dev | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index b36475f26..6f96c9ff7 100644 --- a/.env.example +++ b/.env.example @@ -92,7 +92,6 @@ NGINX_PORT=80 NGINX_SSLPORT=443 # Extensions -CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index d22b884c5..6c77c03bc 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -32,3 +32,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done + +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index d30ca8016..55786d427 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -20,3 +20,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done + +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" From 48cd6141966bff59bfc551be6570c4c5a97f9a40 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 19 Dec 2023 17:20:07 +0100 Subject: [PATCH 024/284] Added fairdatapoint harvester --- .gitmodules | 6 ++++++ ckan/Dockerfile | 8 +++++++- ckan/Dockerfile.dev | 2 +- src/ckanext-civity | 1 + src/ckanext-fairdatapoint | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) create mode 160000 src/ckanext-civity create mode 160000 src/ckanext-fairdatapoint diff --git a/.gitmodules b/.gitmodules index e74b158cc..bc72d9f88 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,9 @@ path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git branch = user-portal-v3.0.0 +[submodule "src/ckanext-fairdatapoint"] + path = src/ckanext-fairdatapoint + url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git +[submodule "src/ckanext-civity"] + path = src/ckanext-civity + url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 6c77c03bc..0fb79f589 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,6 +18,12 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@main#egg=ckanext-fairdatapoint && \ + pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity.git@main#egg=ckanext-civity + + # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ @@ -33,4 +39,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 55786d427..5b5f86784 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -21,4 +21,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/src/ckanext-civity b/src/ckanext-civity new file mode 160000 index 000000000..83edbeb26 --- /dev/null +++ b/src/ckanext-civity @@ -0,0 +1 @@ +Subproject commit 83edbeb260a5960df2f388989046e01b17cde267 diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint new file mode 160000 index 000000000..df34018db --- /dev/null +++ b/src/ckanext-fairdatapoint @@ -0,0 +1 @@ +Subproject commit df34018dbc24efd29535c16ef6707aea2847aa0b From 02537041ee2986a0b4494205bee2ecae7181399a Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 19 Dec 2023 17:30:04 +0100 Subject: [PATCH 025/284] Revert "Added fairdatapoint harvester" This reverts commit 48cd6141966bff59bfc551be6570c4c5a97f9a40. --- .gitmodules | 6 ------ ckan/Dockerfile | 8 +------- ckan/Dockerfile.dev | 2 +- src/ckanext-civity | 1 - src/ckanext-fairdatapoint | 1 - 5 files changed, 2 insertions(+), 16 deletions(-) delete mode 160000 src/ckanext-civity delete mode 160000 src/ckanext-fairdatapoint diff --git a/.gitmodules b/.gitmodules index bc72d9f88..e74b158cc 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,9 +14,3 @@ path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git branch = user-portal-v3.0.0 -[submodule "src/ckanext-fairdatapoint"] - path = src/ckanext-fairdatapoint - url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git -[submodule "src/ckanext-civity"] - path = src/ckanext-civity - url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 0fb79f589..6c77c03bc 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,12 +18,6 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@main#egg=ckanext-fairdatapoint && \ - pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt - -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity.git@main#egg=ckanext-civity - - # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ @@ -39,4 +33,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 5b5f86784..55786d427 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -21,4 +21,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" diff --git a/src/ckanext-civity b/src/ckanext-civity deleted file mode 160000 index 83edbeb26..000000000 --- a/src/ckanext-civity +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 83edbeb260a5960df2f388989046e01b17cde267 diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint deleted file mode 160000 index df34018db..000000000 --- a/src/ckanext-fairdatapoint +++ /dev/null @@ -1 +0,0 @@ -Subproject commit df34018dbc24efd29535c16ef6707aea2847aa0b From 7de903e1055b8ff338baaffe6c1b15d7ea44e1c8 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 19 Dec 2023 17:32:12 +0100 Subject: [PATCH 026/284] Revert "Revert "Added fairdatapoint harvester"" This reverts commit 02537041ee2986a0b4494205bee2ecae7181399a. --- .gitmodules | 6 ++++++ ckan/Dockerfile | 8 +++++++- ckan/Dockerfile.dev | 2 +- src/ckanext-civity | 1 + src/ckanext-fairdatapoint | 1 + 5 files changed, 16 insertions(+), 2 deletions(-) create mode 160000 src/ckanext-civity create mode 160000 src/ckanext-fairdatapoint diff --git a/.gitmodules b/.gitmodules index e74b158cc..bc72d9f88 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,9 @@ path = src/ckanext-scheming url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git branch = user-portal-v3.0.0 +[submodule "src/ckanext-fairdatapoint"] + path = src/ckanext-fairdatapoint + url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git +[submodule "src/ckanext-civity"] + path = src/ckanext-civity + url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 6c77c03bc..0fb79f589 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,6 +18,12 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@main#egg=ckanext-fairdatapoint && \ + pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity.git@main#egg=ckanext-civity + + # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ @@ -33,4 +39,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 55786d427..5b5f86784 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -21,4 +21,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/src/ckanext-civity b/src/ckanext-civity new file mode 160000 index 000000000..83edbeb26 --- /dev/null +++ b/src/ckanext-civity @@ -0,0 +1 @@ +Subproject commit 83edbeb260a5960df2f388989046e01b17cde267 diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint new file mode 160000 index 000000000..df34018db --- /dev/null +++ b/src/ckanext-fairdatapoint @@ -0,0 +1 @@ +Subproject commit df34018dbc24efd29535c16ef6707aea2847aa0b From 4b0d751a8f462221f80d0d71268183557b4b193e Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 19 Dec 2023 22:06:04 +0100 Subject: [PATCH 027/284] Update ckanext-gdi-userportal --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 57121855f..53f83d701 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 57121855f995cb67ac535ae9c17f206d277506a1 +Subproject commit 53f83d701ce78ae5109eb9edad003020a100b1b5 From 225a241bb14fd260205ff6de71a5381873f0bbf2 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 20 Dec 2023 10:51:51 +0100 Subject: [PATCH 028/284] remove civity extension --- .gitmodules | 3 --- ckan/Dockerfile | 2 -- src/ckanext-civity | 1 - 3 files changed, 6 deletions(-) delete mode 160000 src/ckanext-civity diff --git a/.gitmodules b/.gitmodules index bc72d9f88..4b7be755c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,6 +17,3 @@ [submodule "src/ckanext-fairdatapoint"] path = src/ckanext-fairdatapoint url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git -[submodule "src/ckanext-civity"] - path = src/ckanext-civity - url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 0fb79f589..10bb43218 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -21,8 +21,6 @@ RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0. RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@main#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-civity.git@main#egg=ckanext-civity - # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ diff --git a/src/ckanext-civity b/src/ckanext-civity deleted file mode 160000 index 83edbeb26..000000000 --- a/src/ckanext-civity +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 83edbeb260a5960df2f388989046e01b17cde267 From ec4e4baf7b2b86082efef14388defb01020e4595 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 20 Dec 2023 11:45:36 +0100 Subject: [PATCH 029/284] Update HEAD commit for Harvester and DCAT --- src/ckanext-dcat | 2 +- src/ckanext-harvest | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ckanext-dcat b/src/ckanext-dcat index 0c6102e6b..a55af9d23 160000 --- a/src/ckanext-dcat +++ b/src/ckanext-dcat @@ -1 +1 @@ -Subproject commit 0c6102e6b51c29b2651d799932bb658a5677f2f7 +Subproject commit a55af9d235ebe108ce6cd7b5b2a16cd12a5a7779 diff --git a/src/ckanext-harvest b/src/ckanext-harvest index 9fb44f798..23ac96229 160000 --- a/src/ckanext-harvest +++ b/src/ckanext-harvest @@ -1 +1 @@ -Subproject commit 9fb44f79809a1c04dfeb0e1ca2540c5ff3cacef4 +Subproject commit 23ac9622994540bd88e16eb3a83a15b62d719fba From ade98aca7705068773fbae00e365cf4a8d303aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Youn=C3=A8s=20Adem?= Date: Wed, 20 Dec 2023 15:53:01 +0100 Subject: [PATCH 030/284] Fix ckanext fairdatapoint head commit --- .gitmodules | 1 + src/ckanext-fairdatapoint | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 4b7be755c..af6a88005 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,3 +17,4 @@ [submodule "src/ckanext-fairdatapoint"] path = src/ckanext-fairdatapoint url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git + branch = user-portal diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint index df34018db..bef836fdb 160000 --- a/src/ckanext-fairdatapoint +++ b/src/ckanext-fairdatapoint @@ -1 +1 @@ -Subproject commit df34018dbc24efd29535c16ef6707aea2847aa0b +Subproject commit bef836fdbc8304294c64ce5f9bc20095076e060b From a022d023443943b3a84ff83bb1967441ac54fb89 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 09:56:12 +0100 Subject: [PATCH 031/284] Expose ENV variables in custom docker image --- .env.example | 8 +------- ckan/Dockerfile | 2 ++ ckan/Dockerfile.dev | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.env.example b/.env.example index 6f96c9ff7..77aaa552b 100644 --- a/.env.example +++ b/.env.example @@ -38,7 +38,6 @@ CKAN_VERSION=2.10.1 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN_PORT=5000 -CKAN_PORT_HOST=5500 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME @@ -74,7 +73,7 @@ KEYCLOAK_ADMIN_PASSWORD=admin KEYCLOAK_ENABLE_HEALTH_ENDPOINTS=true KC_HOSTNAME=keycloak -## OIDC +# Extensions CKANEXT__OIDC_PKCE__BASE_URL=http://keycloak:8080/realms/ckan/protocol/openid-connect CKANEXT__OIDC_PKCE__CLIENT_ID=ckan CKANEXT__OIDC_PKCE__CLIENT_SECRET=wb4nT5D6LxNJm1648QHCrB0XTcsf2zja @@ -87,11 +86,6 @@ CKANEXT__OIDC_PKCE__USE_SAME_ID=true CKANEXT__OIDC_PKCE__MUNGE_PASSWORD=true CKAN__ROUTE_AFTER_LOGIN=home -# NGINX -NGINX_PORT=80 -NGINX_SSLPORT=443 - -# Extensions CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1477f1fc5..7c0b9a9ef 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -38,3 +38,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN_SOLR_URL = http://test:8983/solr/ckan +ENV CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@test/ckandb diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 869cf2723..af7b4f093 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -22,3 +22,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN_SOLR_URL = http://test:8983/solr/ckan +ENV CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@test/ckandb From 77d1048afb8dab9fbfb1288e84336dbba628c394 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 10:48:28 +0100 Subject: [PATCH 032/284] Setup database url before prerun.py --- ckan/docker-entrypoint.d/setup_database.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 ckan/docker-entrypoint.d/setup_database.sh diff --git a/ckan/docker-entrypoint.d/setup_database.sh b/ckan/docker-entrypoint.d/setup_database.sh new file mode 100644 index 000000000..68b3b7a91 --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_database.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Update the config file with each extension config-options +echo "Setting up database" + +ckan config-tool $CKAN_INI "sqlalchemy.url = $CKAN_SQLALCHEMY_URL" From 77779e1aeeb7658916bca8d6584733ee07c752ea Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 11:10:59 +0100 Subject: [PATCH 033/284] Setup plugins before prerun.py --- ckan/Dockerfile | 4 ---- ckan/Dockerfile.dev | 4 ---- ckan/docker-entrypoint.d/setup_plugins.sh | 6 ++++++ 3 files changed, 6 insertions(+), 8 deletions(-) create mode 100644 ckan/docker-entrypoint.d/setup_plugins.sh diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 7c0b9a9ef..7e0251fa6 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -36,7 +36,3 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done - -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" -ENV CKAN_SOLR_URL = http://test:8983/solr/ckan -ENV CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@test/ckandb diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index af7b4f093..190579e35 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -20,7 +20,3 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done - -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" -ENV CKAN_SOLR_URL = http://test:8983/solr/ckan -ENV CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@test/ckandb diff --git a/ckan/docker-entrypoint.d/setup_plugins.sh b/ckan/docker-entrypoint.d/setup_plugins.sh new file mode 100644 index 000000000..bb16abbbf --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_plugins.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Update the config file with each extension config-options +echo "Setting up plugins" + +ckan config-tool $CKAN_INI "ckan.plugins = envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" From 052400987565e0f8712c62629c9a8372568b61c4 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 11:16:04 +0100 Subject: [PATCH 034/284] Fix fairdatapoint branch --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 7e0251fa6..c779c7fcc 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@main#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 2cbdc13df99ae80e1222d50ad51c53077130473b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 11:43:36 +0100 Subject: [PATCH 035/284] Override prerun.py --- ckan/Dockerfile | 2 ++ ckan/Dockerfile.dev | 2 ++ ckan/docker-entrypoint.d/setup_database.sh | 6 ------ ckan/docker-entrypoint.d/setup_plugins.sh | 6 ------ ckan/setup/{prerun.py.override => prerun.py} | 16 +++++++++++++--- 5 files changed, 17 insertions(+), 15 deletions(-) delete mode 100644 ckan/docker-entrypoint.d/setup_database.sh delete mode 100644 ckan/docker-entrypoint.d/setup_plugins.sh rename ckan/setup/{prerun.py.override => prerun.py} (93%) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c779c7fcc..81e96e905 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -36,3 +36,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done + +COPY setup/prerun.py ${APP_DIR}/prerun.py diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 190579e35..159f9946d 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -20,3 +20,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done + +COPY setup/prerun.py ${APP_DIR}/prerun.py diff --git a/ckan/docker-entrypoint.d/setup_database.sh b/ckan/docker-entrypoint.d/setup_database.sh deleted file mode 100644 index 68b3b7a91..000000000 --- a/ckan/docker-entrypoint.d/setup_database.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# Update the config file with each extension config-options -echo "Setting up database" - -ckan config-tool $CKAN_INI "sqlalchemy.url = $CKAN_SQLALCHEMY_URL" diff --git a/ckan/docker-entrypoint.d/setup_plugins.sh b/ckan/docker-entrypoint.d/setup_plugins.sh deleted file mode 100644 index bb16abbbf..000000000 --- a/ckan/docker-entrypoint.d/setup_plugins.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# Update the config file with each extension config-options -echo "Setting up plugins" - -ckan config-tool $CKAN_INI "ckan.plugins = envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/setup/prerun.py.override b/ckan/setup/prerun.py similarity index 93% rename from ckan/setup/prerun.py.override rename to ckan/setup/prerun.py index 3d6869690..f280ebf5f 100644 --- a/ckan/setup/prerun.py.override +++ b/ckan/setup/prerun.py @@ -27,6 +27,15 @@ def update_plugins(): subprocess.check_output(cmd, stderr=subprocess.STDOUT) print("[prerun] Plugins set.") +def update_database(): + + sqlalchemy_url = os.environ.get("CKAN_SQLALCHEMY_URL", "") + print(("[prerun] Setting the SqlAlchemy URL in {}:".format(ckan_ini))) + print(sqlalchemy_url) + cmd = ["ckan", "config-tool", ckan_ini, "sqlalchemy.url = {}".format(sqlalchemy_url)] + subprocess.check_output(cmd, stderr=subprocess.STDOUT) + print("[prerun] SqlAlchemy URL set.") + def check_main_db_connection(retry=None): @@ -202,11 +211,12 @@ def create_sysadmin(): if maintenance: print("[prerun] Maintenance mode, skipping setup...") else: + update_plugins() + update_database() check_main_db_connection() init_db() - update_plugins() - check_datastore_db_connection() - init_datastore_db() + #check_datastore_db_connection() + #init_datastore_db() check_solr_connection() create_sysadmin() \ No newline at end of file From 8560abd9381a68188b13a06ed102d1bb852ac6bf Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 11:52:19 +0100 Subject: [PATCH 036/284] Add missing CKAN__PLUGINS --- ckan/Dockerfile | 2 ++ ckan/Dockerfile.dev | 2 ++ ckan/setup/prerun.py | 1 - 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 81e96e905..3b208c7a1 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -38,3 +38,5 @@ RUN for d in $APP_DIR/patches/*; do \ done COPY setup/prerun.py ${APP_DIR}/prerun.py + +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 159f9946d..dce2ea53f 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -22,3 +22,5 @@ RUN for d in $APP_DIR/patches/*; do \ done COPY setup/prerun.py ${APP_DIR}/prerun.py + +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index f280ebf5f..30b319949 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -19,7 +19,6 @@ def update_plugins(): - plugins = os.environ.get("CKAN__PLUGINS", "") print(("[prerun] Setting the following plugins in {}:".format(ckan_ini))) print(plugins) From 566922184f9d3c4e449471ba1afe5ea3392850de Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 14:44:26 +0100 Subject: [PATCH 037/284] Update HEAD commit of fairdatapoint and gdi-userportal --- src/ckanext-fairdatapoint | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint index bef836fdb..d4ffcbecb 160000 --- a/src/ckanext-fairdatapoint +++ b/src/ckanext-fairdatapoint @@ -1 +1 @@ -Subproject commit bef836fdbc8304294c64ce5f9bc20095076e060b +Subproject commit d4ffcbecb47bf59f1c4e5069fb7819face1d9352 diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 53f83d701..28a580b67 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 53f83d701ce78ae5109eb9edad003020a100b1b5 +Subproject commit 28a580b67615783ed58c29bb4d74c4d0a2b224a0 From 427ae344b4eb1f50bbab4a5cceda650f7d797478 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 22:54:33 +0100 Subject: [PATCH 038/284] Remove COPY prerun.py from dockerfiles --- ckan/Dockerfile | 2 -- ckan/Dockerfile.dev | 2 -- 2 files changed, 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 3b208c7a1..2fca9a7a2 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -37,6 +37,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -COPY setup/prerun.py ${APP_DIR}/prerun.py - ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index dce2ea53f..869cf2723 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -21,6 +21,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -COPY setup/prerun.py ${APP_DIR}/prerun.py - ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" From 821edf7b31a3e0693e5410076ffc2e074727ad3b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 23:12:01 +0100 Subject: [PATCH 039/284] Add ckan user to COPY command --- ckan/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 2fca9a7a2..04d621700 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -38,3 +38,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" + +COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} From 2cc12e6da29f9276f2dca5f9a6bb48b073d5fd8d Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Dec 2023 23:23:52 +0100 Subject: [PATCH 040/284] Run chown on /var/lib/ckan --- ckan/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 04d621700..a50d8ad85 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -40,3 +40,5 @@ RUN for d in $APP_DIR/patches/*; do \ ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} + +RUN chown -R ckan:ckan ${CKAN_STORAGE_PATH} From ee2288d82fe73b1ea89998f176165c4270a304b8 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 20 Dec 2023 21:51:43 +0100 Subject: [PATCH 041/284] Clean dev.local configuration --- .env.example | 37 +- _http/ckan.http | 5 + docker-compose.yml | 23 +- keycloak/Dockerfile | 4 +- .../realms/{ckan.json => ckan-realm.json} | 31 +- national-node-catalogue-mock/Dockerfile | 9 - national-node-catalogue-mock/catalogue.ttl | 6453 ----------------- national-node-catalogue-mock/main.py | 28 - national-node-catalogue-mock/requirements.txt | 2 - national-node-catalogue-mock/xnat.ttl | 1694 ----- nginx/Dockerfile | 23 - nginx/setup/ckan-local.crt | 30 - nginx/setup/ckan-local.key | 52 - nginx/setup/default.conf | 46 - nginx/setup/index.html | 22 - nginx/setup/nginx.conf | 91 - ...10_create_ckandb.sh => 1_create_ckandb.sh} | 0 .../20_create_datastore.sh | 7 - ...e_keycloakdb.sh => 2_create_keycloakdb.sh} | 0 ...databases.sh => 3_setup_test_databases.sh} | 0 20 files changed, 48 insertions(+), 8509 deletions(-) create mode 100644 _http/ckan.http rename keycloak/realms/{ckan.json => ckan-realm.json} (97%) delete mode 100644 national-node-catalogue-mock/Dockerfile delete mode 100644 national-node-catalogue-mock/catalogue.ttl delete mode 100644 national-node-catalogue-mock/main.py delete mode 100644 national-node-catalogue-mock/requirements.txt delete mode 100644 national-node-catalogue-mock/xnat.ttl delete mode 100644 nginx/Dockerfile delete mode 100644 nginx/setup/ckan-local.crt delete mode 100644 nginx/setup/ckan-local.key delete mode 100644 nginx/setup/default.conf delete mode 100644 nginx/setup/index.html delete mode 100644 nginx/setup/nginx.conf rename postgresql/docker-entrypoint-initdb.d/{10_create_ckandb.sh => 1_create_ckandb.sh} (100%) delete mode 100755 postgresql/docker-entrypoint-initdb.d/20_create_datastore.sh rename postgresql/docker-entrypoint-initdb.d/{40_create_keycloakdb.sh => 2_create_keycloakdb.sh} (100%) rename postgresql/docker-entrypoint-initdb.d/{30_setup_test_databases.sh => 3_setup_test_databases.sh} (100%) diff --git a/.env.example b/.env.example index 77aaa552b..7687144bf 100644 --- a/.env.example +++ b/.env.example @@ -1,40 +1,17 @@ -# Container names -NGINX_CONTAINER_NAME=nginx -REDIS_CONTAINER_NAME=redis -POSTGRESQL_CONTAINER_NAME=db -SOLR_CONTAINER_NAME=solr -CKAN_CONTAINER_NAME=ckan -WORKER_CONTAINER_NAME=ckan-worker - # Host Ports CKAN_PORT_HOST=5500 -NGINX_PORT_HOST=81 -NGINX_SSLPORT_HOST=8443 -# CKAN databases +# Postgres POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=postgres -POSTGRES_HOST=db +POSTGRES_HOST=postgres CKAN_DB_USER=ckandbuser CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb -CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@db/ckandb - -# Test database connections -TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@db/ckan_test -TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@db/datastore_test -TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@db/datastore_test - -DATASTORE_READONLY_USER=datastore_ro -DATASTORE_READONLY_PASSWORD=datastore -DATASTORE_DB=datastore - -# Dev settings -USE_HTTPS_FOR_DEV=false -# CKAN core -CKAN_VERSION=2.10.1 +# CKAN +CKAN_VERSION=2.10.3 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN_PORT=5000 @@ -45,13 +22,15 @@ CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME CKAN_SYSADMIN_NAME=ckan_admin CKAN_SYSADMIN_PASSWORD=test1234 CKAN_SYSADMIN_EMAIL=your_email@example.com -CKAN_STORAGE_PATH=/var/lib/ckan CKAN_SMTP_SERVER=smtp.corporateict.domain:25 CKAN_SMTP_STARTTLS=True CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost -TZ=UTC +CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} +TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@${POSTGRES_HOST}/ckan_test +TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@${POSTGRES_HOST}/datastore_test +TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@${POSTGRES_HOST}/datastore_test # Solr SOLR_IMAGE_VERSION=2.10-solr9 diff --git a/_http/ckan.http b/_http/ckan.http new file mode 100644 index 000000000..26e76b9d6 --- /dev/null +++ b/_http/ckan.http @@ -0,0 +1,5 @@ +GET http://localhost:5500/api/action/scheming_package_show?type=dataset&id=5eedc478-87b2-4947-8a9a-c90437440079 + +### + +GET http://localhost:5500/api/action/scheming_dataset_schema_show?type=dataset&id=4611e835-ee00-49e8-a97a-9077759ce791 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c55703535..77f2809a8 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,12 +10,10 @@ services: build: context: ckan/ dockerfile: Dockerfile.dev - args: - - TZ=${TZ} env_file: - .env depends_on: - db: + postgres: condition: service_healthy solr: condition: service_healthy @@ -31,10 +29,8 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] - extra_hosts: - - "catalogue.local.gdi.lu:host-gateway" - db: + postgres: build: context: postgresql/ environment: @@ -44,9 +40,6 @@ services: - CKAN_DB_USER - CKAN_DB_PASSWORD - CKAN_DB - - DATASTORE_READONLY_USER - - DATASTORE_READONLY_PASSWORD - - DATASTORE_DB - KC_DB_USERNAME - KC_DB_PASSWORD - KC_DB_NAME @@ -55,6 +48,8 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] + ports: + - "5432:5432" solr: image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} @@ -79,7 +74,7 @@ services: volumes: - ./keycloak/realms:/opt/keycloak/data/import:ro depends_on: - db: + postgres: condition: service_healthy environment: - KC_DB_URL @@ -90,11 +85,3 @@ services: - KC_HOSTNAME healthcheck: test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] - - national_catalogue_mock: - build: national-node-catalogue-mock/ - environment: - - HARVESTER_URL=${CKAN_SITE_URL} - ports: - - 8001:8001 - restart: unless-stopped diff --git a/keycloak/Dockerfile b/keycloak/Dockerfile index ca0d31ae1..9696754ff 100644 --- a/keycloak/Dockerfile +++ b/keycloak/Dockerfile @@ -6,11 +6,13 @@ RUN dnf install --installroot /mnt/rootfs curl --releasever 9 --setopt install_w rpm --root /mnt/rootfs -e --nodeps setup # Second stage: build keycloak image -FROM quay.io/keycloak/keycloak:latest +FROM quay.io/keycloak/keycloak:23.0.3 # Copy curl from the first stage COPY --from=ubi-micro-build /mnt/rootfs / +USER keycloak + # Enable health and metrics support ENV KC_HEALTH_ENABLED=true diff --git a/keycloak/realms/ckan.json b/keycloak/realms/ckan-realm.json similarity index 97% rename from keycloak/realms/ckan.json rename to keycloak/realms/ckan-realm.json index d55abd34f..18ec5efe0 100644 --- a/keycloak/realms/ckan.json +++ b/keycloak/realms/ckan-realm.json @@ -192,7 +192,7 @@ "composite" : true, "composites" : { "client" : { - "realm-management" : [ "view-realm", "query-clients", "impersonation", "query-groups", "view-events", "manage-identity-providers", "manage-clients", "view-authorization", "manage-realm", "manage-authorization", "view-identity-providers", "view-users", "create-client", "view-clients", "query-realms", "manage-users", "manage-events", "query-users" ] + "realm-management" : [ "view-realm", "query-clients", "impersonation", "query-groups", "view-events", "manage-identity-providers", "manage-clients", "view-authorization", "manage-realm", "manage-authorization", "view-identity-providers", "create-client", "view-users", "query-realms", "view-clients", "manage-users", "manage-events", "query-users" ] } }, "clientRole" : true, @@ -383,6 +383,29 @@ "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], "webAuthnPolicyPasswordlessExtraOrigins" : [ ], "users" : [ { + "id" : "52cacbab-c440-4385-9d5f-46aa4930b0e4", + "createdTimestamp" : 1703107576892, + "username" : "ckan_admin", + "enabled" : true, + "totp" : false, + "emailVerified" : false, + "firstName" : "CKAN", + "lastName" : "Admin", + "email" : "your_email@example.com", + "credentials" : [ { + "id" : "1c2c2caf-4556-479d-853f-9ed3c0ecb017", + "type" : "password", + "userLabel" : "My password", + "createdDate" : 1703107588036, + "secretData" : "{\"value\":\"urHSmjggWEph066Ed4l6c2qA63fShCx+ny7PA7pAquw=\",\"salt\":\"Zh3X+GfxGoMiZ1dZv3rnPw==\",\"additionalParameters\":{}}", + "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" + } ], + "disableableCredentialTypes" : [ ], + "requiredActions" : [ ], + "realmRoles" : [ "default-roles-ckan" ], + "notBefore" : 0, + "groups" : [ ] + }, { "id" : "900af5fc-4c5c-4333-bcee-9855bfb0991d", "createdTimestamp" : 1701295297234, "username" : "service-account-ckan", @@ -1191,7 +1214,7 @@ "subType" : "authenticated", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "oidc-full-name-mapper", "saml-user-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-role-list-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] } }, { "id" : "1a9c6e95-2a93-47b4-83ee-b414941cac4e", @@ -1235,7 +1258,7 @@ "subType" : "anonymous", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-attribute-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper", "oidc-usermodel-property-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-address-mapper" ] } }, { "id" : "c6451db3-895c-4b82-9b16-3923fc8161f4", @@ -1841,7 +1864,7 @@ "cibaInterval" : "5", "realmReusableOtpCode" : "false" }, - "keycloakVersion" : "23.0.1", + "keycloakVersion" : "23.0.3", "userManagedAccessAllowed" : false, "clientProfiles" : { "profiles" : [ ] diff --git a/national-node-catalogue-mock/Dockerfile b/national-node-catalogue-mock/Dockerfile deleted file mode 100644 index 91e290ff5..000000000 --- a/national-node-catalogue-mock/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM python:3.11 - -COPY ./ /code - -WORKDIR /code - -RUN pip install --no-cache-dir --upgrade -r requirements.txt - -CMD ["python", "main.py"] diff --git a/national-node-catalogue-mock/catalogue.ttl b/national-node-catalogue-mock/catalogue.ttl deleted file mode 100644 index 374aaf1c8..000000000 --- a/national-node-catalogue-mock/catalogue.ttl +++ /dev/null @@ -1,6453 +0,0 @@ -@prefix dcat: . -@prefix dct: . -@prefix euthemes: . -@prefix foaf: . -@prefix hydra: . -@prefix rdfs: . -@prefix vcard: . -@prefix xsd: . - - a dcat:Catalog ; - dcat:dataset , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - . - - a hydra:PagedCollection ; - hydra:firstPage "https://ckan.opendata.swiss/catalog.ttl?page=1" ; - hydra:itemsPerPage 100 ; - hydra:lastPage "https://ckan.opendata.swiss/catalog.ttl?page=103" ; - hydra:nextPage "https://ckan.opendata.swiss/catalog.ttl?page=2" ; - hydra:totalItems 10232 . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Alvaschein\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Alvaschein\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Alvaschein\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Alvaschagn\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1801@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Alvaschein"@de, - "Alvaschein"@fr, - "Alvaschein"@it, - "Alvaschagn"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "alvaschein.csv"@de, - "alvaschein.csv"@fr, - "alvaschein.csv"@it, - "alvaschagn.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "alvaschein.json"@de, - "alvaschein.json"@fr, - "alvaschein.json"@it, - "alvaschagn.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Avers\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Avers\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Avers\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Avras\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1802@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Avers"@de, - "Avers"@fr, - "Avers"@it, - "Avras"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "avers.csv"@de, - "avers.csv"@fr, - "avers.csv"@it, - "avras.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "avers.json"@de, - "avers.json"@fr, - "avers.json"@it, - "avras.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Bregaglia\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Bregaglia\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Bregaglia\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Bregaglia\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1805@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Bregaglia"@de, - "Bregaglia"@fr, - "Bregaglia"@it, - "Bregaglia"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bregaglia.csv"@de, - "bregaglia.csv"@fr, - "bregaglia.csv"@it, - "bregaglia.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bregaglia.json"@de, - "bregaglia.json"@fr, - "bregaglia.json"@it, - "bregaglia.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Breil/Brigels\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Breil/Brigels\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Breil/Brigels\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Breil\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1806@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Breil/Brigels"@de, - "Breil/Brigels"@fr, - "Breil/Brigels"@it, - "Breil"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "breil-brigels.csv"@de, - "breil-brigels.csv"@fr, - "breil-brigels.csv"@it, - "breil.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "breil-brigels.json"@de, - "breil-brigels.json"@fr, - "breil-brigels.json"@it, - "breil.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Calanca\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Calanca\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Calanca\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Calanca\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1808@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Calanca"@de, - "Calanca"@fr, - "Calanca"@it, - "Calanca"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "calanca.csv"@de, - "calanca.csv"@fr, - "calanca.csv"@it, - "calanca.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "calanca.json"@de, - "calanca.json"@fr, - "calanca.json"@it, - "calanca.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Chur\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Chur\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Chur\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Cuira\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1809@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Chur"@de, - "Chur"@fr, - "Chur"@it, - "Cuira"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "chur.csv"@de, - "chur.csv"@fr, - "chur.csv"@it, - "cuira.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "chur.json"@de, - "chur.json"@fr, - "chur.json"@it, - "cuira.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Davos\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Davos\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Davos\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Tavau\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1811@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Davos"@de, - "Davos"@fr, - "Davos"@it, - "Tavau"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "davos.csv"@de, - "davos.csv"@fr, - "davos.csv"@it, - "tavau.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "davos.json"@de, - "davos.json"@fr, - "davos.json"@it, - "tavau.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Fünf Dörfer\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Fünf Dörfer\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Fünf Dörfer\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Tschintg Vitgs\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1814@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Fünf Dörfer"@de, - "Fünf Dörfer"@fr, - "Fünf Dörfer"@it, - "Tschintg Vitgs"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "fuenf-doerfer.csv"@de, - "fuenf-doerfer.csv"@fr, - "fuenf-doerfer.csv"@it, - "tschintg-vitgs.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "fuenf-doerfer.json"@de, - "fuenf-doerfer.json"@fr, - "fuenf-doerfer.json"@it, - "tschintg-vitgs.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Ilanz\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Ilanz\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Ilanz\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Foppa\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1815@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Ilanz"@de, - "Ilanz"@fr, - "Ilanz"@it, - "Foppa"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "ilanz.csv"@de, - "ilanz.csv"@fr, - "ilanz.csv"@it, - "foppa.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "ilanz.json"@de, - "ilanz.json"@fr, - "ilanz.json"@it, - "foppa.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Jenaz\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Jenaz\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Jenaz\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Jenaz\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1816@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Jenaz"@de, - "Jenaz"@fr, - "Jenaz"@it, - "Jenaz"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "jenaz.csv"@de, - "jenaz.csv"@fr, - "jenaz.csv"@it, - "jenaz.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "jenaz.json"@de, - "jenaz.json"@fr, - "jenaz.json"@it, - "jenaz.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Klosters\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Klosters\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Klosters\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Claustra\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1817@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Klosters"@de, - "Klosters"@fr, - "Klosters"@it, - "Claustra"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "klosters.csv"@de, - "klosters.csv"@fr, - "klosters.csv"@it, - "claustra.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "klosters.json"@de, - "klosters.json"@fr, - "klosters.json"@it, - "claustra.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Küblis\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Küblis\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Küblis\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Küblis\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1818@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Küblis"@de, - "Küblis"@fr, - "Küblis"@it, - "Küblis"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "kueblis.csv"@de, - "kueblis.csv"@fr, - "kueblis.csv"@it, - "kueblis.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "kueblis.json"@de, - "kueblis.json"@fr, - "kueblis.json"@it, - "kueblis.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Luzein\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Luzein\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Luzein\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Luzein\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1820@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Luzein"@de, - "Luzein"@fr, - "Luzein"@it, - "Luzein"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "luzein.csv"@de, - "luzein.csv"@fr, - "luzein.csv"@it, - "luzein.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "luzein.json"@de, - "luzein.json"@fr, - "luzein.json"@it, - "luzein.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Maienfeld\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Maienfeld\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Maienfeld\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Maiavilla\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1821@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Maienfeld"@de, - "Maienfeld"@fr, - "Maienfeld"@it, - "Maiavilla"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "maienfeld.csv"@de, - "maienfeld.csv"@fr, - "maienfeld.csv"@it, - "maiavilla.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "maienfeld.json"@de, - "maienfeld.json"@fr, - "maienfeld.json"@it, - "maiavilla.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Roveredo\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Roveredo\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Roveredo\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Roveredo\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1828@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Roveredo"@de, - "Roveredo"@fr, - "Roveredo"@it, - "Roveredo"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "roveredo.csv"@de, - "roveredo.csv"@fr, - "roveredo.csv"@it, - "roveredo.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "roveredo.json"@de, - "roveredo.json"@fr, - "roveredo.json"@it, - "roveredo.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Schams\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Schams\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Schams\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Schons\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1830@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Schams"@de, - "Schams"@fr, - "Schams"@it, - "Schons"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "schams.csv"@de, - "schams.csv"@fr, - "schams.csv"@it, - "schons.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "schams.json"@de, - "schams.json"@fr, - "schams.json"@it, - "schons.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Schanfigg\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Schanfigg\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Schanfigg\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Scanvetg \", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1831@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Schanfigg"@de, - "Schanfigg"@fr, - "Schanfigg"@it, - "Scanvetg "@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "schanfigg.csv"@de, - "schanfigg.csv"@fr, - "schanfigg.csv"@it, - "scanvetg.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "schanfigg.json"@de, - "schanfigg.json"@fr, - "schanfigg.json"@it, - "scanvetg.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Schiers\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Schiers\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Schiers\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Schiers\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1832@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Schiers"@de, - "Schiers"@fr, - "Schiers"@it, - "Schiers"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "schiers.csv"@de, - "schiers.csv"@fr, - "schiers.csv"@it, - "schiers.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "schiers.json"@de, - "schiers.json"@fr, - "schiers.json"@it, - "schiers.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Suot Tasna\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Suot Tasna\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Suot Tasna\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Suot Tasna\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1834@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Suot Tasna"@de, - "Suot Tasna"@fr, - "Suot Tasna"@it, - "Suot Tasna"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "suot-tasna.csv"@de, - "suot-tasna.csv"@fr, - "suot-tasna.csv"@it, - "suot-tasna.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "suot-tasna.json"@de, - "suot-tasna.json"@fr, - "suot-tasna.json"@it, - "suot-tasna.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Sur Tasna\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Sur Tasna\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Sur Tasna\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Sur Tasna\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1835@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Sur Tasna"@de, - "Sur Tasna"@fr, - "Sur Tasna"@it, - "Sur Tasna"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "sur-tasna.csv"@de, - "sur-tasna.csv"@fr, - "sur-tasna.csv"@it, - "sur-tasna.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "sur-tasna.json"@de, - "sur-tasna.json"@fr, - "sur-tasna.json"@it, - "sur-tasna.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Trins\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Trins\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Trins\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Trin\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1838@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Trins"@de, - "Trins"@fr, - "Trins"@it, - "Trin"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "trins.csv"@de, - "trins.csv"@fr, - "trins.csv"@it, - "trin.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "trins.json"@de, - "trins.json"@fr, - "trins.json"@it, - "trin.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der regionalen Wahl \"Val Müstair\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection régionale \"Val Müstair\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione regionale \"Val Müstair\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun regiunala \"Val Müstair\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-grw-2022-1839@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T14:29:46+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Val Müstair"@de, - "Val Müstair"@fr, - "Val Müstair"@it, - "Val Müstair"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "regional-regionlabelgr"@de, - "wahl"@de, - "election"@fr, - "regional-regionlabelgr"@fr, - "elezione"@it, - "regionale-regionlabelgr"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "val-muestair.csv"@de, - "val-muestair.csv"@fr, - "val-muestair.csv"@it, - "val-muestair.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "val-muestair.json"@de, - "val-muestair.json"@fr, - "val-muestair.json"@it, - "val-muestair.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Wahl \"Nationalratswahlen 2015\", 18. Oktober 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection fédérale \"Election du Conseil national 2015\", 18 octobre 2015, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione federale \"Elezione del Consiglio nazionale 2015\", 18 ottobre 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun federala \"Elecziuns dal cussegl naziunal 2015\", 18 d’october 2015, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-nationalratswahlen-2015@standeskanzlei-graubuenden" ; - dct:issued "2015-10-18T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2015-10-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2015-10-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Nationalratswahlen 2015"@de, - "Election du Conseil national 2015"@fr, - "Elezione del Consiglio nazionale 2015"@it, - "Elecziuns dal cussegl naziunal 2015"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "national"@de, - "wahl"@de, - "election"@fr, - "federal"@fr, - "elezione"@it, - "nazionale"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2015.csv"@de, - "election-du-conseil-national-2015.csv"@fr, - "elezione-del-consiglio-nazionale-2015.csv"@it, - "elecziuns-dal-cussegl-naziunal-2015.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2015.json"@de, - "election-du-conseil-national-2015.json"@fr, - "elezione-del-consiglio-nazionale-2015.json"@it, - "elecziuns-dal-cussegl-naziunal-2015.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Wahl \"Nationalratswahlen 2023\", 22. Oktober 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection fédérale \"élections du Conseil national 2023\", 22 octobre 2023, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione federale \"elezioni del Consiglio nazionale 2023\", 22 ottobre 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun federala \"elecziuns dal Cussegl naziunal 2019\", 22 d’october 2023, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-nrw-2023@standeskanzlei-graubuenden" ; - dct:issued "2023-10-22T00:00:00"^^xsd:dateTime ; - dct:modified "2023-10-24T13:41:37+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2023-10-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2023-10-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Nationalratswahlen 2023"@de, - "élections du Conseil national 2023"@fr, - "elezioni del Consiglio nazionale 2023"@it, - "elecziuns dal Cussegl naziunal 2019"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - , - , - ; - dcat:keyword "national"@de, - "wahl"@de, - "election"@fr, - "federal"@fr, - "elezione"@it, - "nazionale"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2023.csv"@de, - "elections-du-conseil-national-2023.csv"@fr, - "elezioni-del-consiglio-nazionale-2023.csv"@it, - "elecziuns-dal-cussegl-naziunal-2019.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2023.json"@de, - "elections-du-conseil-national-2023.json"@fr, - "elezioni-del-consiglio-nazionale-2023.json"@it, - "elecziuns-dal-cussegl-naziunal-2019.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "parties-csv" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2023-parteien.csv"@de, - "elections-du-conseil-national-2023-partis.csv"@fr, - "elezioni-del-consiglio-nazionale-2023-parti.csv"@it, - "elecziuns-dal-cussegl-naziunal-2019-partidas.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "parties-json" ; - dct:license ; - dct:rights ; - dct:title "nationalratswahlen-2023-parteien.json"@de, - "elections-du-conseil-national-2023-partis.json"@fr, - "elezioni-del-consiglio-nazionale-2023-parti.json"@it, - "elecziuns-dal-cussegl-naziunal-2019-partidas.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Wahl \"Regierungsratswahlen 2014\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection cantonale \"Élections Conseiller 2014\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione cantonale \"Elezioni del Governo 2014\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun chantunala \"Elecziuns da la regenza 2014\", 18 da matg 2014, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-regierungsratswahlen-2014@standeskanzlei-graubuenden" ; - dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Regierungsratswahlen 2014"@de, - "Élections Conseiller 2014"@fr, - "Elezioni del Governo 2014"@it, - "Elecziuns da la regenza 2014"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "kantonal"@de, - "wahl"@de, - "cantonal"@fr, - "election"@fr, - "cantonale"@it, - "elezione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "regierungsratswahlen-2014.csv"@de, - "elections-conseiller-2014.csv"@fr, - "elezioni-del-governo-2014.csv"@it, - "elecziuns-da-la-regenza-2014.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "regierungsratswahlen-2014.json"@de, - "elections-conseiller-2014.json"@fr, - "elezioni-del-governo-2014.json"@it, - "elecziuns-da-la-regenza-2014.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Wahl \"Regierungswahlen 2022\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection cantonale \"Regierungswahlen 2022\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione cantonale \"Elezioni del Governo 2022\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun chantunala \"Elecziuns da la Regenza 2022\", 15 da matg 2022, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-rw2022@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T12:56:58+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Regierungswahlen 2022"@de, - "Regierungswahlen 2022"@fr, - "Elezioni del Governo 2022"@it, - "Elecziuns da la Regenza 2022"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "kantonal"@de, - "wahl"@de, - "cantonal"@fr, - "election"@fr, - "cantonale"@it, - "elezione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "regierungswahlen-2022.csv"@de, - "regierungswahlen-2022.csv"@fr, - "elezioni-del-governo-2022.csv"@it, - "elecziuns-da-la-regenza-2022.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "regierungswahlen-2022.json"@de, - "regierungswahlen-2022.json"@fr, - "elezioni-del-governo-2022.json"@it, - "elecziuns-da-la-regenza-2022.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Wahl \"Ständeratswahlen 2023\", 22. Oktober 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Kandidaten und Gemeinden."@de, - "Résultats finaux de l'élection cantonale \"élections du conseil des états de 2023\", 22 octobre 2023, Graubünden - Grischun - Grigioni, répartis par municipalités et par candidats."@fr, - "Risultati finali della elezione cantonale \"elezione del Consiglio nazionale 2023\", 22 ottobre 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit e candidati."@it, - "Resultats finals da l'elecziun chantunala \"elecziuns dal cussegl dals chantuns 2023\", 22 d’october 2023, Graubünden - Grischun - Grigioni, resultats da tut las candidatas e da tut ils candidats tenor vischnancas."@rm ; - dct:identifier "election-srw-2023@standeskanzlei-graubuenden" ; - dct:issued "2023-10-22T00:00:00"^^xsd:dateTime ; - dct:modified "2023-10-22T11:52:05+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2023-10-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2023-10-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Ständeratswahlen 2023"@de, - "élections du conseil des états de 2023"@fr, - "elezione del Consiglio nazionale 2023"@it, - "elecziuns dal cussegl dals chantuns 2023"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "kantonal"@de, - "wahl"@de, - "cantonal"@fr, - "election"@fr, - "cantonale"@it, - "elezione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "staenderatswahlen-2023.csv"@de, - "elections-du-conseil-des-etats-de-2023.csv"@fr, - "elezione-del-consiglio-nazionale-2023.csv"@it, - "elecziuns-dal-cussegl-dals-chantuns-2023.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "staenderatswahlen-2023.json"@de, - "elections-du-conseil-des-etats-de-2023.json"@fr, - "elezione-del-consiglio-nazionale-2023.json"@it, - "elecziuns-dal-cussegl-dals-chantuns-2023.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative für sauberes Trinkwasser und gesunde Nahrung\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire pour une eau potable propre et une alimentation saine\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare per acqua potabile pulita e cibo sano\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel per aua da baiver netta e vivonda sauna\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-e1@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative für sauberes Trinkwasser und gesunde Nahrung"@de, - "Initiative populaire pour une eau potable propre et une alimentation saine"@fr, - "Iniziativa popolare per acqua potabile pulita e cibo sano"@it, - "Iniziativa dal pievel per aua da baiver netta e vivonda sauna"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-sauberes-trinkwasser-und-gesunde-nahrung.csv"@de, - "initiative-populaire-pour-une-eau-potable-propre-et-une-alimentation-saine.csv"@fr, - "iniziativa-popolare-per-acqua-potabile-pulita-e-cibo-sano.csv"@it, - "iniziativa-dal-pievel-per-aua-da-baiver-netta-e-vivonda-sauna.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-sauberes-trinkwasser-und-gesunde-nahrung.json"@de, - "initiative-populaire-pour-une-eau-potable-propre-et-une-alimentation-saine.json"@fr, - "iniziativa-popolare-per-acqua-potabile-pulita-e-cibo-sano.json"@it, - "iniziativa-dal-pievel-per-aua-da-baiver-netta-e-vivonda-sauna.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine Schweiz ohne synthetische Pestizide»\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Pour une Suisse libre de pesticides de synthèse »\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per una Svizzera senza pesticidi sintetici»\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per ina Svizra senza pesticids sintetics»\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-e2@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für eine Schweiz ohne synthetische Pestizide»"@de, - "Initiative populaire « Pour une Suisse libre de pesticides de synthèse »"@fr, - "Iniziativa popolare «Per una Svizzera senza pesticidi sintetici»"@it, - "Iniziativa dal pievel «Per ina Svizra senza pesticids sintetics»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-schweiz-ohne-synthetische-pestizide.csv"@de, - "initiative-populaire-pour-une-suisse-libre-de-pesticides-de-synthese.csv"@fr, - "iniziativa-popolare-per-una-svizzera-senza-pesticidi-sintetici.csv"@it, - "iniziativa-dal-pievel-per-ina-svizra-senza-pesticids-sintetics.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-schweiz-ohne-synthetische-pestizide.json"@de, - "initiative-populaire-pour-une-suisse-libre-de-pesticides-de-synthese.json"@fr, - "iniziativa-popolare-per-una-svizzera-senza-pesticidi-sintetici.json"@it, - "iniziativa-dal-pievel-per-ina-svizra-senza-pesticids-sintetics.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Covid-19-Gesetz\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi COVID-19\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge COVID-19\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha COVID-19\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-e3@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Covid-19-Gesetz"@de, - "Loi COVID-19"@fr, - "Legge COVID-19"@it, - "Lescha COVID-19"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "covid-19-gesetz.csv"@de, - "loi-covid-19.csv"@fr, - "legge-covid-19.csv"@it, - "lescha-covid-19.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "covid-19-gesetz.json"@de, - "loi-covid-19.json"@fr, - "legge-covid-19.json"@it, - "lescha-covid-19.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"CO2-Gesetz\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi sur le CO2\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge sul CO2\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha davart il CO2\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-e4@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "CO2-Gesetz"@de, - "Loi sur le CO2"@fr, - "Legge sul CO2"@it, - "Lescha davart il CO2"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "co2-gesetz.csv"@de, - "loi-sur-le-co2.csv"@fr, - "legge-sul-co2.csv"@it, - "lescha-davart-il-co2.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "co2-gesetz.json"@de, - "loi-sur-le-co2.json"@fr, - "legge-sul-co2.json"@it, - "lescha-davart-il-co2.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über polizeiliche Massnahmen zur Bekämpfung von Terrorismus (PMT)\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale sur les mesures policières de lutte contre le terrorisme (MPT)\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale sulle misure di polizia per la lotta al terrorismo (MPT)\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart las mesiras polizialas per cumbatter cunter il terrorissem (MPT)\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-e5@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über polizeiliche Massnahmen zur Bekämpfung von Terrorismus (PMT)"@de, - "Loi fédérale sur les mesures policières de lutte contre le terrorisme (MPT)"@fr, - "Legge federale sulle misure di polizia per la lotta al terrorismo (MPT)"@it, - "Lescha federala davart las mesiras polizialas per cumbatter cunter il terrorissem (MPT)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-polizeiliche-massnahmen-zur-bekaempfung-von-terrorismus-pmt.csv"@de, - "loi-federale-sur-les-mesures-policieres-de-lutte-contre-le-terrorisme-mpt.csv"@fr, - "legge-federale-sulle-misure-di-polizia-per-la-lotta-al-terrorismo-mpt.csv"@it, - "lescha-federala-davart-las-mesiras-polizialas-per-cumbatter-cunter-il-terrorissem-mpt.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-polizeiliche-massnahmen-zur-bekaempfung-von-terrorismus-pmt.json"@de, - "loi-federale-sur-les-mesures-policieres-de-lutte-contre-le-terrorisme-mpt.json"@fr, - "legge-federale-sulle-misure-di-polizia-per-la-lotta-al-terrorismo-mpt.json"@it, - "lescha-federala-davart-las-mesiras-polizialas-per-cumbatter-cunter-il-terrorissem-mpt.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»\", 13. Juni 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»\", 13 juin 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Iniziativa popolare cantonale «Per una caccia rispettosa della natura ed etica»\", 13 giugno 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Iniziativa chantunala dal pievel «Per ina chatscha etica che sa cumporta cun la natira»\", 13 da zercladur 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-06-13-k2@standeskanzlei-graubuenden" ; - dct:issued "2021-06-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-09-19T07:09:03+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-06-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-06-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»"@de, - "Kantonale Volksinitiative «Für eine naturverträgliche und ethische Jagd»"@fr, - "Iniziativa popolare cantonale «Per una caccia rispettosa della natura ed etica»"@it, - "Iniziativa chantunala dal pievel «Per ina chatscha etica che sa cumporta cun la natira»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.csv"@de, - "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.csv"@fr, - "iniziativa-popolare-cantonale-per-una-caccia-rispettosa-della-natura-ed-etica.csv"@it, - "iniziativa-chantunala-dal-pievel-per-ina-chatscha-etica-che-sa-cumporta-cun-la-natira.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.json"@de, - "kantonale-volksinitiative-fuer-eine-naturvertraegliche-und-ethische-jagd.json"@fr, - "iniziativa-popolare-cantonale-per-una-caccia-rispettosa-della-natura-ed-etica.json"@it, - "iniziativa-chantunala-dal-pievel-per-ina-chatscha-etica-che-sa-cumporta-cun-la-natira.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Löhne entlasten, Kapital gerecht besteuern»\", 26. September 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Alléger les impôts sur les salaires, imposer équitablement le capital»\", 26 septembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Sgravare i salari, tassare equamente il capitale»\", 26 settembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Distgargiar ils salaris, imponer taglias gistas sin il chapital»\", 26 da settember 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-09-26-e1@standeskanzlei-graubuenden" ; - dct:issued "2021-09-26T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-09-26T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-09-26T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Löhne entlasten, Kapital gerecht besteuern»"@de, - "Initiative populaire «Alléger les impôts sur les salaires, imposer équitablement le capital»"@fr, - "Iniziativa popolare «Sgravare i salari, tassare equamente il capitale»"@it, - "Iniziativa dal pievel «Distgargiar ils salaris, imponer taglias gistas sin il chapital»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-loehne-entlasten-kapital-gerecht-besteuern.csv"@de, - "initiative-populaire-alleger-les-impots-sur-les-salaires-imposer-equitablement-le-capital.csv"@fr, - "iniziativa-popolare-sgravare-i-salari-tassare-equamente-il-capitale.csv"@it, - "iniziativa-dal-pievel-distgargiar-ils-salaris-imponer-taglias-gistas-sin-il-chapital.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-loehne-entlasten-kapital-gerecht-besteuern.json"@de, - "initiative-populaire-alleger-les-impots-sur-les-salaires-imposer-equitablement-le-capital.json"@fr, - "iniziativa-popolare-sgravare-i-salari-tassare-equamente-il-capitale.json"@it, - "iniziativa-dal-pievel-distgargiar-ils-salaris-imponer-taglias-gistas-sin-il-chapital.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Ehe für alle\", 26. September 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Mariage pour tous\", 26 septembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Matrimonio per tutti\", 26 settembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lètg per tuts\", 26 da settember 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-09-26-e2@standeskanzlei-graubuenden" ; - dct:issued "2021-09-26T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-09-26T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-09-26T00:00:00"^^xsd:dateTime ] ; - dct:title "Ehe für alle"@de, - "Mariage pour tous"@fr, - "Matrimonio per tutti"@it, - "Lètg per tuts"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "ehe-fuer-alle.csv"@de, - "mariage-pour-tous.csv"@fr, - "matrimonio-per-tutti.csv"@it, - "letg-per-tuts.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "ehe-fuer-alle.json"@de, - "mariage-pour-tous.json"@fr, - "matrimonio-per-tutti.json"@it, - "letg-per-tuts.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Pflegeinitiative\", 28. November 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative sur les soins infirmiers\", 28 novembre 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa sulle cure infermieristiche\", 28 novembre 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa da tgira\", 28 da november 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2021-11-28-e1@standeskanzlei-graubuenden" ; - dct:issued "2021-11-28T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-11-28T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-11-28T00:00:00"^^xsd:dateTime ] ; - dct:title "Pflegeinitiative"@de, - "Initiative sur les soins infirmiers"@fr, - "Iniziativa sulle cure infermieristiche"@it, - "Iniziativa da tgira"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "pflegeinitiative.csv"@de, - "initiative-sur-les-soins-infirmiers.csv"@fr, - "iniziativa-sulle-cure-infermieristiche.csv"@it, - "iniziativa-da-tgira.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "pflegeinitiative.json"@de, - "initiative-sur-les-soins-infirmiers.json"@fr, - "iniziativa-sulle-cure-infermieristiche.json"@it, - "iniziativa-da-tgira.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative Kinder und Jugendliche ohne Tabakwerbung\", 13. Februar 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire enfants et jeunes sans publicité pour le tabac\", 13 février 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare Fanciulli e adolescenti senza pubblicità per il tabacco\", 13 febbraio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Uffants e giuvenils senza reclama da tubac»\", 13 da favrer 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-02-13-e2@standeskanzlei-graubuenden" ; - dct:issued "2022-02-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-02-16T08:27:25+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-02-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-02-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative Kinder und Jugendliche ohne Tabakwerbung"@de, - "Initiative populaire enfants et jeunes sans publicité pour le tabac"@fr, - "Iniziativa popolare Fanciulli e adolescenti senza pubblicità per il tabacco"@it, - "Iniziativa dal pievel «Uffants e giuvenils senza reclama da tubac»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-kinder-und-jugendliche-ohne-tabakwerbung.csv"@de, - "initiative-populaire-enfants-et-jeunes-sans-publicite-pour-le-tabac.csv"@fr, - "iniziativa-popolare-fanciulli-e-adolescenti-senza-pubblicita-per-il-tabacco.csv"@it, - "iniziativa-dal-pievel-uffants-e-giuvenils-senza-reclama-da-tubac.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-kinder-und-jugendliche-ohne-tabakwerbung.json"@de, - "initiative-populaire-enfants-et-jeunes-sans-publicite-pour-le-tabac.json"@fr, - "iniziativa-popolare-fanciulli-e-adolescenti-senza-pubblicita-per-il-tabacco.json"@it, - "iniziativa-dal-pievel-uffants-e-giuvenils-senza-reclama-da-tubac.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Stempelabgaben\", 13. Februar 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur les droits de timbre\", 13 février 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge federale sulle tasse di bollo\", 13 febbraio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart las taxas da bul\", 13 da favrer 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-02-13-e3@standeskanzlei-graubuenden" ; - dct:issued "2022-02-13T00:00:00"^^xsd:dateTime ; - dct:modified "2022-02-16T08:27:27+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-02-13T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-02-13T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über die Stempelabgaben"@de, - "Modification de la loi fédérale sur les droits de timbre"@fr, - "Modifica della legge federale sulle tasse di bollo"@it, - "Midada da la Lescha federala davart las taxas da bul"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-stempelabgaben.csv"@de, - "modification-de-la-loi-federale-sur-les-droits-de-timbre.csv"@fr, - "modifica-della-legge-federale-sulle-tasse-di-bollo.csv"@it, - "midada-da-la-lescha-federala-davart-las-taxas-da-bul.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-stempelabgaben.json"@de, - "modification-de-la-loi-federale-sur-les-droits-de-timbre.json"@fr, - "modifica-della-legge-federale-sulle-tasse-di-bollo.json"@it, - "midada-da-la-lescha-federala-davart-las-taxas-da-bul.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Transplantationsgesetzes\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi sur la transplantation\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge sui trapianti\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la Lescha da transplantaziun\", 15 da matg 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-05-15-e2@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T11:39:00+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Transplantationsgesetzes"@de, - "Modification de la loi sur la transplantation"@fr, - "Modifica della legge sui trapianti"@it, - "Midada da la Lescha da transplantaziun"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-transplantationsgesetzes.csv"@de, - "modification-de-la-loi-sur-la-transplantation.csv"@fr, - "modifica-della-legge-sui-trapianti.csv"@it, - "midada-da-la-lescha-da-transplantaziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-transplantationsgesetzes.json"@de, - "modification-de-la-loi-sur-la-transplantation.json"@fr, - "modifica-della-legge-sui-trapianti.json"@it, - "midada-da-la-lescha-da-transplantaziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Übernahme der EU-Verordnung über die Europäische Grenz- und Küstenwache (Weiterentwicklung des Schengen- Besitzstands)\", 15. Mai 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Reprise du règlement de l’UE relatif au corps européen de garde-frontières et de garde-côtes (développement de l’acquis de Schengen)\", 15 mai 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Recepimento del regolamento UE relativo alla guardia di frontiera e costiera europea (Sviluppo dell’acquis di Schengen)\", 15 maggio 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Surpigliada da l’Ordinaziun da la UE davart la Guardia europeica da cunfin e da costa(svilup da l’acquist da Schengen)\", 15 da matg 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-05-15-e3@standeskanzlei-graubuenden" ; - dct:issued "2022-05-15T00:00:00"^^xsd:dateTime ; - dct:modified "2022-05-15T11:38:54+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-05-15T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-05-15T00:00:00"^^xsd:dateTime ] ; - dct:title "Übernahme der EU-Verordnung über die Europäische Grenz- und Küstenwache (Weiterentwicklung des Schengen- Besitzstands)"@de, - "Reprise du règlement de l’UE relatif au corps européen de garde-frontières et de garde-côtes (développement de l’acquis de Schengen)"@fr, - "Recepimento del regolamento UE relativo alla guardia di frontiera e costiera europea (Sviluppo dell’acquis di Schengen)"@it, - "Surpigliada da l’Ordinaziun da la UE davart la Guardia europeica da cunfin e da costa(svilup da l’acquist da Schengen)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "ubernahme-der-eu-verordnung-ueber-die-europaeische-grenz-und-kuestenwache-weiterentwicklung-des-schengen-besitzstands.csv"@de, - "reprise-du-reglement-de-l-ue-relatif-au-corps-europeen-de-garde-frontieres-et-de-garde-cotes-developpement-de-l-acquis-de-schengen.csv"@fr, - "recepimento-del-regolamento-ue-relativo-alla-guardia-di-frontiera-e-costiera-europea-sviluppo-dell-acquis-di-schengen.csv"@it, - "surpigliada-da-l-ordinaziun-da-la-ue-davart-la-guardia-europeica-da-cunfin-e-da-costa-svilup-da-l-acquist-da-schengen.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "ubernahme-der-eu-verordnung-ueber-die-europaeische-grenz-und-kuestenwache-weiterentwicklung-des-schengen-besitzstands.json"@de, - "reprise-du-reglement-de-l-ue-relatif-au-corps-europeen-de-garde-frontieres-et-de-garde-cotes-developpement-de-l-acquis-de-schengen.json"@fr, - "recepimento-del-regolamento-ue-relativo-alla-guardia-di-frontiera-e-costiera-europea-sviluppo-dell-acquis-di-schengen.json"@it, - "surpigliada-da-l-ordinaziun-da-la-ue-davart-la-guardia-europeica-da-cunfin-e-da-costa-svilup-da-l-acquist-da-schengen.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Financement additionnel de l’AVS par le biais d’un relèvement de la TVA\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-09-25-e2@standeskanzlei-graubuenden" ; - dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-09-25T10:55:05+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer"@de, - "Financement additionnel de l’AVS par le biais d’un relèvement de la TVA"@fr, - "Finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto"@it, - "Finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.csv"@de, - "financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-tva.csv"@fr, - "finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.csv"@it, - "finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.json"@de, - "financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-tva.json"@fr, - "finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.json"@it, - "finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Alters- und Hinterlassenenversicherung (AHV 21)\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur l’assurance-vieillesse et survivants (AVS 21)\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge federale sull’assicurazione per la vecchiaia e per i superstiti (AVS 21)\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart l'assicuranza per vegls e survivents (AVS 21)\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-09-25-e3@standeskanzlei-graubuenden" ; - dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-09-25T10:55:06+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über die Alters- und Hinterlassenenversicherung (AHV 21)"@de, - "Modification de la loi fédérale sur l’assurance-vieillesse et survivants (AVS 21)"@fr, - "Modifica della legge federale sull’assicurazione per la vecchiaia e per i superstiti (AVS 21)"@it, - "Midada da la Lescha federala davart l'assicuranza per vegls e survivents (AVS 21)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-alters-und-hinterlassenenversicherung-ahv-21.csv"@de, - "modification-de-la-loi-federale-sur-l-assurance-vieillesse-et-survivants-avs-21.csv"@fr, - "modifica-della-legge-federale-sull-assicurazione-per-la-vecchiaia-e-per-i-superstiti-avs-21.csv"@it, - "midada-da-la-lescha-federala-davart-l-assicuranza-per-vegls-e-survivents-avs-21.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-alters-und-hinterlassenenversicherung-ahv-21.json"@de, - "modification-de-la-loi-federale-sur-l-assurance-vieillesse-et-survivants-avs-21.json"@fr, - "modifica-della-legge-federale-sull-assicurazione-per-la-vecchiaia-e-per-i-superstiti-avs-21.json"@it, - "midada-da-la-lescha-federala-davart-l-assicuranza-per-vegls-e-survivents-avs-21.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Verrechnungssteuer\", 25. September 2022, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur l’impôt anticipé\", 25 septembre 2022, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge federale sull’imposta preventiva\", 25 settembre 2022, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la Lescha federala davart la taglia anticipada\", 25 da settember 2022, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2022-09-25-e4@standeskanzlei-graubuenden" ; - dct:issued "2022-09-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-09-25T10:55:07+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2022-09-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2022-09-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über die Verrechnungssteuer"@de, - "Modification de la loi fédérale sur l’impôt anticipé"@fr, - "Modifica della legge federale sull’imposta preventiva"@it, - "Midada da la Lescha federala davart la taglia anticipada"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-verrechnungssteuer.csv"@de, - "modification-de-la-loi-federale-sur-l-impot-anticipe.csv"@fr, - "modifica-della-legge-federale-sull-imposta-preventiva.csv"@it, - "midada-da-la-lescha-federala-davart-la-taglia-anticipada.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-verrechnungssteuer.json"@de, - "modification-de-la-loi-federale-sur-l-impot-anticipe.json"@fr, - "modifica-della-legge-federale-sull-imposta-preventiva.json"@it, - "midada-da-la-lescha-federala-davart-la-taglia-anticipada.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Realisierung Fachhochschulzentrum Graubünden\", 12. März 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Realisierung Fachhochschulzentrum Graubünden\", 12 mars 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Realizzazione del centro della scuola universitaria professionale dei Grigioni\", 12 marzo 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Realisaziun dal Center da scola auta spezialisada dal Grischun\", 12 da mars 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2023-03-12-k1@standeskanzlei-graubuenden" ; - dct:issued "2023-03-12T00:00:00"^^xsd:dateTime ; - dct:modified "2023-03-12T11:42:59+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2023-03-12T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2023-03-12T00:00:00"^^xsd:dateTime ] ; - dct:title "Realisierung Fachhochschulzentrum Graubünden"@de, - "Realisierung Fachhochschulzentrum Graubünden"@fr, - "Realizzazione del centro della scuola universitaria professionale dei Grigioni"@it, - "Realisaziun dal Center da scola auta spezialisada dal Grischun"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "realisierung-fachhochschulzentrum-graubuenden.csv"@de, - "realisierung-fachhochschulzentrum-graubuenden.csv"@fr, - "realizzazione-del-centro-della-scuola-universitaria-professionale-dei-grigioni.csv"@it, - "realisaziun-dal-center-da-scola-auta-spezialisada-dal-grischun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "realisierung-fachhochschulzentrum-graubuenden.json"@de, - "realisierung-fachhochschulzentrum-graubuenden.json"@fr, - "realizzazione-del-centro-della-scuola-universitaria-professionale-dei-grigioni.json"@it, - "realisaziun-dal-center-da-scola-auta-spezialisada-dal-grischun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Ziele im Klimaschutz, die Innovation und die Stärkung der Energiesicherheit\", 18. Juni 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale sur les objectifs en matière de protection du climat, sur l’innovation et sur le renforcement de la sécurité énergétique\", 18 juin 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale sugli obiettivi in materia di protezione del clima, l’innovazione e il rafforzamento della sicurezza energetica\", 18 giugno 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart las finamiras en la protecziun dal clima, davart l'innovaziun e davart il rinforzament da la segirezza energetica\", 18 da zercladur 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2023-06-18-e2@standeskanzlei-graubuenden" ; - dct:issued "2023-06-18T00:00:00"^^xsd:dateTime ; - dct:modified "2023-06-21T14:56:35+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2023-06-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2023-06-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über die Ziele im Klimaschutz, die Innovation und die Stärkung der Energiesicherheit"@de, - "Loi fédérale sur les objectifs en matière de protection du climat, sur l’innovation et sur le renforcement de la sécurité énergétique"@fr, - "Legge federale sugli obiettivi in materia di protezione del clima, l’innovazione e il rafforzamento della sicurezza energetica"@it, - "Lescha federala davart las finamiras en la protecziun dal clima, davart l'innovaziun e davart il rinforzament da la segirezza energetica"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-ziele-im-klimaschutz-die-innovation-und-die-staerkung-der-energiesicherheit.csv"@de, - "loi-federale-sur-les-objectifs-en-matiere-de-protection-du-climat-sur-l-innovation-et-sur-le-renforcement-de-la-securite-energetique.csv"@fr, - "legge-federale-sugli-obiettivi-in-materia-di-protezione-del-clima-l-innovazione-e-il-rafforzamento-della-sicurezza-energetica.csv"@it, - "lescha-federala-davart-las-finamiras-en-la-protecziun-dal-clima-davart-l-innovaziun-e-davart-il-rinforzament-da-la-segirezza-energetica.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-ziele-im-klimaschutz-die-innovation-und-die-staerkung-der-energiesicherheit.json"@de, - "loi-federale-sur-les-objectifs-en-matiere-de-protection-du-climat-sur-l-innovation-et-sur-le-renforcement-de-la-securite-energetique.json"@fr, - "legge-federale-sugli-obiettivi-in-materia-di-protezione-del-clima-l-innovazione-e-il-rafforzamento-della-sicurezza-energetica.json"@it, - "lescha-federala-davart-las-finamiras-en-la-protecziun-dal-clima-davart-l-innovaziun-e-davart-il-rinforzament-da-la-segirezza-energetica.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung vom 16. Dezember 2022 des Covid-19-Gesetzes\", 18. Juni 2023, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification du 16 décembre 2022 de la loi COVID-19\", 18 juin 2023, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica del 16 dicembre 2022 della legge COVID-19\", 18 giugno 2023, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada dals 16 da december 2022 da la Lescha COVID-19\", 18 da zercladur 2023, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-2023-06-18-e3@standeskanzlei-graubuenden" ; - dct:issued "2023-06-18T00:00:00"^^xsd:dateTime ; - dct:modified "2023-06-21T14:56:37+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2023-06-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2023-06-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung vom 16. Dezember 2022 des Covid-19-Gesetzes"@de, - "Modification du 16 décembre 2022 de la loi COVID-19"@fr, - "Modifica del 16 dicembre 2022 della legge COVID-19"@it, - "Midada dals 16 da december 2022 da la Lescha COVID-19"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-vom-16-dezember-2022-des-covid-19-gesetzes.csv"@de, - "modification-du-16-decembre-2022-de-la-loi-covid-19.csv"@fr, - "modifica-del-16-dicembre-2022-della-legge-covid-19.csv"@it, - "midada-dals-16-da-december-2022-da-la-lescha-covid-19.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-vom-16-dezember-2022-des-covid-19-gesetzes.json"@de, - "modification-du-16-decembre-2022-de-la-loi-covid-19.json"@fr, - "modifica-del-16-dicembre-2022-della-legge-covid-19.json"@it, - "midada-dals-16-da-december-2022-da-la-lescha-covid-19.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Asylgesetzes (AsylG)\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi sur l’asile (LAsi)\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge sull'asilo (LAsi)\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la Lescha d’asil (LAsil)\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-anderung-des-asylgesetzes-asylg@standeskanzlei-graubuenden" ; - dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Asylgesetzes (AsylG)"@de, - "Modification de la loi sur l’asile (LAsi)"@fr, - "Modifica della legge sull'asilo (LAsi)"@it, - "Midada da la Lescha d’asil (LAsil)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-asylgesetzes-asylg.csv"@de, - "modification-de-la-loi-sur-l-asile-lasi.csv"@fr, - "modifica-della-legge-sull-asilo-lasi.csv"@it, - "midada-da-la-lescha-d-asil-lasil.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-asylgesetzes-asylg.json"@de, - "modification-de-la-loi-sur-l-asile-lasi.json"@fr, - "modifica-della-legge-sull-asilo-lasi.json"@it, - "midada-da-la-lescha-d-asil-lasil.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24. November 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 novembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 novembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)\", 24 da november 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-anderung-des-bundesgesetzes-uber-die-abgabe-fur-die-benutzung-von-nationalstrassen-nationalstrassenabgabegesetz@standeskanzlei-graubuenden" ; - dct:issued "2013-11-24T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-11-24T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-11-24T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@de, - "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@fr, - "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@it, - "Änderung des Bundesgesetzes über die Abgabe für die Benützung von Nationalstrassen (Nationalstrassenabgabegesetz)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@de, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@fr, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@it, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@de, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@fr, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@it, - "anderung-des-bundesgesetzes-ueber-die-abgabe-fuer-die-benuetzung-von-nationalstrassen-nationalstrassenabgabegesetz.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-anderung-des-bundesgesetzes-uber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops@standeskanzlei-graubuenden" ; - dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@de, - "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@fr, - "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@it, - "Änderung des Bundesgesetzes über die Arbeit in Industrie, Gewerbe und Handel (Arbeitsgesetz; Öffnungszeiten der Tankstellenshops)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@de, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@fr, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@it, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@de, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@fr, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@it, - "anderung-des-bundesgesetzes-ueber-die-arbeit-in-industrie-gewerbe-und-handel-arbeitsgesetz-offnungszeiten-der-tankstellenshops.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung des Bundesgesetzes über den Strassentransitverkehr im Alpengebiet (Sanierung Gotthard-Strassentunnel)\", 28. Februar 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Modification de la loi fédérale sur le transit routier dans la région alpine (Réfection du tunnel routier du Gothard)\", 28 février 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Modifica della legge federale concernente il transito stradale nella regione alpina (Risanamento della galleria autostradale del San Gottardo)\", 28 febbraio 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Midada da la lescha federala davart il traffic da transit sin via en il territori da las Alps (sanaziun dal tunnel da via tras il Gottard)\", 28 da favrer 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel@standeskanzlei-graubuenden" ; - dct:issued "2016-02-28T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-02-28T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-02-28T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung des Bundesgesetzes über den Strassentransitverkehr im Alpengebiet (Sanierung Gotthard-Strassentunnel)"@de, - "Modification de la loi fédérale sur le transit routier dans la région alpine (Réfection du tunnel routier du Gothard)"@fr, - "Modifica della legge federale concernente il transito stradale nella regione alpina (Risanamento della galleria autostradale del San Gottardo)"@it, - "Midada da la lescha federala davart il traffic da transit sin via en il territori da las Alps (sanaziun dal tunnel da via tras il Gottard)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel.csv"@de, - "modification-de-la-loi-federale-sur-le-transit-routier-dans-la-region-alpine-refection-du-tunnel-routier-du-gothard.csv"@fr, - "modifica-della-legge-federale-concernente-il-transito-stradale-nella-regione-alpina-risanamento-della-galleria-autostradale-del-san-gottardo.csv"@it, - "midada-da-la-lescha-federala-davart-il-traffic-da-transit-sin-via-en-il-territori-da-las-alps-sanaziun-dal-tunnel-da-via-tras-il-gottard.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-des-bundesgesetzes-ueber-den-strassentransitverkehr-im-alpengebiet-sanierung-gotthard-strassentunnel.json"@de, - "modification-de-la-loi-federale-sur-le-transit-routier-dans-la-region-alpine-refection-du-tunnel-routier-du-gothard.json"@fr, - "modifica-della-legge-federale-concernente-il-transito-stradale-nella-regione-alpina-risanamento-della-galleria-autostradale-del-san-gottardo.json"@it, - "midada-da-la-lescha-federala-davart-il-traffic-da-transit-sin-via-en-il-territori-da-las-alps-sanaziun-dal-tunnel-da-via-tras-il-gottard.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Änderung vom 28. September 2012 des Asylgesetzes\", 9. Juni 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 juin 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 giugno 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Änderung vom 28. September 2012 des Asylgesetzes\", 9 da zercladur 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-anderung-vom-28.-september-2012-des-asylgesetzes@standeskanzlei-graubuenden" ; - dct:issued "2013-06-09T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-06-09T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-06-09T00:00:00"^^xsd:dateTime ] ; - dct:title "Änderung vom 28. September 2012 des Asylgesetzes"@de, - "Änderung vom 28. September 2012 des Asylgesetzes"@fr, - "Änderung vom 28. September 2012 des Asylgesetzes"@it, - "Änderung vom 28. September 2012 des Asylgesetzes"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "anderung-vom-28-september-2012-des-asylgesetzes.csv"@de, - "anderung-vom-28-september-2012-des-asylgesetzes.csv"@fr, - "anderung-vom-28-september-2012-des-asylgesetzes.csv"@it, - "anderung-vom-28-september-2012-des-asylgesetzes.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "anderung-vom-28-september-2012-des-asylgesetzes.json"@de, - "anderung-vom-28-september-2012-des-asylgesetzes.json"@fr, - "anderung-vom-28-september-2012-des-asylgesetzes.json"@it, - "anderung-vom-28-september-2012-des-asylgesetzes.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Änderung der Verfassungsbestimmung zur Fortpflanzungsmedizin und Gentechnologie im Humanbereich (Präimplantationsdiagnostik)\", 14. Juni 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral du 12 décembre 2014 concernant la modification de l'article constitutionnel relatif à la procréation médicalement assistée et au génie génétique dans le domaine humain (diagnostic préimplantatoire)\", 14 juin 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale del 12 dicembre 2014 concernente la modifica dell'articolo costituzionale relativo alla medicina riproduttiva e all'ingegneria genetica in ambito umano (diagnosi preimpianto)\", 14 giugno 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart la midada da l’artitgel constituziunal concernent la medischina da reproducziun e la tecnologia da gens sin il sectur uman (diagnosticada preimplantaziun)\", 14 da zercladur 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-uber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praimplantationsdiagnostik@standeskanzlei-graubuenden" ; - dct:issued "2015-06-14T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2015-06-14T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2015-06-14T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die Änderung der Verfassungsbestimmung zur Fortpflanzungsmedizin und Gentechnologie im Humanbereich (Präimplantationsdiagnostik)"@de, - "Arrêté fédéral du 12 décembre 2014 concernant la modification de l'article constitutionnel relatif à la procréation médicalement assistée et au génie génétique dans le domaine humain (diagnostic préimplantatoire)"@fr, - "Decreto federale del 12 dicembre 2014 concernente la modifica dell'articolo costituzionale relativo alla medicina riproduttiva e all'ingegneria genetica in ambito umano (diagnosi preimpianto)"@it, - "Conclus federal davart la midada da l’artitgel constituziunal concernent la medischina da reproducziun e la tecnologia da gens sin il sectur uman (diagnosticada preimplantaziun)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praeimplantationsdiagnostik.csv"@de, - "arrete-federal-du-12-decembre-2014-concernant-la-modification-de-l-article-constitutionnel-relatif-a-la-procreation-medicalement-assistee-et-au-genie-genetique-dans-le-domaine-humain-diagnostic-preimplantatoire.csv"@fr, - "decreto-federale-del-12-dicembre-2014-concernente-la-modifica-dell-articolo-costituzionale-relativo-alla-medicina-riproduttiva-e-all-ingegneria-genetica-in-ambito-umano-diagnosi-preimpianto.csv"@it, - "conclus-federal-davart-la-midada-da-l-artitgel-constituziunal-concernent-la-medischina-da-reproducziun-e-la-tecnologia-da-gens-sin-il-sectur-uman-diagnosticada-preimplantaziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-anderung-der-verfassungsbestimmung-zur-fortpflanzungsmedizin-und-gentechnologie-im-humanbereich-praeimplantationsdiagnostik.json"@de, - "arrete-federal-du-12-decembre-2014-concernant-la-modification-de-l-article-constitutionnel-relatif-a-la-procreation-medicalement-assistee-et-au-genie-genetique-dans-le-domaine-humain-diagnostic-preimplantatoire.json"@fr, - "decreto-federale-del-12-dicembre-2014-concernente-la-modifica-dell-articolo-costituzionale-relativo-alla-medicina-riproduttiva-e-all-ingegneria-genetica-in-ambito-umano-diagnosi-preimpianto.json"@it, - "conclus-federal-davart-la-midada-da-l-artitgel-constituziunal-concernent-la-medischina-da-reproducziun-e-la-tecnologia-da-gens-sin-il-sectur-uman-diagnosticada-preimplantaziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Ernährungssicherheit (direkter Gegenentwurf zur zurückgezogenen Volksinitiative «Für Ernährungssicherheit»)\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral sur la sécurité alimentaire (contre-projet direct à l’initiative populaire « Pour la sécurité alimentaire », qui a été retirée)\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale sulla sicurezza alimentare (controprogetto diretto all’iniziativa popolare «Per la sicurezza alimentare», ritirata)\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart la segirezza alimentara (cuntraproposta directa a l’iniziativa dal pievel «Per la segirezza alimentara» ch’è vegnida retratga)\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit@standeskanzlei-graubuenden" ; - dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die Ernährungssicherheit (direkter Gegenentwurf zur zurückgezogenen Volksinitiative «Für Ernährungssicherheit»)"@de, - "Arrêté fédéral sur la sécurité alimentaire (contre-projet direct à l’initiative populaire « Pour la sécurité alimentaire », qui a été retirée)"@fr, - "Decreto federale sulla sicurezza alimentare (controprogetto diretto all’iniziativa popolare «Per la sicurezza alimentare», ritirata)"@it, - "Conclus federal davart la segirezza alimentara (cuntraproposta directa a l’iniziativa dal pievel «Per la segirezza alimentara» ch’è vegnida retratga)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit.csv"@de, - "arrete-federal-sur-la-securite-alimentaire-contre-projet-direct-a-l-initiative-populaire-pour-la-securite-alimentaire-qui-a-ete-retiree.csv"@fr, - "decreto-federale-sulla-sicurezza-alimentare-controprogetto-diretto-all-iniziativa-popolare-per-la-sicurezza-alimentare-ritirata.csv"@it, - "conclus-federal-davart-la-segirezza-alimentara-cuntraproposta-directa-a-l-iniziativa-dal-pievel-per-la-segirezza-alimentara-ch-e-vegnida-retratga.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-ernaehrungssicherheit-direkter-gegenentwurf-zur-zurueckgezogenen-volksinitiative-fuer-ernaehrungssicherheit.json"@de, - "arrete-federal-sur-la-securite-alimentaire-contre-projet-direct-a-l-initiative-populaire-pour-la-securite-alimentaire-qui-a-ete-retiree.json"@fr, - "decreto-federale-sulla-sicurezza-alimentare-controprogetto-diretto-all-iniziativa-popolare-per-la-sicurezza-alimentare-ritirata.json"@it, - "conclus-federal-davart-la-segirezza-alimentara-cuntraproposta-directa-a-l-iniziativa-dal-pievel-per-la-segirezza-alimentara-ch-e-vegnida-retratga.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die neue Finanzordnung 2021\", 4. März 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral concernant le nouveau régime financier 2021\", 4 mars 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale concernente il nuovo ordinamento finanziario 2021\", 4 marzo 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart il nov urden da finanzas 2021\", 4 da mars 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-ueber-die-neue-finanzordnung-2021@standeskanzlei-graubuenden" ; - dct:issued "2018-03-04T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-03-04T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-03-04T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die neue Finanzordnung 2021"@de, - "Arrêté fédéral concernant le nouveau régime financier 2021"@fr, - "Decreto federale concernente il nuovo ordinamento finanziario 2021"@it, - "Conclus federal davart il nov urden da finanzas 2021"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-neue-finanzordnung-2021.csv"@de, - "arrete-federal-concernant-le-nouveau-regime-financier-2021.csv"@fr, - "decreto-federale-concernente-il-nuovo-ordinamento-finanziario-2021.csv"@it, - "conclus-federal-davart-il-nov-urden-da-finanzas-2021.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-neue-finanzordnung-2021.json"@de, - "arrete-federal-concernant-le-nouveau-regime-financier-2021.json"@fr, - "decreto-federale-concernente-il-nuovo-ordinamento-finanziario-2021.json"@it, - "conclus-federal-davart-il-nov-urden-da-finanzas-2021.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Schaffung eines Fonds für die Nationalstrassen und den Agglomerationsverkehr (NAF)\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral sur la création d’un fonds pour les routes nationales et pour le trafic d’agglomération (FORTA)\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale concernente la creazione di un fondo per le strade nazionali e il traffico d’agglomerato (FOSTRA)\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart la creaziun d’in fond per las vias naziunalas ed il traffic d’aglomeraziun (NAF)\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf@standeskanzlei-graubuenden" ; - dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die Schaffung eines Fonds für die Nationalstrassen und den Agglomerationsverkehr (NAF)"@de, - "Arrêté fédéral sur la création d’un fonds pour les routes nationales et pour le trafic d’agglomération (FORTA)"@fr, - "Decreto federale concernente la creazione di un fondo per le strade nazionali e il traffico d’agglomerato (FOSTRA)"@it, - "Conclus federal davart la creaziun d’in fond per las vias naziunalas ed il traffic d’aglomeraziun (NAF)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf.csv"@de, - "arrete-federal-sur-la-creation-d-un-fonds-pour-les-routes-nationales-et-pour-le-trafic-d-agglomeration-forta.csv"@fr, - "decreto-federale-concernente-la-creazione-di-un-fondo-per-le-strade-nazionali-e-il-traffico-d-agglomerato-fostra.csv"@it, - "conclus-federal-davart-la-creaziun-d-in-fond-per-las-vias-naziunalas-ed-il-traffic-d-aglomeraziun-naf.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-schaffung-eines-fonds-fuer-die-nationalstrassen-und-den-agglomerationsverkehr-naf.json"@de, - "arrete-federal-sur-la-creation-d-un-fonds-pour-les-routes-nationales-et-pour-le-trafic-d-agglomeration-forta.json"@fr, - "decreto-federale-concernente-la-creazione-di-un-fondo-per-le-strade-nazionali-e-il-traffico-d-agglomerato-fostra.json"@it, - "conclus-federal-davart-la-creaziun-d-in-fond-per-las-vias-naziunalas-ed-il-traffic-d-aglomeraziun-naf.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Velowege sowie die Fuss- und Wanderwege\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral concernant les voies cyclables et les chemins et sentiers pédestres\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale concernente le vie ciclabili, i sentieri e i percorsi pedonali\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart las vias da velo sco er las vias e sendas da viandar\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege@standeskanzlei-graubuenden" ; - dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die Velowege sowie die Fuss- und Wanderwege"@de, - "Arrêté fédéral concernant les voies cyclables et les chemins et sentiers pédestres"@fr, - "Decreto federale concernente le vie ciclabili, i sentieri e i percorsi pedonali"@it, - "Conclus federal davart las vias da velo sco er las vias e sendas da viandar"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege.csv"@de, - "arrete-federal-concernant-les-voies-cyclables-et-les-chemins-et-sentiers-pedestres.csv"@fr, - "decreto-federale-concernente-le-vie-ciclabili-i-sentieri-e-i-percorsi-pedonali.csv"@it, - "conclus-federal-davart-las-vias-da-velo-sco-er-las-vias-e-sendas-da-viandar.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-velowege-sowie-die-fuss-und-wanderwege.json"@de, - "arrete-federal-concernant-les-voies-cyclables-et-les-chemins-et-sentiers-pedestres.json"@fr, - "decreto-federale-concernente-le-vie-ciclabili-i-sentieri-e-i-percorsi-pedonali.json"@it, - "conclus-federal-davart-las-vias-da-velo-sco-er-las-vias-e-sendas-da-viandar.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss über die Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Arrêté fédéral sur le financement additionnel de l’AVS par le biais d’un relèvement de la taxe sur la valeur ajoutée\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Decreto federale sul finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Conclus federal davart la finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer@standeskanzlei-graubuenden" ; - dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss über die Zusatzfinanzierung der AHV durch eine Erhöhung der Mehrwertsteuer"@de, - "Arrêté fédéral sur le financement additionnel de l’AVS par le biais d’un relèvement de la taxe sur la valeur ajoutée"@fr, - "Decreto federale sul finanziamento supplementare dell’AVS mediante l’aumento dell’imposta sul valore aggiunto"@it, - "Conclus federal davart la finanziaziun supplementara da la AVS tras in augment da la taglia sin la plivalur"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.csv"@de, - "arrete-federal-sur-le-financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-taxe-sur-la-valeur-ajoutee.csv"@fr, - "decreto-federale-sul-finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.csv"@it, - "conclus-federal-davart-la-finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-ueber-die-zusatzfinanzierung-der-ahv-durch-eine-erhoehung-der-mehrwertsteuer.json"@de, - "arrete-federal-sur-le-financement-additionnel-de-l-avs-par-le-biais-d-un-relevement-de-la-taxe-sur-la-valeur-ajoutee.json"@fr, - "decreto-federale-sul-finanziamento-supplementare-dell-avs-mediante-l-aumento-dell-imposta-sul-valore-aggiunto.json"@it, - "conclus-federal-davart-la-finanziaziun-supplementara-da-la-avs-tras-in-augment-da-la-taglia-sin-la-plivalur.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3. März 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 mars 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 marzo 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik\", 3 da mars 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesbeschluss-vom-15.-juni-2012-uber-die-familienpolitik@standeskanzlei-graubuenden" ; - dct:issued "2013-03-03T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-03-03T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-03-03T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@de, - "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@fr, - "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@it, - "Bundesbeschluss vom 15. Juni 2012 über die Familienpolitik"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@de, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@fr, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@it, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@de, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@fr, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@it, - "bundesbeschluss-vom-15-juni-2012-ueber-die-familienpolitik.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)\", 18 da matg 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-uber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz@standeskanzlei-graubuenden" ; - dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@de, - "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@fr, - "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@it, - "Bundesgesetz über den Fonds zur Beschaffung des Kampfflugzeugs Gripen (Gripen-Fonds-Gesetz)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@de, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@fr, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@it, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@de, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@fr, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@it, - "bundesgesetz-ueber-den-fonds-zur-beschaffung-des-kampfflugzeugs-gripen-gripen-fonds-gesetz.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-uber-die-bekampfung-ubertragbarer-krankheiten-des-menschen-epidemiengesetz@standeskanzlei-graubuenden" ; - dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@de, - "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@fr, - "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@it, - "Bundesgesetz über die Bekämpfung übertragbarer Krankheiten des Menschen (Epidemiengesetz)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@de, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@fr, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@it, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@de, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@fr, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@it, - "bundesgesetz-ueber-die-bekaempfung-uebertragbarer-krankheiten-des-menschen-epidemiengesetz.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über den Nachrichtendienst (Nachrichtendienstgesetz, NDG)\", 25. September 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale sur le renseignement (LRens)\", 25 septembre 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale sulle attività informative (LAIn)\", 25 settembre 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart il servetsch d'infurmaziun (LSI)\", 25 da settember 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg@standeskanzlei-graubuenden" ; - dct:issued "2016-09-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-09-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-09-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über den Nachrichtendienst (Nachrichtendienstgesetz, NDG)"@de, - "Loi fédérale sur le renseignement (LRens)"@fr, - "Legge federale sulle attività informative (LAIn)"@it, - "Lescha federala davart il servetsch d'infurmaziun (LSI)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg.csv"@de, - "loi-federale-sur-le-renseignement-lrens.csv"@fr, - "legge-federale-sulle-attivita-informative-lain.csv"@it, - "lescha-federala-davart-il-servetsch-d-infurmaziun-lsi.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-den-nachrichtendienst-nachrichtendienstgesetz-ndg.json"@de, - "loi-federale-sur-le-renseignement-lrens.json"@fr, - "legge-federale-sulle-attivita-informative-lain.json"@it, - "lescha-federala-davart-il-servetsch-d-infurmaziun-lsi.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Reform der Altersvorsorge 2020\", 24. September 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale sur la réforme de la prévoyance vieillesse 2020\", 24 septembre 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale sulla riforma della previdenza per la vecchiaia 2020\", 24 settembre 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart la refurma da la prevenziun da vegliadetgna 2020\", 24 da settember 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-ueber-die-reform-der-altersvorsorge-2020@standeskanzlei-graubuenden" ; - dct:issued "2017-09-24T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-09-24T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-09-24T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über die Reform der Altersvorsorge 2020"@de, - "Loi fédérale sur la réforme de la prévoyance vieillesse 2020"@fr, - "Legge federale sulla riforma della previdenza per la vecchiaia 2020"@it, - "Lescha federala davart la refurma da la prevenziun da vegliadetgna 2020"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-reform-der-altersvorsorge-2020.csv"@de, - "loi-federale-sur-la-reforme-de-la-prevoyance-vieillesse-2020.csv"@fr, - "legge-federale-sulla-riforma-della-previdenza-per-la-vecchiaia-2020.csv"@it, - "lescha-federala-davart-la-refurma-da-la-prevenziun-da-vegliadetgna-2020.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-reform-der-altersvorsorge-2020.json"@de, - "loi-federale-sur-la-reforme-de-la-prevoyance-vieillesse-2020.json"@fr, - "legge-federale-sulla-riforma-della-previdenza-per-la-vecchiaia-2020.json"@it, - "lescha-federala-davart-la-refurma-da-la-prevenziun-da-vegliadetgna-2020.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über die Steuerreform und die AHV-Finanzierung (STAF)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale relative à la réforme fiscale et au financement de l’AVS (RFFA)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale concernente la riforma fiscale e il finanziamento dell’AVS (RFFA)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart la refurma fiscala e la finanziaziun da la AVS (RFFA)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf@standeskanzlei-graubuenden" ; - dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über die Steuerreform und die AHV-Finanzierung (STAF)"@de, - "Loi fédérale relative à la réforme fiscale et au financement de l’AVS (RFFA)"@fr, - "Legge federale concernente la riforma fiscale e il finanziamento dell’AVS (RFFA)"@it, - "Lescha federala davart la refurma fiscala e la finanziaziun da la AVS (RFFA)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf.csv"@de, - "loi-federale-relative-a-la-reforme-fiscale-et-au-financement-de-l-avs-rffa.csv"@fr, - "legge-federale-concernente-la-riforma-fiscale-e-il-finanziamento-dell-avs-rffa.csv"@it, - "lescha-federala-davart-la-refurma-fiscala-e-la-finanziaziun-da-la-avs-rffa.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-die-steuerreform-und-die-ahv-finanzierung-staf.json"@de, - "loi-federale-relative-a-la-reforme-fiscale-et-au-financement-de-l-avs-rffa.json"@fr, - "legge-federale-concernente-la-riforma-fiscale-e-il-finanziamento-dell-avs-rffa.json"@it, - "lescha-federala-davart-la-refurma-fiscala-e-la-finanziaziun-da-la-avs-rffa.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Bundesgesetz über Geldspiele (Geldspielgesetz, BGS)\", 10. Juni 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi fédérale sur les jeux d’argent (LJAr)\", 10 juin 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge federale sui giochi in denaro (LGD)\", 10 giugno 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha federala davart gieus per daners (Lescha da gieus per daners)\", 10 da zercladur 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs@standeskanzlei-graubuenden" ; - dct:issued "2018-06-10T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-06-10T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-06-10T00:00:00"^^xsd:dateTime ] ; - dct:title "Bundesgesetz über Geldspiele (Geldspielgesetz, BGS)"@de, - "Loi fédérale sur les jeux d’argent (LJAr)"@fr, - "Legge federale sui giochi in denaro (LGD)"@it, - "Lescha federala davart gieus per daners (Lescha da gieus per daners)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs.csv"@de, - "loi-federale-sur-les-jeux-d-argent-ljar.csv"@fr, - "legge-federale-sui-giochi-in-denaro-lgd.csv"@it, - "lescha-federala-davart-gieus-per-daners-lescha-da-gieus-per-daners.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "bundesgesetz-ueber-geldspiele-geldspielgesetz-bgs.json"@de, - "loi-federale-sur-les-jeux-d-argent-ljar.json"@fr, - "legge-federale-sui-giochi-in-denaro-lgd.json"@it, - "lescha-federala-davart-gieus-per-daners-lescha-da-gieus-per-daners.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)\", 8. März 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)\", 8 mars 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Nuovo edificio complementare con mensa e mediateca per la Scuola cantonale grigione, nonché con rifugi per beni culturali per l'Ufficio della cultura (credito d'impegno di 27 milioni di franchi)\", 8 marzo 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Nov edifizi cumplementar da la mensa e da la mediateca per la scola chantunala sco er locals per la protecziun dals bains culturals per l'uffizi da cultura (credit d'impegn da 27 milliuns francs)\", 8 da mars 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-erganzungsneubau-mensa-und-mediothek-fur-die-kantonsschule-sowie-kulturguterschutzraume-fur-das-amt-fur-kultur-verpflichtungskredit-von-27-millionen-franken@standeskanzlei-graubuenden" ; - dct:issued "2015-03-08T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2015-03-08T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2015-03-08T00:00:00"^^xsd:dateTime ] ; - dct:title "Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)"@de, - "Ergänzungsneubau Mensa und Mediothek für die Kantonsschule sowie Kulturgüterschutzräume für das Amt für Kultur (Verpflichtungskredit von 27 Millionen Franken)"@fr, - "Nuovo edificio complementare con mensa e mediateca per la Scuola cantonale grigione, nonché con rifugi per beni culturali per l'Ufficio della cultura (credito d'impegno di 27 milioni di franchi)"@it, - "Nov edifizi cumplementar da la mensa e da la mediateca per la scola chantunala sco er locals per la protecziun dals bains culturals per l'uffizi da cultura (credit d'impegn da 27 milliuns francs)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.csv"@de, - "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.csv"@fr, - "nuovo-edificio-complementare-con-mensa-e-mediateca-per-la-scuola-cantonale-grigione-nonche-con-rifugi-per-beni-culturali-per-l-ufficio-della-cultura-credito-d-impegno-di-27-milioni-di-franchi.csv"@it, - "nov-edifizi-cumplementar-da-la-mensa-e-da-la-mediateca-per-la-scola-chantunala-sco-er-locals-per-la-protecziun-dals-bains-culturals-per-l-uffizi-da-cultura-credit-d-impegn-da-27-milliuns-francs.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.json"@de, - "ergaenzungsneubau-mensa-und-mediothek-fuer-die-kantonsschule-sowie-kulturgueterschutzraeume-fuer-das-amt-fuer-kultur-verpflichtungskredit-von-27-millionen-franken.json"@fr, - "nuovo-edificio-complementare-con-mensa-e-mediateca-per-la-scuola-cantonale-grigione-nonche-con-rifugi-per-beni-culturali-per-l-ufficio-della-cultura-credito-d-impegno-di-27-milioni-di-franchi.json"@it, - "nov-edifizi-cumplementar-da-la-mensa-e-da-la-mediateca-per-la-scola-chantunala-sco-er-locals-per-la-protecziun-dals-bains-culturals-per-l-uffizi-da-cultura-credit-d-impegn-da-27-milliuns-francs.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Erneuerung Tagungszentrum Plantahof, Landquart\", 9. Februar 2020, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Erneuerung Tagungszentrum Plantahof, Landquart\", 9 février 2020, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Rinnovo del centro convegni del Plantahof a Landquart\", 9 febbraio 2020, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Renovaziun dal center da dietas Plantahof a Landquart\", 9 da favrer 2020, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-erneuerung-tagungszentrum-plantahof-landquart@standeskanzlei-graubuenden" ; - dct:issued "2020-02-09T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2020-02-09T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2020-02-09T00:00:00"^^xsd:dateTime ] ; - dct:title "Erneuerung Tagungszentrum Plantahof, Landquart"@de, - "Erneuerung Tagungszentrum Plantahof, Landquart"@fr, - "Rinnovo del centro convegni del Plantahof a Landquart"@it, - "Renovaziun dal center da dietas Plantahof a Landquart"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "erneuerung-tagungszentrum-plantahof-landquart.csv"@de, - "erneuerung-tagungszentrum-plantahof-landquart.csv"@fr, - "rinnovo-del-centro-convegni-del-plantahof-a-landquart.csv"@it, - "renovaziun-dal-center-da-dietas-plantahof-a-landquart.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "erneuerung-tagungszentrum-plantahof-landquart.json"@de, - "erneuerung-tagungszentrum-plantahof-landquart.json"@fr, - "rinnovo-del-centro-convegni-del-plantahof-a-landquart.json"@it, - "renovaziun-dal-center-da-dietas-plantahof-a-landquart.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30. November 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 novembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 novembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)\", 30 da november 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-gesetz-uber-die-gebietsreform-im-kanton-graubunden-mantelgesetz-uber-die-gebietsreform@standeskanzlei-graubuenden" ; - dct:issued "2014-11-30T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-11-30T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-11-30T00:00:00"^^xsd:dateTime ] ; - dct:title "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@de, - "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@fr, - "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@it, - "Gesetz über die Gebietsreform im Kanton Graubünden (Mantelgesetz über die Gebietsreform)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@de, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@fr, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@it, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@de, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@fr, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@it, - "gesetz-ueber-die-gebietsreform-im-kanton-graubuenden-mantelgesetz-ueber-die-gebietsreform.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28. September 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 septembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 settembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)\", 28 da settember 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-gesetz-uber-die-reform-des-finanzausgleichs-im-kanton-graubunden-mantelgesetz-uber-die-fa-reform@standeskanzlei-graubuenden" ; - dct:issued "2014-09-28T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-09-28T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-09-28T00:00:00"^^xsd:dateTime ] ; - dct:title "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@de, - "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@fr, - "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@it, - "Gesetz über die Reform des Finanzausgleichs im Kanton Graubünden (Mantelgesetz über die FA-Reform)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@de, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@fr, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@it, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@de, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@fr, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@it, - "gesetz-ueber-die-reform-des-finanzausgleichs-im-kanton-graubuenden-mantelgesetz-ueber-die-fa-reform.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Gesetzliche Grundlage für die Überwachung von Versicherten\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Base légale pour la surveillance des assurés\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Base legale per la sorveglianza degli assicurati\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Basa legala per survegliar persunas assicuradas\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten@standeskanzlei-graubuenden" ; - dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Gesetzliche Grundlage für die Überwachung von Versicherten"@de, - "Base légale pour la surveillance des assurés"@fr, - "Base legale per la sorveglianza degli assicurati"@it, - "Basa legala per survegliar persunas assicuradas"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten.csv"@de, - "base-legale-pour-la-surveillance-des-assures.csv"@fr, - "base-legale-per-la-sorveglianza-degli-assicurati.csv"@it, - "basa-legala-per-survegliar-persunas-assicuradas.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "gesetzliche-grundlage-fuer-die-uberwachung-von-versicherten.json"@de, - "base-legale-pour-la-surveillance-des-assures.json"@fr, - "base-legale-per-la-sorveglianza-degli-assicurati.json"@it, - "basa-legala-per-survegliar-persunas-assicuradas.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Ja zu sauberem Strom ohne Kohlekraft\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Ja zu sauberem Strom ohne Kohlekraft\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Ja zu sauberem Strom ohne Kohlekraft\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Ja zu sauberem Strom ohne Kohlekraft\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-ja-zu-sauberem-strom-ohne-kohlekraft@standeskanzlei-graubuenden" ; - dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Ja zu sauberem Strom ohne Kohlekraft"@de, - "Ja zu sauberem Strom ohne Kohlekraft"@fr, - "Ja zu sauberem Strom ohne Kohlekraft"@it, - "Ja zu sauberem Strom ohne Kohlekraft"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@de, - "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@fr, - "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@it, - "ja-zu-sauberem-strom-ohne-kohlekraft.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "ja-zu-sauberem-strom-ohne-kohlekraft.json"@de, - "ja-zu-sauberem-strom-ohne-kohlekraft.json"@fr, - "ja-zu-sauberem-strom-ohne-kohlekraft.json"@it, - "ja-zu-sauberem-strom-ohne-kohlekraft.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Iniziativa popolare cantonale «Buona scuola Grigioni – codecisione riguardo ai programmi didattici»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Iniziativa chantunala dal pievel «Buna scola grischuna – cundecisiun tar ils plans d'instrucziun»\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen@standeskanzlei-graubuenden" ; - dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»"@de, - "Kantonale Volksinitiative «Gute Schule Graubünden – Mitsprache bei Lehrplänen»"@fr, - "Iniziativa popolare cantonale «Buona scuola Grigioni – codecisione riguardo ai programmi didattici»"@it, - "Iniziativa chantunala dal pievel «Buna scola grischuna – cundecisiun tar ils plans d'instrucziun»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.csv"@de, - "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.csv"@fr, - "iniziativa-popolare-cantonale-buona-scuola-grigioni-codecisione-riguardo-ai-programmi-didattici.csv"@it, - "iniziativa-chantunala-dal-pievel-buna-scola-grischuna-cundecisiun-tar-ils-plans-d-instrucziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.json"@de, - "kantonale-volksinitiative-gute-schule-graubuenden-mitsprache-bei-lehrplaenen.json"@fr, - "iniziativa-popolare-cantonale-buona-scuola-grigioni-codecisione-riguardo-ai-programmi-didattici.json"@it, - "iniziativa-chantunala-dal-pievel-buna-scola-grischuna-cundecisiun-tar-ils-plans-d-instrucziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Umsetzung einer Änderung der EU-Waffenrichtlinie (Weiterentwicklung von Schengen)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Mise en oeuvre d’une modification de la directive de l’UE sur les armes (Développement de l’acquis de Schengen)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Trasposizione nel diritto svizzero di una modifica della direttiva UE sulle armi (Sviluppo di Schengen)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Realisaziun d’ina midada da la directiva da la UE davart las armas (Svilup da l’acquist da Schengen)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen@standeskanzlei-graubuenden" ; - dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; - dct:title "Umsetzung einer Änderung der EU-Waffenrichtlinie (Weiterentwicklung von Schengen)"@de, - "Mise en oeuvre d’une modification de la directive de l’UE sur les armes (Développement de l’acquis de Schengen)"@fr, - "Trasposizione nel diritto svizzero di una modifica della direttiva UE sulle armi (Sviluppo di Schengen)"@it, - "Realisaziun d’ina midada da la directiva da la UE davart las armas (Svilup da l’acquist da Schengen)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen.csv"@de, - "mise-en-oeuvre-d-une-modification-de-la-directive-de-l-ue-sur-les-armes-developpement-de-l-acquis-de-schengen.csv"@fr, - "trasposizione-nel-diritto-svizzero-di-una-modifica-della-direttiva-ue-sulle-armi-sviluppo-di-schengen.csv"@it, - "realisaziun-d-ina-midada-da-la-directiva-da-la-ue-davart-las-armas-svilup-da-l-acquist-da-schengen.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "umsetzung-einer-anderung-der-eu-waffenrichtlinie-weiterentwicklung-von-schengen.json"@de, - "mise-en-oeuvre-d-une-modification-de-la-directive-de-l-ue-sur-les-armes-developpement-de-l-acquis-de-schengen.json"@fr, - "trasposizione-nel-diritto-svizzero-di-una-modifica-della-direttiva-ue-sulle-armi-sviluppo-di-schengen.json"@it, - "realisaziun-d-ina-midada-da-la-directiva-da-la-ue-davart-las-armas-svilup-da-l-acquist-da-schengen.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Unternehmenssteuerreformgesetz III\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Loi sur la réforme de l’imposition des entreprises III\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Legge sulla Riforma III dell’imposizione delle imprese\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Lescha davart la refurmada la taglia sin interpresas III\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-unternehmenssteuerreformgesetz-iii@standeskanzlei-graubuenden" ; - dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; - dct:title "Unternehmenssteuerreformgesetz III"@de, - "Loi sur la réforme de l’imposition des entreprises III"@fr, - "Legge sulla Riforma III dell’imposizione delle imprese"@it, - "Lescha davart la refurmada la taglia sin interpresas III"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "unternehmenssteuerreformgesetz-iii.csv"@de, - "loi-sur-la-reforme-de-l-imposition-des-entreprises-iii.csv"@fr, - "legge-sulla-riforma-iii-dell-imposizione-delle-imprese.csv"@it, - "lescha-davart-la-refurmada-la-taglia-sin-interpresas-iii.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "unternehmenssteuerreformgesetz-iii.json"@de, - "loi-sur-la-reforme-de-l-imposition-des-entreprises-iii.json"@fr, - "legge-sulla-riforma-iii-dell-imposizione-delle-imprese.json"@it, - "lescha-davart-la-refurmada-la-taglia-sin-interpresas-iii.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026\", 12. Februar 2017, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026\", 12 février 2017, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Credito d'impegno per la candidatura per i Giochi olimpici e paralimpici invernali 2026\", 12 febbraio 2017, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Credit d'impegn per la candidatura per ils gieus olimpics e paralimpics d'enviern 2026\", 12 da favrer 2017, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026@standeskanzlei-graubuenden" ; - dct:issued "2017-02-12T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2017-02-12T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2017-02-12T00:00:00"^^xsd:dateTime ] ; - dct:title "Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026"@de, - "Verpflichtungskredit für die Kandidatur für die Olympischen und Paralympischen Winterspiele 2026"@fr, - "Credito d'impegno per la candidatura per i Giochi olimpici e paralimpici invernali 2026"@it, - "Credit d'impegn per la candidatura per ils gieus olimpics e paralimpics d'enviern 2026"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.csv"@de, - "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.csv"@fr, - "credito-d-impegno-per-la-candidatura-per-i-giochi-olimpici-e-paralimpici-invernali-2026.csv"@it, - "credit-d-impegn-per-la-candidatura-per-ils-gieus-olimpics-e-paralimpics-d-enviern-2026.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.json"@de, - "verpflichtungskredit-fuer-die-kandidatur-fuer-die-olympischen-und-paralympischen-winterspiele-2026.json"@fr, - "credito-d-impegno-per-la-candidatura-per-i-giochi-olimpici-e-paralimpici-invernali-2026.json"@it, - "credit-d-impegn-per-la-candidatura-per-ils-gieus-olimpics-e-paralimpics-d-enviern-2026.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24. November 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 novembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 novembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"1:12 – für gerechte Löhne\"\", 24 da november 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-1-12-fur-gerechte-lohne@standeskanzlei-graubuenden" ; - dct:issued "2013-11-24T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-11-24T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-11-24T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"1:12 – für gerechte Löhne\""@de, - "Volksinitiative \"1:12 – für gerechte Löhne\""@fr, - "Volksinitiative \"1:12 – für gerechte Löhne\""@it, - "Volksinitiative \"1:12 – für gerechte Löhne\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-1-12-fuer-gerechte-loehne.csv"@de, - "volksinitiative-1-12-fuer-gerechte-loehne.csv"@fr, - "volksinitiative-1-12-fuer-gerechte-loehne.csv"@it, - "volksinitiative-1-12-fuer-gerechte-loehne.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-1-12-fuer-gerechte-loehne.json"@de, - "volksinitiative-1-12-fuer-gerechte-loehne.json"@fr, - "volksinitiative-1-12-fuer-gerechte-loehne.json"@it, - "volksinitiative-1-12-fuer-gerechte-loehne.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9. Februar 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 février 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 febbraio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\"\", 9 da favrer 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung@standeskanzlei-graubuenden" ; - dct:issued "2014-02-09T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-02-09T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-02-09T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@de, - "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@fr, - "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@it, - "Volksinitiative \"Abtreibungsfinanzierung ist Privatsache – Entlastung der Krankenversicherung durch Streichung der Kosten des Schwangerschaftsabbruchs aus der obligatorischen Grundversicherung\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@de, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@fr, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@it, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@de, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@fr, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@it, - "volksinitiative-abtreibungsfinanzierung-ist-privatsache-entlastung-der-krankenversicherung-durch-streichung-der-kosten-des-schwangerschaftsabbruchs-aus-der-obligatorischen-grundversicherung.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Familien stärken! Steuerfreie Kinder- und Ausbildungszulagen»\", 8. März 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Aider les familles! Pour des allocations pour enfant et des allocations de formation professionnelle exonérées de l'impôt»\", 8 mars 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Sostenere le famiglie! Esentare dalle imposte gli assegni per i figli e gli assegni di formazione»\", 8 marzo 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Sustegnair las famiglias! Nagina taglia sin supplements per uffants e sin supplements da scolaziun»\", 8 da mars 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-familien-starken-steuerfreie-kinder-und-ausbildungszulagen@standeskanzlei-graubuenden" ; - dct:issued "2015-03-08T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:17+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2015-03-08T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2015-03-08T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Familien stärken! Steuerfreie Kinder- und Ausbildungszulagen»"@de, - "Initiative populaire «Aider les familles! Pour des allocations pour enfant et des allocations de formation professionnelle exonérées de l'impôt»"@fr, - "Iniziativa popolare «Sostenere le famiglie! Esentare dalle imposte gli assegni per i figli e gli assegni di formazione»"@it, - "Iniziativa dal pievel «Sustegnair las famiglias! Nagina taglia sin supplements per uffants e sin supplements da scolaziun»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-familien-staerken-steuerfreie-kinder-und-ausbildungszulagen.csv"@de, - "initiative-populaire-aider-les-familles-pour-des-allocations-pour-enfant-et-des-allocations-de-formation-professionnelle-exonerees-de-l-impot.csv"@fr, - "iniziativa-popolare-sostenere-le-famiglie-esentare-dalle-imposte-gli-assegni-per-i-figli-e-gli-assegni-di-formazione.csv"@it, - "iniziativa-dal-pievel-sustegnair-las-famiglias-nagina-taglia-sin-supplements-per-uffants-e-sin-supplements-da-scolaziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-familien-staerken-steuerfreie-kinder-und-ausbildungszulagen.json"@de, - "initiative-populaire-aider-les-familles-pour-des-allocations-pour-enfant-et-des-allocations-de-formation-professionnelle-exonerees-de-l-impot.json"@fr, - "iniziativa-popolare-sostenere-le-famiglie-esentare-dalle-imposte-gli-assegni-per-i-figli-e-gli-assegni-di-formazione.json"@it, - "iniziativa-dal-pievel-sustegnair-las-famiglias-nagina-taglia-sin-supplements-per-uffants-e-sin-supplements-da-scolaziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine faire Verkehrsfinanzierung»\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Pour un financement équitable des transports »\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per un equo finanziamento dei trasporti»\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per ina finanziaziun gista dal traffic»\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fuer-eine-faire-verkehrsfinanzierung@standeskanzlei-graubuenden" ; - dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für eine faire Verkehrsfinanzierung»"@de, - "Initiative populaire « Pour un financement équitable des transports »"@fr, - "Iniziativa popolare «Per un equo finanziamento dei trasporti»"@it, - "Iniziativa dal pievel «Per ina finanziaziun gista dal traffic»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-faire-verkehrsfinanzierung.csv"@de, - "initiative-populaire-pour-un-financement-equitable-des-transports.csv"@fr, - "iniziativa-popolare-per-un-equo-finanziamento-dei-trasporti.csv"@it, - "iniziativa-dal-pievel-per-ina-finanziaziun-gista-dal-traffic.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-faire-verkehrsfinanzierung.json"@de, - "initiative-populaire-pour-un-financement-equitable-des-transports.json"@fr, - "iniziativa-popolare-per-un-equo-finanziamento-dei-trasporti.json"@it, - "iniziativa-dal-pievel-per-ina-finanziaziun-gista-dal-traffic.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für eine massvolle Zuwanderung (Begrenzungsinitiative)»\", 27. September 2020, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Pour une immigration modérée (initiative de limitation)»\", 27 septembre 2020, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per un’immigrazione moderata (Iniziativa per la limitazione)»\", 27 settembre 2020, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa federala dal pievel «Per ina immigraziun moderada (Iniziativa da limitaziun)»\", 27 da settember 2020, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative@standeskanzlei-graubuenden" ; - dct:issued "2020-09-27T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2020-09-27T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2020-09-27T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für eine massvolle Zuwanderung (Begrenzungsinitiative)»"@de, - "Initiative populaire «Pour une immigration modérée (initiative de limitation)»"@fr, - "Iniziativa popolare «Per un’immigrazione moderata (Iniziativa per la limitazione)»"@it, - "Iniziativa federala dal pievel «Per ina immigraziun moderada (Iniziativa da limitaziun)»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative.csv"@de, - "initiative-populaire-pour-une-immigration-moderee-initiative-de-limitation.csv"@fr, - "iniziativa-popolare-per-un-immigrazione-moderata-iniziativa-per-la-limitazione.csv"@it, - "iniziativa-federala-dal-pievel-per-ina-immigraziun-moderada-iniziativa-da-limitaziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-massvolle-zuwanderung-begrenzungsinitiative.json"@de, - "initiative-populaire-pour-une-immigration-moderee-initiative-de-limitation.json"@fr, - "iniziativa-popolare-per-un-immigrazione-moderata-iniziativa-per-la-limitazione.json"@it, - "iniziativa-federala-dal-pievel-per-ina-immigraziun-moderada-iniziativa-da-limitaziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für Ernährungs souveränität. Die Landwirtschaft betrifft uns alle»\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Pour la souveraineté alimentaire. L’agriculture nous concerne toutes et tous »\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per la sovranità alimentare. L’agricoltura riguarda noi tutti»\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per la suveranitad alimentara. L’agricultura pertutga nus tuts»\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle@standeskanzlei-graubuenden" ; - dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für Ernährungs souveränität. Die Landwirtschaft betrifft uns alle»"@de, - "Initiative populaire « Pour la souveraineté alimentaire. L’agriculture nous concerne toutes et tous »"@fr, - "Iniziativa popolare «Per la sovranità alimentare. L’agricoltura riguarda noi tutti»"@it, - "Iniziativa dal pievel «Per la suveranitad alimentara. L’agricultura pertutga nus tuts»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle.csv"@de, - "initiative-populaire-pour-la-souverainete-alimentaire-l-agriculture-nous-concerne-toutes-et-tous.csv"@fr, - "iniziativa-popolare-per-la-sovranita-alimentare-l-agricoltura-riguarda-noi-tutti.csv"@it, - "iniziativa-dal-pievel-per-la-suveranitad-alimentara-l-agricultura-pertutga-nus-tuts.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-ernaehrungs-souveraenitaet-die-landwirtschaft-betrifft-uns-alle.json"@de, - "initiative-populaire-pour-la-souverainete-alimentaire-l-agriculture-nous-concerne-toutes-et-tous.json"@fr, - "iniziativa-popolare-per-la-sovranita-alimentare-l-agricoltura-riguarda-noi-tutti.json"@it, - "iniziativa-dal-pievel-per-la-suveranitad-alimentara-l-agricultura-pertutga-nus-tuts.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für gesunde sowie umweltfreundlich und fair hergestellte Lebensmittel (Fair-Food-Initiative)»\", 23. September 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Pour des denrées alimentaires saines et produites dans des conditions équitables et écologiques (initiative pour des aliments équitables) »\", 23 septembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per derrate alimentari sane, prodotte nel rispetto dell’ambiente e in modo equo (Iniziativa per alimenti equi)»\", 23 settembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per victualias saunas sco er produ cidas en moda ecologica e faira (Iniziativa da fair-food)»\", 23 da settember 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative@standeskanzlei-graubuenden" ; - dct:issued "2018-09-23T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-09-23T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-09-23T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für gesunde sowie umweltfreundlich und fair hergestellte Lebensmittel (Fair-Food-Initiative)»"@de, - "Initiative populaire « Pour des denrées alimentaires saines et produites dans des conditions équitables et écologiques (initiative pour des aliments équitables) »"@fr, - "Iniziativa popolare «Per derrate alimentari sane, prodotte nel rispetto dell’ambiente e in modo equo (Iniziativa per alimenti equi)»"@it, - "Iniziativa dal pievel «Per victualias saunas sco er produ cidas en moda ecologica e faira (Iniziativa da fair-food)»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative.csv"@de, - "initiative-populaire-pour-des-denrees-alimentaires-saines-et-produites-dans-des-conditions-equitables-et-ecologiques-initiative-pour-des-aliments-equitables.csv"@fr, - "iniziativa-popolare-per-derrate-alimentari-sane-prodotte-nel-rispetto-dell-ambiente-e-in-modo-equo-iniziativa-per-alimenti-equi.csv"@it, - "iniziativa-dal-pievel-per-victualias-saunas-sco-er-produ-cidas-en-moda-ecologica-e-faira-iniziativa-da-fair-food.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-gesunde-sowie-umweltfreundlich-und-fair-hergestellte-lebensmittel-fair-food-initiative.json"@de, - "initiative-populaire-pour-des-denrees-alimentaires-saines-et-produites-dans-des-conditions-equitables-et-ecologiques-initiative-pour-des-aliments-equitables.json"@fr, - "iniziativa-popolare-per-derrate-alimentari-sane-prodotte-nel-rispetto-dell-ambiente-e-in-modo-equo-iniziativa-per-alimenti-equi.json"@it, - "iniziativa-dal-pievel-per-victualias-saunas-sco-er-produ-cidas-en-moda-ecologica-e-faira-iniziativa-da-fair-food.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Für krisensicheres Geld: Geldschöpfung allein durch die Nationalbank! (Vollgeld-Initiative)»\", 10. Juni 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Pour une monnaie à l’abri des crises: émission monétaire uniquement par la Banque nationale! (Initiative Monnaie pleine)»\", 10 juin 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per soldi a prova di crisi: emissione di moneta riservata alla Banca nazionale! (Iniziativa Moneta intera)»\", 10 giugno 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel \"Per daners segirs en ina crisa: emissiuns monetaras mo da la Banca naziunala! (Iniziativa per il daner cumplain)\"\", 10 da zercladur 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative@standeskanzlei-graubuenden" ; - dct:issued "2018-06-10T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-06-10T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-06-10T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Für krisensicheres Geld: Geldschöpfung allein durch die Nationalbank! (Vollgeld-Initiative)»"@de, - "Initiative populaire «Pour une monnaie à l’abri des crises: émission monétaire uniquement par la Banque nationale! (Initiative Monnaie pleine)»"@fr, - "Iniziativa popolare «Per soldi a prova di crisi: emissione di moneta riservata alla Banca nazionale! (Iniziativa Moneta intera)»"@it, - "Iniziativa dal pievel \"Per daners segirs en ina crisa: emissiuns monetaras mo da la Banca naziunala! (Iniziativa per il daner cumplain)\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative.csv"@de, - "initiative-populaire-pour-une-monnaie-a-l-abri-des-crises-emission-monetaire-uniquement-par-la-banque-nationale-initiative-monnaie-pleine.csv"@fr, - "iniziativa-popolare-per-soldi-a-prova-di-crisi-emissione-di-moneta-riservata-alla-banca-nazionale-iniziativa-moneta-intera.csv"@it, - "iniziativa-dal-pievel-per-daners-segirs-en-ina-crisa-emissiuns-monetaras-mo-da-la-banca-naziunala-iniziativa-per-il-daner-cumplain.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-krisensicheres-geld-geldschoepfung-allein-durch-die-nationalbank-vollgeld-initiative.json"@de, - "initiative-populaire-pour-une-monnaie-a-l-abri-des-crises-emission-monetaire-uniquement-par-la-banque-nationale-initiative-monnaie-pleine.json"@fr, - "iniziativa-popolare-per-soldi-a-prova-di-crisi-emissione-di-moneta-riservata-alla-banca-nazionale-iniziativa-moneta-intera.json"@it, - "iniziativa-dal-pievel-per-daners-segirs-en-ina-crisa-emissiuns-monetaras-mo-da-la-banca-naziunala-iniziativa-per-il-daner-cumplain.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18. Mai 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 mai 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 maggio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\"\", 18 da matg 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fur-den-schutz-fairer-lohne-mindestlohninitiative@standeskanzlei-graubuenden" ; - dct:issued "2014-05-18T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-05-18T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-05-18T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@de, - "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@fr, - "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@it, - "Volksinitiative \"Für den Schutz fairer Löhne (Mindestlohninitiative)\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@de, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@fr, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@it, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@de, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@fr, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@it, - "volksinitiative-fuer-den-schutz-fairer-loehne-mindestlohninitiative.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28. September 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 septembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 settembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"Für eine öffentliche Krankenkasse\"\", 28 da settember 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-fur-eine-offentliche-krankenkasse@standeskanzlei-graubuenden" ; - dct:issued "2014-09-28T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-09-28T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-09-28T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Für eine öffentliche Krankenkasse\""@de, - "Volksinitiative \"Für eine öffentliche Krankenkasse\""@fr, - "Volksinitiative \"Für eine öffentliche Krankenkasse\""@it, - "Volksinitiative \"Für eine öffentliche Krankenkasse\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@de, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@fr, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@it, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@de, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@fr, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@it, - "volksinitiative-fuer-eine-oeffentliche-krankenkasse.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Ja zum Verhüllungsverbot»\", 7. März 2021, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Oui à l’interdiction de se dissimuler le visage»\", 7 mars 2021, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Sì al divieto di dissimulare il proprio viso»\", 7 marzo 2021, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Gea al scumond da cuvrir la fatscha»\", 7 da mars 2021, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-ja-zum-verhuellungsverbot@standeskanzlei-graubuenden" ; - dct:issued "2021-03-07T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2021-03-07T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2021-03-07T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Ja zum Verhüllungsverbot»"@de, - "Initiative populaire «Oui à l’interdiction de se dissimuler le visage»"@fr, - "Iniziativa popolare «Sì al divieto di dissimulare il proprio viso»"@it, - "Iniziativa dal pievel «Gea al scumond da cuvrir la fatscha»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-ja-zum-verhuellungsverbot.csv"@de, - "initiative-populaire-oui-a-l-interdiction-de-se-dissimuler-le-visage.csv"@fr, - "iniziativa-popolare-si-al-divieto-di-dissimulare-il-proprio-viso.csv"@it, - "iniziativa-dal-pievel-gea-al-scumond-da-cuvrir-la-fatscha.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-ja-zum-verhuellungsverbot.json"@de, - "initiative-populaire-oui-a-l-interdiction-de-se-dissimuler-le-visage.json"@fr, - "iniziativa-popolare-si-al-divieto-di-dissimulare-il-proprio-viso.json"@it, - "iniziativa-dal-pievel-gea-al-scumond-da-cuvrir-la-fatscha.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22. September 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 septembre 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 settembre 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\"\", 22 da settember 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-ja-zur-aufhebung-der-wehrpflicht@standeskanzlei-graubuenden" ; - dct:issued "2013-09-22T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-09-22T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-09-22T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@de, - "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@fr, - "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@it, - "Volksinitiative \"Ja zur Aufhebung der Wehrpflicht\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@de, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@fr, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@it, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@de, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@fr, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@it, - "volksinitiative-ja-zur-aufhebung-der-wehrpflicht.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Pro Service public»\", 5. Juni 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « En faveur du service public »\", 5 juin 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «A favore del servizio pubblico»\", 5 giugno 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «A favur dal servetsch public»\", 5 da zercladur 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-pro-service-public@standeskanzlei-graubuenden" ; - dct:issued "2016-06-05T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-06-05T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-06-05T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Pro Service public»"@de, - "Initiative populaire « En faveur du service public »"@fr, - "Iniziativa popolare «A favore del servizio pubblico»"@it, - "Iniziativa dal pievel «A favur dal servetsch public»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-pro-service-public.csv"@de, - "initiative-populaire-en-faveur-du-service-public.csv"@fr, - "iniziativa-popolare-a-favore-del-servizio-pubblico.csv"@it, - "iniziativa-dal-pievel-a-favur-dal-servetsch-public.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-pro-service-public.json"@de, - "initiative-populaire-en-faveur-du-service-public.json"@fr, - "iniziativa-popolare-a-favore-del-servizio-pubblico.json"@it, - "iniziativa-dal-pievel-a-favur-dal-servetsch-public.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30. November 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 novembre 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 novembre 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\"\", 30 da november 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-rettet-unser-schweizer-gold-gold-initiative@standeskanzlei-graubuenden" ; - dct:issued "2014-11-30T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-11-30T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-11-30T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@de, - "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@fr, - "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@it, - "Volksinitiative \"Rettet unser Schweizer Gold (Gold-Initiative)\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@de, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@fr, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@it, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@de, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@fr, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@it, - "volksinitiative-rettet-unser-schweizer-gold-gold-initiative.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Schweizer Recht statt fremde Richter (Selbstbestimmungsinitiative)»\", 25. November 2018, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Le droit suisse au lieu de juges étrangers (initiative pour l’autodétermination) »\", 25 novembre 2018, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Il diritto svizzero anziché giudici stranieri (Iniziativa per l’autodeterminazione)»\", 25 novembre 2018, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Il dretg svizzer empè da derschaders esters (Iniziativa per l’autodeterminaziun)»\", 25 da november 2018, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative@standeskanzlei-graubuenden" ; - dct:issued "2018-11-25T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2018-11-25T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2018-11-25T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Schweizer Recht statt fremde Richter (Selbstbestimmungsinitiative)»"@de, - "Initiative populaire « Le droit suisse au lieu de juges étrangers (initiative pour l’autodétermination) »"@fr, - "Iniziativa popolare «Il diritto svizzero anziché giudici stranieri (Iniziativa per l’autodeterminazione)»"@it, - "Iniziativa dal pievel «Il dretg svizzer empè da derschaders esters (Iniziativa per l’autodeterminaziun)»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative.csv"@de, - "initiative-populaire-le-droit-suisse-au-lieu-de-juges-etrangers-initiative-pour-l-autodetermination.csv"@fr, - "iniziativa-popolare-il-diritto-svizzero-anziche-giudici-stranieri-iniziativa-per-l-autodeterminazione.csv"@it, - "iniziativa-dal-pievel-il-dretg-svizzer-empe-da-derschaders-esters-iniziativa-per-l-autodeterminaziun.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-schweizer-recht-statt-fremde-richter-selbstbestimmungsinitiative.json"@de, - "initiative-populaire-le-droit-suisse-au-lieu-de-juges-etrangers-initiative-pour-l-autodetermination.json"@fr, - "iniziativa-popolare-il-diritto-svizzero-anziche-giudici-stranieri-iniziativa-per-l-autodeterminazione.json"@it, - "iniziativa-dal-pievel-il-dretg-svizzer-empe-da-derschaders-esters-iniziativa-per-l-autodeterminaziun.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Stipendieninitiative»\", 14. Juni 2015, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire « Initiativesur les bourses d’études »\", 14 juin 2015, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Sulleborse di studio»\", 14 giugno 2015, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Iniziativa davart ils stipendis»\", 14 da zercladur 2015, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-stipendieninitiative@standeskanzlei-graubuenden" ; - dct:issued "2015-06-14T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2015-06-14T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2015-06-14T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Stipendieninitiative»"@de, - "Initiative populaire « Initiativesur les bourses d’études »"@fr, - "Iniziativa popolare «Sulleborse di studio»"@it, - "Iniziativa dal pievel «Iniziativa davart ils stipendis»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-stipendieninitiative.csv"@de, - "initiative-populaire-initiativesur-les-bourses-d-etudes.csv"@fr, - "iniziativa-popolare-sulleborse-di-studio.csv"@it, - "iniziativa-dal-pievel-iniziativa-davart-ils-stipendis.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-stipendieninitiative.json"@de, - "initiative-populaire-initiativesur-les-bourses-d-etudes.json"@fr, - "iniziativa-popolare-sulleborse-di-studio.json"@it, - "iniziativa-dal-pievel-iniziativa-davart-ils-stipendis.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3. März 2013, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 mars 2013, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 marzo 2013, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\"\", 3 da mars 2013, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-vom-26.-februar-2008-gegen-die-abzockerei@standeskanzlei-graubuenden" ; - dct:issued "2013-03-03T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2013-03-03T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2013-03-03T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@de, - "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@fr, - "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@it, - "Volksinitiative vom 26. Februar 2008 \"gegen die Abzockerei\""@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@de, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@fr, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@it, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@de, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@fr, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@it, - "volksinitiative-vom-26-februar-2008-gegen-die-abzockerei.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9. Februar 2014, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 février 2014, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 febbraio 2014, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)\", 9 da favrer 2014, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-weniger-steuern-fur-das-gewerbe-kirchensteuerinitiative@standeskanzlei-graubuenden" ; - dct:issued "2014-02-09T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2014-02-09T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2014-02-09T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@de, - "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@fr, - "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@it, - "Volksinitiative \"Weniger Steuern für das Gewerbe\" (Kirchensteuerinitiative)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@de, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@fr, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@it, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@de, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@fr, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@it, - "volksinitiative-weniger-steuern-fuer-das-gewerbe-kirchensteuerinitiative.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der kantonalen Abstimmung \"Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)\", 19. Mai 2019, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote cantonal \"Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)\", 19 mai 2019, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione cantonale \"Iniziativa popolare per l'abrogazione della caccia speciale (iniziativa sulla caccia speciale)\", 19 maggio 2019, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun chantunala \"Iniziativa dal pievel per abolir la chatscha speziala (iniziativa cunter la chatscha speziala)\", 19 da matg 2019, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative@standeskanzlei-graubuenden" ; - dct:issued "2019-05-19T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2019-05-19T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2019-05-19T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)"@de, - "Volksinitiative zur Abschaffung der Sonderjagd (Sonderjagdinitiative)"@fr, - "Iniziativa popolare per l'abrogazione della caccia speciale (iniziativa sulla caccia speciale)"@it, - "Iniziativa dal pievel per abolir la chatscha speziala (iniziativa cunter la chatscha speziala)"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "kantonal"@de, - "cantonal"@fr, - "votation"@fr, - "cantonale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.csv"@de, - "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.csv"@fr, - "iniziativa-popolare-per-l-abrogazione-della-caccia-speciale-iniziativa-sulla-caccia-speciale.csv"@it, - "iniziativa-dal-pievel-per-abolir-la-chatscha-speziala-iniziativa-cunter-la-chatscha-speziala.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.json"@de, - "volksinitiative-zur-abschaffung-der-sonderjagd-sonderjagdinitiative.json"@fr, - "iniziativa-popolare-per-l-abrogazione-della-caccia-speciale-iniziativa-sulla-caccia-speciale.json"@it, - "iniziativa-dal-pievel-per-abolir-la-chatscha-speziala-iniziativa-cunter-la-chatscha-speziala.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Schlussresultate der eidgenössischen Abstimmung \"Volksinitiative «Zur Durchsetzung der Ausschaffung krimineller Ausländer (Durchsetzungsinitiative)» \", 28. Februar 2016, Graubünden - Grischun - Grigioni, aufgeschlüsselt nach Gemeinden."@de, - "Résultats finaux du vote fédéral \"Initiative populaire «Pour le renvoi effectif des étrangers criminels (initiative de mise en Å“uvre)»\", 28 février 2016, Graubünden - Grischun - Grigioni, répartis par municipalités."@fr, - "Risultati finali della votazione federale \"Iniziativa popolare «Per l'attuazione dell'espulsione degli stranieri che commettono reati (Iniziativa per l'attuazione)»\", 28 febbraio 2016, Graubünden - Grischun - Grigioni, suddivisi per municipalit."@it, - "Resultats finals da la votaziun federala \"Iniziativa dal pievel «Per il repatriament effectiv da las persunas estras criminalas (iniziativa per il repatriament effectiv)»\", 28 da favrer 2016, Graubünden - Grischun - Grigioni, ordinà tenor vischnancas."@rm ; - dct:identifier "vote-volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative@standeskanzlei-graubuenden" ; - dct:issued "2016-02-28T00:00:00"^^xsd:dateTime ; - dct:modified "2022-01-19T06:36:18+00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - , - , - ; - dct:temporal [ a dct:PeriodOfTime ; - dcat:endDate "2016-02-28T23:59:59.999999"^^xsd:dateTime ; - dcat:startDate "2016-02-28T00:00:00"^^xsd:dateTime ] ; - dct:title "Volksinitiative «Zur Durchsetzung der Ausschaffung krimineller Ausländer (Durchsetzungsinitiative)» "@de, - "Initiative populaire «Pour le renvoi effectif des étrangers criminels (initiative de mise en Å“uvre)»"@fr, - "Iniziativa popolare «Per l'attuazione dell'espulsione degli stranieri che commettono reati (Iniziativa per l'attuazione)»"@it, - "Iniziativa dal pievel «Per il repatriament effectiv da las persunas estras criminalas (iniziativa per il repatriament effectiv)»"@rm ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "Standeskanzlei Graubünden" ; - vcard:hasEmail ] ; - dcat:distribution , - ; - dcat:keyword "abstimmung"@de, - "national"@de, - "federal"@fr, - "votation"@fr, - "nazionale"@it, - "votazione"@it ; - dcat:landingPage ; - dcat:theme , - euthemes:GOVE . - - a dcat:Distribution ; - dct:format ; - dct:identifier "csv" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative.csv"@de, - "initiative-populaire-pour-le-renvoi-effectif-des-etrangers-criminels-initiative-de-mise-en-oeuvre.csv"@fr, - "iniziativa-popolare-per-l-attuazione-dell-espulsione-degli-stranieri-che-commettono-reati-iniziativa-per-l-attuazione.csv"@it, - "iniziativa-dal-pievel-per-il-repatriament-effectiv-da-las-persunas-estras-criminalas-iniziativa-per-il-repatriament-effectiv.csv"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "text/csv" . - - a dcat:Distribution ; - dct:format ; - dct:identifier "json" ; - dct:license ; - dct:rights ; - dct:title "volksinitiative-zur-durchsetzung-der-ausschaffung-krimineller-auslaender-durchsetzungsinitiative.json"@de, - "initiative-populaire-pour-le-renvoi-effectif-des-etrangers-criminels-initiative-de-mise-en-oeuvre.json"@fr, - "iniziativa-popolare-per-l-attuazione-dell-espulsione-degli-stranieri-che-commettono-reati-iniziativa-per-l-attuazione.json"@it, - "iniziativa-dal-pievel-per-il-repatriament-effectiv-da-las-persunas-estras-criminalas-iniziativa-per-il-repatriament-effectiv.json"@rm ; - dcat:accessURL ; - dcat:downloadURL ; - dcat:mediaType "application/json" . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Die Fassungen sind bewilligungspflichtig; die Wasserentnahme Standorte geben Information zum Niederwasserabfluss (Q347), die gefassten Wassermengen und die Restwassermenge unterhalb der Fassung."@de, - "Les captages sont soumis à autorisation, les points de prélèvement d'eau donnent des informations sur les débits d'étiage (Q347), les débits captés et les débits résiduels en aval du captage."@fr ; - dct:identifier "9943b21d-521e-4cf1-b663-0c3f2575f6c1@canton-du-valais-cc-geo" ; - dct:issued "2017-08-24T00:00:00"^^xsd:dateTime ; - dct:language "de", - "en", - "fr", - "it" ; - dct:modified "2023-09-19T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Inventar der bestehenden Wasserentnahmen"@de, - "Inventaire des prélèvements d'eau existants"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "auffangbecken"@de, - "energiequellen"@de, - "oberflachengewasser"@de, - "catchment"@en, - "energy-resources"@en, - "surface-water"@en, - "captage"@fr, - "eau-de-surface"@fr, - "sources-denergie"@fr, - "acqua-superficiale"@it, - "captazione-struttura"@it, - "risorse-energetiche"@it ; - dcat:landingPage ; - dcat:theme , - , - , - , - euthemes:EDUC, - euthemes:ENER, - euthemes:ENVI, - euthemes:REGI ; - foaf:page . - - a dcat:Distribution ; - dct:description "OpenData Wallis - Portal zum herunterladen von Geodaten des Kantons Wallis : Mutiformat und WebMercator"@de, - "OpenData Valais - Site de téléchargement de géodonnées à l'Etat du Valais : multiformat et WebMercator"@fr ; - dct:language "de", - "en", - "fr", - "it" ; - dct:license ; - dct:rights ; - dct:title "OpenData Wallis"@de, - "OpenData Valais"@fr ; - dcat:accessURL . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Grundwasserschutzareale dienen zum vorsorglichen Schutz des Grundwassers im Hinblick auf eine zukünftige Nutzung (Versorgung oder Anreicherung). Die Grundwasserschutzareale bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, - "Les périmètres de protection des eaux souterraines servent à protéger les eaux souterraines sur une certaine surface, en vue d’une utilisation future (exploitation ou alimentation artificielle). Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; - dct:identifier "70e3d319-3b88-4518-8bc8-4abb8524fcdb@canton-du-valais-cc-geo" ; - dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; - dct:language "de", - "fr" ; - dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Grundwasserschutzareale"@de, - "Périmètres de protection des eaux souterraines"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "geologie"@de, - "grundwasser"@de, - "grundwasserschutzareal"@de, - "hydrogeologie"@de, - "lithologie"@de, - "raumordnung-und--planung"@de, - "ressourcen-ressourcennutzung"@de, - "untergrund"@de, - "untergrundwassergewinnung"@de, - "wasserbewirtschaftung"@de, - "zonennutzungsplan-znp"@de, - "exploitation-of-underground-water"@en, - "geology"@en, - "groundwater"@en, - "groundwater-protection-area"@en, - "hydrogeology"@en, - "land-management-and-planning"@en, - "lithology"@en, - "resources"@en, - "subsoil"@en, - "water-resources-management"@en, - "zonal-use-plan"@en, - "amenagement-du-territoire"@fr, - "eaux-souterraines"@fr, - "exploitation-de-nappe-souterraine"@fr, - "geologie"@fr, - "gestion-des-ressources-en-eau"@fr, - "hydrogeologie"@fr, - "lithologie"@fr, - "perimetre-de-protection-des-eaux-souterraines"@fr, - "plan-daffectation-de-zone-paz"@fr, - "ressources"@fr, - "sous-sol"@fr, - "acqua-sotterranea"@it, - "area-di-protezione-delle-acque-sotterranee"@it, - "geologia"@it, - "gestione-delle-risorse-idriche"@it, - "idrogeologia"@it, - "litologia"@it, - "piano-regolatore"@it, - "risorse"@it, - "sfruttamento-della-falda"@it, - "sfruttamento-razionale-del-territorio"@it, - "sottosuolo"@it ; - dcat:landingPage ; - dcat:theme , - , - euthemes:ENVI, - euthemes:REGI . - - a dcat:Distribution ; - dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, - "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; - dct:language "de", - "fr" ; - dct:license ; - dct:rights ; - dct:title "geodienste.ch das interkantonale Portal"@de, - "geodienste.ch le portail intercantonal"@fr ; - dcat:accessURL ; - dcat:downloadURL . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Grundwasserschutzzonen dienen dazu, Trinkwasserfassungen und das Grundwasser unmittelbar vor seiner Nutzung als Trinkwasser vor Beeinträchtigungen zu schützen. Die Grundwasserschutzzonen bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, - "Les zones de protection des eaux souterraines visent à protéger les captages et les eaux souterraines avant leur utilisation comme eau potable. Elles constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; - dct:identifier "9a74f535-0650-4b8b-b422-992588e3dd25@canton-du-valais-cc-geo" ; - dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; - dct:language "de", - "fr" ; - dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Grundwasserschutzzonen"@de, - "Zones de protection des eaux souterraines"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "geologie"@de, - "grundwasser"@de, - "grundwasserschutz"@de, - "hydrogeologie"@de, - "lithologie"@de, - "raumordnung-und--planung"@de, - "ressourcen-ressourcennutzung"@de, - "schutzzone"@de, - "untergrund"@de, - "untergrundwassergewinnung"@de, - "wasserbewirtschaftung"@de, - "wassergewinnung"@de, - "zonennutzungsplan-znp"@de, - "exploitation-of-underground-water"@en, - "geology"@en, - "groundwater"@en, - "groundwater-protection"@en, - "hydrogeology"@en, - "land-management-and-planning"@en, - "lithology"@en, - "protection-zone"@en, - "resources"@en, - "subsoil"@en, - "water-collection"@en, - "water-resources-management"@en, - "zonal-use-plan"@en, - "amenagement-du-territoire"@fr, - "captage-deau"@fr, - "eaux-souterraines"@fr, - "exploitation-de-nappe-souterraine"@fr, - "geologie"@fr, - "gestion-des-ressources-en-eau"@fr, - "hydrogeologie"@fr, - "lithologie"@fr, - "plan-daffectation-de-zone-paz"@fr, - "protection-des-reserves-deau-souterraines"@fr, - "ressources"@fr, - "sous-sol"@fr, - "zone-de-protection"@fr, - "acqua-sotterranea"@it, - "captazione-di-acqua"@it, - "geologia"@it, - "gestione-delle-risorse-idriche"@it, - "idrogeologia"@it, - "litologia"@it, - "piano-regolatore"@it, - "protezione-delle-acque-sotterranee"@it, - "risorse"@it, - "sfruttamento-della-falda"@it, - "sfruttamento-razionale-del-territorio"@it, - "sottosuolo"@it, - "zona-di-protezione"@it ; - dcat:landingPage ; - dcat:theme , - , - euthemes:ENVI, - euthemes:REGI . - - a dcat:Distribution ; - dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, - "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; - dct:language "de", - "fr" ; - dct:license ; - dct:rights ; - dct:title "geodienste.ch das interkantonale Portal"@de, - "geodienste.ch le portail intercantonal"@fr ; - dcat:accessURL ; - dcat:downloadURL . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Gewässerschutzbereiche Ao werden zum Schutz der Wasserqualität oberirdischer Gewässer ausgeschieden, wenn diese zur Trinkwasserversorgung genutzt werden oder wenn diese indirekt eine Grundwasserfassungen speisen. Die Gewässerschutzbereiche Ao bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, - "Les secteurs Ao sont délimités pour protéger des eaux superficielles lorsqu’elles sont utilisées pour l'alimentation en eau potable ou lorsqu’elles alimentent indirectement des captages d’eaux souterraines. Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; - dct:identifier "e2fc95a2-5bc0-4fbf-8275-e6a9f735653d@canton-du-valais-cc-geo" ; - dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; - dct:language "de", - "fr" ; - dct:modified "2023-10-30T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Gewässerschutzbereich Ao"@de, - "Secteurs de protection des eaux Ao"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "geologie"@de, - "gewasserschutzbereich"@de, - "grundwasser"@de, - "hydrogeologie"@de, - "lithologie"@de, - "raumordnung-und--planung"@de, - "ressourcen-ressourcennutzung"@de, - "untergrund"@de, - "wasserbewirtschaftung"@de, - "geology"@en, - "groundwater"@en, - "hydrogeology"@en, - "land-management-and-planning"@en, - "lithology"@en, - "resources"@en, - "subsoil"@en, - "water-protection-sector"@en, - "water-resources-management"@en, - "amenagement-du-territoire"@fr, - "eaux-souterraines"@fr, - "geologie"@fr, - "gestion-des-ressources-en-eau"@fr, - "hydrogeologie"@fr, - "lithologie"@fr, - "ressources"@fr, - "secteur-de-protection-des-eaux"@fr, - "sous-sol"@fr, - "acqua-sotterranea"@it, - "geologia"@it, - "gestione-delle-risorse-idriche"@it, - "idrogeologia"@it, - "litologia"@it, - "risorse"@it, - "settore-di-protezione-delle-acque"@it, - "sfruttamento-razionale-del-territorio"@it, - "sottosuolo"@it ; - dcat:landingPage ; - dcat:theme , - , - euthemes:ENVI, - euthemes:REGI . - - a dcat:Distribution ; - dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, - "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; - dct:language "de", - "fr" ; - dct:license ; - dct:rights ; - dct:title "geodienste.ch das interkantonale Portal"@de, - "geodienste.ch le portail intercantonal"@fr ; - dcat:accessURL ; - dcat:downloadURL . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Der Gewässerschutzbereich Au ist als Instrument des flächendeckenden, ressourcenorientierten Grundwasserschutzes gleichermassen auf den quantitativen wie auf den qualitativen Grundwasserschutz ausgerichtet. Er umfasst die nutzbaren unterirdischen Gewässer sowie die zu ihrem Schutz notwendigen Randgebiete. Die Gewässerschutzbereiche Au bilden ein zentrales Element der durch die Kantone erstellten und angepassten Gewässerschutzkarte, welche dem BAFU weitergeleitet wird."@de, - "Les secteurs Au de protection des eaux servent à la protection générale des eaux souterraines, aussi bien sur le plan quantitatif que sur le plan qualitatif. Ils comprennent les nappes d’eaux souterraines exploitables, ainsi que les zones attenantes nécessaires à leur protection. Ils constituent un élément central de la carte de protection des eaux établie et actualisée par les cantons, puis transmise à l’OFEV."@fr ; - dct:identifier "4fb67f18-0a2e-4d7b-ab12-901292b5e588@canton-du-valais-cc-geo" ; - dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; - dct:language "de", - "fr" ; - dct:modified "2023-01-05T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation , - ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Gewässerschutzbereich Au"@de, - "Secteurs de protection des eaux Au"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "geologie"@de, - "gewasserschutzbereich"@de, - "grundwasser"@de, - "hydrogeologie"@de, - "lithologie"@de, - "raumordnung-und--planung"@de, - "ressourcen-ressourcennutzung"@de, - "untergrund"@de, - "wasserbewirtschaftung"@de, - "geology"@en, - "groundwater"@en, - "hydrogeology"@en, - "land-management-and-planning"@en, - "lithology"@en, - "resources"@en, - "subsoil"@en, - "water-protection-sector"@en, - "water-resources-management"@en, - "amenagement-du-territoire"@fr, - "eaux-souterraines"@fr, - "geologie"@fr, - "gestion-des-ressources-en-eau"@fr, - "hydrogeologie"@fr, - "lithologie"@fr, - "ressources"@fr, - "secteur-de-protection-des-eaux"@fr, - "sous-sol"@fr, - "acqua-sotterranea"@it, - "geologia"@it, - "gestione-delle-risorse-idriche"@it, - "idrogeologia"@it, - "litologia"@it, - "risorse"@it, - "settore-di-protezione-delle-acque"@it, - "sfruttamento-razionale-del-territorio"@it, - "sottosuolo"@it ; - dcat:landingPage ; - dcat:theme , - , - euthemes:ENVI, - euthemes:REGI . - - a dcat:Distribution ; - dct:description "Download von modellkonforme Geodaten (verschiedene Formate)"@de, - "Téléchargement de géodonnées conformes au modèle minimal (divers formats)"@fr ; - dct:language "de", - "fr" ; - dct:license ; - dct:rights ; - dct:title "geodienste.ch das interkantonale Portal"@de, - "geodienste.ch le portail intercantonal"@fr ; - dcat:accessURL ; - dcat:downloadURL . - - a dcat:Dataset ; - dct:accrualPeriodicity ; - dct:description "Mit diesem Instrument lassen sich die Merkmale der ARA im Wallis beschreiben: Name, Koordinaten, Typ, Ausbaugrösse , Auslastung, Behandlungsqualität, Fremdwasseranteil. Dank ihm können auch die Einzugsgebiete (Name und Lage) und Einleitungsstellen (Koordinaten, Name des vorübergehenden und definitiven Aufnahmegewässers) der ARA bestimmt werden."@de, - "Cet outil sert à détailler les caractéristiques des STEP du Valais : nom, coordonnées, type, capacité nominale, taux d’utilisation, qualité de traitement, part des eaux claires permanentes. Il permet aussi de définir leurs bassins versants (nom, localisation) et leurs point de rejet (coordonnées, nom du cours d’eau récepteur immédiat et final)."@fr ; - dct:identifier "3f893330-4cd9-4421-a749-ce119e4d63ae@canton-du-valais-cc-geo" ; - dct:issued "2012-11-11T00:00:00"^^xsd:dateTime ; - dct:language "de", - "en", - "fr", - "it" ; - dct:modified "2023-11-07T00:00:00"^^xsd:dateTime ; - dct:publisher ; - dct:relation ; - dct:spatial "Canton du Valais (VS)" ; - dct:title "Abwasserreinigung: Lokalisierung und Reinigungsleistungen"@de, - "Epuration des eaux usées : localisation et performances"@fr ; - dcat:contactPoint [ a vcard:Organization ; - vcard:fn "sen@admin.vs.ch" ; - vcard:hasEmail ] ; - dcat:distribution ; - dcat:keyword "abwasserbehandlungsanlage"@de, - "gewassereinzugsgebiet"@de, - "reinigungsanlage"@de, - "sammelabwasserbehandlung"@de, - "stadthygiene"@de, - "wasseruntersuchung"@de, - "catchment-area"@en, - "collective-waste-water-treatment"@en, - "purification-facility"@en, - "urban-sanitation"@en, - "waste-water-treatment-plant"@en, - "water-analysis"@en, - "analyse-de-leau"@fr, - "assainissement-collectif"@fr, - "assainissement-urbain"@fr, - "bassin-versant"@fr, - "dispositif-depuration"@fr, - "station-depuration-des-eaux-usees"@fr, - "analisi-dellacqua"@it, - "area-di-raccolta-delle-acque"@it, - "attrezzature-per-la-depurazione"@it, - "impianto-di-trattamento-dellacqua-di-rifiuto"@it, - "risanamento-urbano"@it, - "smaltimento-collettivo-delle-acque-di-rifiuto"@it ; - dcat:landingPage ; - dcat:theme , - , - , - , - euthemes:EDUC, - euthemes:ENER, - euthemes:ENVI, - euthemes:REGI ; - foaf:page . - - a dcat:Distribution ; - dct:description "OpenData Wallis - Portal zum herunterladen von Geodaten des Kantons Wallis : Mutiformat und WebMercator"@de, - "OpenData Valais - Site de téléchargement de géodonnées à l'Etat du Valais : multiformat et WebMercator"@fr ; - dct:language "de", - "en", - "fr", - "it" ; - dct:license ; - dct:rights ; - dct:title "OpenData Wallis"@de, - "OpenData Valais"@fr ; - dcat:accessURL . - - rdfs:label "Géoportail du Canton du Valais" . - - a foaf:Document . - - a foaf:Document . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "geocat.ch permalink" . - - rdfs:label "Géoportail du Canton du Valais" . - - a foaf:Organization ; - foaf:name "Canton du Valais - Service de l'environnement (SEN) - Protection des Eaux" . - - a dct:LicenseDocument, - dct:RightsStatement . - - rdfs:label "Formatbeschreibung" . - - rdfs:label "Description du format" . - - rdfs:label "Descrizione del formato" . - - rdfs:label "Descripziun dal format" . - - a foaf:Organization ; - foaf:name "Standeskanzlei Graubünden" . - - a dct:LicenseDocument, - dct:RightsStatement . diff --git a/national-node-catalogue-mock/main.py b/national-node-catalogue-mock/main.py deleted file mode 100644 index 8946d1003..000000000 --- a/national-node-catalogue-mock/main.py +++ /dev/null @@ -1,28 +0,0 @@ -import uvicorn -from fastapi import FastAPI, Response -from fastapi.middleware.cors import CORSMiddleware -import os - -app = FastAPI() - -HARVESTER_URL = os.getenv("HARVESTER_URL") - -app.add_middleware( - CORSMiddleware, - allow_origins=[HARVESTER_URL], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], -) - -@app.get("/catalogue.ttl") -def retrieve_catalogue(): - return Response(content=open("catalogue.ttl", "rb").read(), media_type="text/turtle") - - -@app.get("/xnat.ttl") -def retrieve_catalogue(): - return Response(content=open("xnat.ttl", "rb").read(), media_type="text/turtle") - -if __name__ == "__main__": - uvicorn.run(app, host="0.0.0.0", port=8001) diff --git a/national-node-catalogue-mock/requirements.txt b/national-node-catalogue-mock/requirements.txt deleted file mode 100644 index 44d6d6ae8..000000000 --- a/national-node-catalogue-mock/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -fastapi==0.103.2 -uvicorn==0.23.2 diff --git a/national-node-catalogue-mock/xnat.ttl b/national-node-catalogue-mock/xnat.ttl deleted file mode 100644 index a95217ca0..000000000 --- a/national-node-catalogue-mock/xnat.ttl +++ /dev/null @@ -1,1694 +0,0 @@ -@prefix dcat: . -@prefix dcterms: . -@prefix vcard: . -@prefix xsd: . - - a dcat:Catalog ; - dcterms:description "This is an example XNAT catalog description" ; - dcterms:title "Example XNAT catalog" ; - dcat:dataset , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; - dcterms:identifier "C14GIST"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; - dcterms:identifier "C14GIST_EMC"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database EMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; - dcterms:identifier "C14GIST_NKI"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database NKI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description """ In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions.\r -""" ; - dcterms:identifier "C14GIST_UMCG"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database UMCG" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; - dcterms:identifier "C14GIST_UMCL"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database UMCL" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Neeltje Steeghs" ; - vcard:hasUID ] ; - dcterms:description "In 2014 the Dutch GIST Consortium (DGC), consisting of the five leading GIST centers in the Netherlands, has initiated the Dutch GIST Registry (DGR). The GIST registry includes a retrospective dataset as well as a prospective dataset. The goal is to couple clinical data to a GIST imaging database using XNAT. This information could be used by investigators from the 5 GIST centers to answer research questions." ; - dcterms:identifier "C14GIST_UMCN"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GIST imaging database UMCN" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marcel Koek" ; - vcard:hasUID ] ; - dcterms:description "Private project for developing the EuCanShare VRE connection to the TraIT XNAT" ; - dcterms:identifier "Eucansharevre"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanShare VRE" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marinel Cavelaars" ; - vcard:hasUID ] ; - dcterms:description "Demo project for Lygature meeting nov. 2016" ; - dcterms:identifier "LygatureDemo"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "LygatureDemo" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_EMC"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence ErasmusMC Rotterdam" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_INTM"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence Institut national du cancer Milan" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_LBL"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence Leon Berard Leon" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_MSIO"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence Maria Sklodowska-Curie Institute of Oncology - Warszawa" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_NKI"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence NKI Amsterdam" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_RML"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence Royal Marsden London" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Sarcoma Artificial Intelligence (SAI) is a collection of imaging and clinical characteristics for patient with soft-tissue tumors." ; - dcterms:identifier "SAI_UCD"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Sarcoma Artificial Intelligence University of California Davis" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Janne Papma" ; - vcard:hasUID ] ; - dcterms:description "Imaging data acquired in patients of the Alzheimer Center Rotterdam (Alzheimercentrum zuidwest Nederland) " ; - dcterms:identifier "ac_zwn"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Imaging data Alzheimercentrum" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails_amc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS_AMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails_emc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS_EMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails_mumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS_MUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails_rumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS_RUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Maarten Thomeer" ; - vcard:hasUID ] ; - dcterms:description "Retrospective analysis of atypical iso intense lesions after Primovist injection" ; - dcterms:identifier "ails_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AILS_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Frederik Barkhof" ; - vcard:hasUID ] ; - dcterms:description "AMYloid imaging to Prevent Alzheimer's Disease" ; - dcterms:identifier "amypad"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AMYPAD" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Frederik Barkhof" ; - vcard:hasUID ] ; - dcterms:description "AMYloid imaging to Prevent Alzheimer's Disease" ; - dcterms:identifier "amypad_raw"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AMYPAD_raw" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Theo Van Walsum" ; - vcard:hasUID ] ; - dcterms:description "The project will bring together the expertise of Erasmus MC in Inherited retinal diseases (IRDs) and AI with the expertise of Imagine Eyes, France, in AO imaging. Longitudinal data of 400 subjects will be acquired at Erasmus MC to develop new and trustworthy AI-based methods that will allow, for the first time, to quantify and manage the IRDs stratification and progression in a clinical environment." ; - dcterms:identifier "aovision"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "AOVISION" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Harrie Weinans" ; - vcard:hasUID ] ; - dcterms:description "To capture joint images for the prospective APPROACH cohort." ; - dcterms:identifier "approach"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "APPROACH" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Harrie Weinans" ; - vcard:hasUID ] ; - dcterms:description "To capture joint images for the prospective APPROACH cohort." ; - dcterms:identifier "approach_lumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "APPROACH_LUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collections consists of MR brain images that will be used for development and testing purposes for the pipelines in the BBMRI-WP3 project " ; - dcterms:identifier "bbmri-wp3-dev"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "BBMRI-WP3-Develop" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description " Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC." ; - dcterms:identifier "bigreye"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "BIGR[eye]" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description "Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC." ; - dcterms:identifier "bigreye_chusj"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "BIGR[eye] CHUSJ" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description "Data collected within the eye research group of the Biomedical Imaging Group Rotterdam, Erasmus MC" ; - dcterms:identifier "bigreye_emc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "BIGR[eye] EMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brain_mri_wml"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_er"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_ERASMUS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Marian Beekman" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_lu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_LLS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_ma"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_DMS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_ne"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_NESDA" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_nt"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_NTR" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_rf"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_Erf" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "This collection will include brain MRI scans on which the amount of white matter lesions (WML) will be quantified. " ; - dcterms:identifier "brainmriwml_vu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Brain_MRI_WML_VUMCADC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Esther Bron" ; - vcard:hasUID ] ; - dcterms:description "The Challenge on Computer-Aided Diagnosis of Dementia based on structural MRI data. By addressing comparability, generalizability, and clinical applicability, we aim to take a step forwards to clinical use of computer-aided diagnosis (CAD) methods for dementia" ; - dcterms:identifier "caddemen-train"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CADDementia-Train" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Esther Bron" ; - vcard:hasUID ] ; - dcterms:description "The Challenge on Computer-Aided Diagnosis of Dementia based on structural MRI data. By addressing comparability, generalizability, and clinical applicability, we aim to take a step forwards to clinical use of computer-aided diagnosis (CAD) methods for dementia" ; - dcterms:identifier "caddementia"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CADDementia" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ronak Delewi" ; - vcard:hasUID ] ; - dcterms:description "Substudy of the Heart-Brain Connection consortium, investigating cardiac output, cerebral perfusion and cognition in patients with severe aortic valve stenosis undergoing transcatheter aortic valve implantation." ; - dcterms:identifier "capita_mri"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CAPITA_MRI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description "In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study. We would like to use the Trait XNAT to share the data among the hospitals. " ; - dcterms:identifier "cirguidanc_msz"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CIRGUIDANCERadiomics Maasstad Ziekenhuis" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description " In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study. We would like to use the Trait XNAT to share the data among the hospitals." ; - dcterms:identifier "cirguidanc_zlz"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CIRGUIDANCERadiomics Zuyderland Ziekenhuis" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description " In this study, we aim to use a non-invasive radiomics alternative to predict the lymph node stage in patients with non-metastatic muscle-invasive bladder cancer. To this end, we will use the already gathered computed tomography (CT) data from the previously performed multicenter CIRGUIDANCE study." ; - dcterms:identifier "cirguidance"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CIRGUIDANCERadiomics" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "Data collection for MrClean Dist runin study." ; - dcterms:identifier "cleandist_run"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN DIST RUNIN" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Johannes van Lieshout" ; - vcard:hasUID ] ; - dcterms:description "Cerebral perfusion in patients with severe aortic valve stenosis undergoing transcatheter aortic valve implantation" ; - dcterms:identifier "cp-tavi"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CP-TAVI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "This data was used in the following publication: "K. Hameeteman, S. Rozie, C.T. Metz, R. Manniesing, T. van Walsum, A. van der Lugt, W.J. Niessen and S. Klein, Automatic carotid artery distensibility measurements from CTA using nonrigid registration, Medical Image Analysis, July 2013, vol. 17, pp. 515-524". See also the website http://ctadist.bigr.nl. A table with risk factors is stored under the fake patient "subject_all"." ; - dcterms:identifier "ctadist"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ctadist" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Data for a study on radiomics with the Stanford ePAD system." ; - dcterms:identifier "ctradiomiclung"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CTradiomicslung" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Prof. Dr. Wiesje van der Flier" ; - vcard:hasUID ] ; - dcterms:description """De ExCersion-VCI is een studie naar het effect van beweging op de bloeddoorstroming in de hersenen bij patiënten met vasculaire cognitive stoornissen. De primaire uitkomstmaat van deze studie is ASL-MRI.\r -Deze studie wordt gesubsidieerd door CVON. """ ; - dcterms:identifier "cvonexcersion"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "cvonexcersion" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Cornelis Allaart" ; - vcard:hasUID ] ; - dcterms:description "Brein MRIs van patiënten met permanent AF" ; - dcterms:identifier "cvonmindaf"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "CVON MIND AF" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ruben Dammers" ; - vcard:hasUID ] ; - dcterms:description "The DECSA Study (DExamethasone therapy in symptomatic patients with Chronic Subdural hematoma) compares the effect of initial DXM therapy versus primary surgery on functional outcome and cost-effectiveness, in symptomatic patients with chronic subdural hematoma. We hypothesize that treatment with DXM is as effective as BHC, at lower costs. Secondary objectives are to compare the number of surgical intervention prevented in the intervention (DXM) group, haematoma recurrence and thickness, complications, mortality, quality of life, drug related adverse events, and duration of hospital stay" ; - dcterms:identifier "decsa"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "DECSA" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Remond Fijneman" ; - vcard:hasUID ] ; - dcterms:description "In this prospective multi-centre observational study, data of 400 metastatic colorectal cancer (mCRC) patients who receive systemic treatment will be collected" ; - dcterms:identifier "dolphin"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "DOLPHIN" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Remond Fijneman" ; - vcard:hasUID ] ; - dcterms:description "n this prospective multi-centre observational study, data of 400 metastatic colorectal cancer (mCRC) patients who receive systemic treatment will be collected, using the Prospective Dutch ColoRectal Cancer cohort (www.PLCRC.nl) infrastructure." ; - dcterms:identifier "dolphin_nki"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "DOLPHIN_NKI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Peter van Tintelen" ; - vcard:hasUID ] ; - dcterms:description "Early detection of disease in cardiomyopathy mutation carriers " ; - dcterms:identifier "edetect"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "eDETECT" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Peter van Tintelen" ; - vcard:hasUID ] ; - dcterms:description "Early detection of disease in cardiomyopathy mutation carriers" ; - dcterms:identifier "edetect_amc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "eDETECT_AMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Peter van Tintelen" ; - vcard:hasUID ] ; - dcterms:description "Early detection of disease in cardiomyopathy mutation carriers" ; - dcterms:identifier "edetect_umcg"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "eDETECT_UMCG" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Peter van Tintelen" ; - vcard:hasUID ] ; - dcterms:description "Early detection of disease in cardiomyopathy mutation carriers " ; - dcterms:identifier "edetect_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "eDETECT_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description """FOR ACCESS TO THE DATASET: Do not request an account directly through the XNAT portal. If you would like to access the dataset please send an email to: servicedesk@health-ri.nl You will then be asked to sign the data usage agreement, and an account will be created for you. ACCESS REQUESTS DIRECTLY THROUGH THE XNAT PORTAL WILL NOT BE CONSIDERED.\r -\r -The Erasmus Glioma Database (EGD) is a collection of 774 patients with glioma. For this patients pre-operative imaging, genetic and histological data, and tumor segmentations are available.\r -\r -\r -\r -\r -See the license for all conditions: check the file 'data_license.pdf' at Resources > PROJECT_DATA\r -\r -\r -\r -Some scans might have a poor image quality or errors due to registration issues. We have marked this scans as 'unacceptable' scan quality.\r -\r -This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 952103""" ; - dcterms:identifier "egd"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EGD" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Frederik Barkhof" ; - vcard:hasUID ] ; - dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia) " ; - dcterms:identifier "epad"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EPAD" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Frederik Barkhof" ; - vcard:hasUID ] ; - dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia)" ; - dcterms:identifier "epad_advanced"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EPAD_advanced" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Frederik Barkhof" ; - vcard:hasUID ] ; - dcterms:description "Imaging data of projects EPAD (European consortium for Prevention of Alzheimer's Dementia) " ; - dcterms:identifier "epad_core"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EPAD_core" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_fcrb_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_FCRB_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_fcrb_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_FCRB_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_fcrb_uc7"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_FCRB_UC7" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_fcrb_uc8"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_FCRB_UC8" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc3"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC3" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc4"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC4" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc5"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC5" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc7"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC7" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_gumed_uc8"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_GUMED_UC8" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc3"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC3" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc4"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC4" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc5"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC5" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc7"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC7" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_kauno_uc8"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_KAUNO_UC8" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_ub_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UB_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_ub_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UB_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc3"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC3" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc4"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC4" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc5"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC5" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc7"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC7" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_umea_uc8"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UMEA_UC8" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc3"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC3" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc4"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC4" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc5"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC5" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc6"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC6" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc7"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC7" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ivan Bocharov" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "euc_unipi_uc8"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanImage_UNIPI_UC8" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Karim Lekadir" ; - vcard:hasUID ] ; - dcterms:description "Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released" ; - dcterms:identifier "eucanimage"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EUCanImage_Breast" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description "European data sharing" ; - dcterms:identifier "eucanimage_emc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EUCanImage_EMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Karim Lekadir" ; - vcard:hasUID ] ; - dcterms:description """Within the EuCanImage project (https://eucanimage.eu/), imaging datasets are collected from multiple sites to facilitate the use of AI for cancer research. The BMIA XNAT will be used as main image data storage platform for centralized storage. As first usecase, breast cancer was identified, for which the first datasets will be collected from the University of Barcelona. The data will first be available to partners within the consortium, but will potentially be publicly released.\r -""" ; - dcterms:identifier "eucanimage_ub"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EUCanImage_Breast_UB" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Karim Lekadir" ; - vcard:hasUID ] ; - dcterms:description "euCanSHare is a joint EU-Canada project to establish a cross-border data sharing and multi-cohort cardiovascular research platform. Specifically, the project will integrate data infrastructures, IT solutions and data sources from EU, Canada and other countries into a web-based data access system with functionalities for increased efficiency in cardiovascular data-driven research. euCanSHare integrates more than 35 Canadian and European cohorts making up over 1 million records and actively seeks to expand to other regions. " ; - dcterms:identifier "eucanshare"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EuCanShare" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development. " ; - dcterms:identifier "glass-nl"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GLASS-NL" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; - dcterms:identifier "glass-nl_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GLASS-NL_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; - dcterms:identifier "glass-nl_vumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GLASS-NL_VUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description "The GLASS-NL consortium is a collaboration between Dutch medical centers for the longitudinal analysis of low-grade glioma. The imaging collection will host the imaging part of this study, which will contain the regular MR scans performed on patients with (presumed) low-grade glioma. The goal is to be able to quantify tumor development before, during and after surgery and treatment, and to develop predictive imaging biomarkers for genotype and tumor development." ; - dcterms:identifier "glass_nl_erasm"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "GLASS-NL_ERASMUSMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marjanka Schmidt" ; - vcard:hasUID ] ; - dcterms:description "As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites." ; - dcterms:identifier "hebon"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "HEBON" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marjanka Schmidt" ; - vcard:hasUID ] ; - dcterms:description "As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites." ; - dcterms:identifier "hebon_emc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "HEBON-Erasmus MC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marjanka Schmidt" ; - vcard:hasUID ] ; - dcterms:description """As part of the HEBON Infrastructure project, members of the HEBON consortium (the NKI-AVL, Erasmus MC, and the other university medical centers in the Netherlands) are collecting mammograms from participants in order to incorporate imaging markers for improved individual risk prediction modeling and other research. The imaging database XNAT will host the anonymized mammograms of HEBON participants from the various study sites.\r -""" ; - dcterms:identifier "hebon_nki"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "HEBON-NKI-AVL" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description """International Carotid Stenting Study (ICSS).\r -To compare the risks, benefits and cost effectiveness of a treatment policy of referral for carotid stenting compared with referral for carotid surgery. """ ; - dcterms:identifier "icss"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ICSS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Niels Raaijmakers" ; - vcard:hasUID ] ; - dcterms:description "111 CT/DOSE/PLAN/STRUCT files of patients in KUBUS head-neck registration study" ; - dcterms:identifier "kubus_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "KUBUS_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Niels Raaijmakers" ; - vcard:hasUID ] ; - dcterms:description "124 CT/DOSE/PLAN/STRUCT radiotherapy files of patients in KUBUS head-neck registration study" ; - dcterms:identifier "kubus_vumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "KUBUS_VUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; - dcterms:identifier "leuveneye"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Leuven Eye Study" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; - dcterms:identifier "leuveneye_emc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Leuven Eye EMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Danilo Andrade De Jesus" ; - vcard:hasUID ] ; - dcterms:description "The Leuven Eye Study stands as one of the largest clinical trials on ocular blood flow in human eye. The creation of this vast database may help integrate the vascular aspects of the diseases into the clinical practice. " ; - dcterms:identifier "leuveneye_uzl"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Leuven Eye UZL" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Marion Smits" ; - vcard:hasUID ] ; - dcterms:description """FOR ACCESS TO THE DATASET: Do not request an account directly through the XNAT portal. If you would like to access the dataset please send an email to: servicedesk@health-ri.nl Please mention that it concerns the EGD-LGG-GROWTH project. You will then be asked to sign the data usage agreement, and an account will be created for you. ACCESS REQUESTS DIRECTLY THROUGH THE XNAT PORTAL WILL NOT BE CONSIDERED.\r -\r -The EGD-LGG-GROWTH is a collection of 14 patients from Erasmus MC with LGG who underwent awake surgery for tumor resection, but received no further radio- or chemotherapy. This data can be used for the development of glioma growth models, and to reproduce the results in van Garderen et al. \r -""" ; - dcterms:identifier "lgg-grow"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "EGD-LGG-GROWTH" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Arend Mosterd" ; - vcard:hasUID ] ; - dcterms:description "An imaging substudy focusing on pericoronary inflammation in patients with stable coronary artery disease" ; - dcterms:identifier "lodoco2sub"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "LoDoCo2 imaging substudy" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description """The ambition of the MERLIN project is to improve in-depth diagnosis and therapeutic follow-up of diseases that impact the\r -eye’s retina. To do so, the MERLIN partners will deliver a novel medical imaging device able to detect pathological alterations in the retina with highly enhanced sensitivity and specificity.\r -\r -The medical applications of this device encompass a wide range of retinal pathologies, including age-related macular degeneration (AMD), as well as chronic vascular conditions, including diabetes. AMD and diabetic retinopathy (DR) are the leading cause of blindness worldwide in people over 55 years of age. Such diseases slowly develop at the microscopic scale in the retina. Using current imaging techniques, it is difficult to detect them at early stage, and it often takes months to assess the effects of treatments. These limitations hinders both the clinical management of patients and the investigation of new therapies.\r -\r -In order to overcome these issues, the device developed in MERLIN will for the first time enable doctors to examine the retina with multiple imaging modalities at both the macroscopic and microscopic scales. Modalities will include ultrafast scanning laser ophthalmoscopy (SLO), optical coherence tomography (OCT) and OCT angiography (OCT-A), while ultrahigh resolution will be provided by adaptive optics technology. This unique combination will reveal previously invisible cellular and microvascular retinal detail in 3 dimensions. The project partners will also develop advanced image processing software for the visualization and quantitative analysis of microscopic structures, and conduct experimentations to optimize and validate performance in AMD and DR patients.\r -\r -As the feasibility of this diagnostic approach has previously been demonstrated in another European R&D project (FP7 FAMOS, 2012-2017), MERLIN will translate the technology from a preexisting laboratory prototype to a nearly commercial device usable in clinical trials.""" ; - dcterms:identifier "merlin"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "merlin" ; - dcat:keyword "Coherence", - "Laser", - "Ophthalmoscope,", - "Optical", - "Scanning", - "Tomography,", - "adaptive", - "age", - "camera,", - "degeneration,", - "diabetic", - "diagnosis.", - "early", - "macular", - "optics,", - "related", - "retinal", - "retinopathie," . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "This project contains 4D Ultrasound images of the abdomen/liver acquired in 3 three volunteers (pA, pB, pC), each scanned 3 times. Manually tracked landmark points are also available on request. The data was used in the following publication: Vijayan et al, Motion tracking in the liver: Validation of a method based on 4D ultrasound using a nonrigid registration technique, Medical Physics 2014, http://dx.doi.org/10.1118/1.4890091 ." ; - dcterms:identifier "motiontracking"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MotionTracking4DUS" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description """Patients with acute ischemic stroke scheduled for intra-arterial treatment\r -Collection baseline CT and CTA, DSA pre and post intervention, follow-up CT \r -""" ; - dcterms:identifier "mrclean"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN REGISTRY" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "mrclean_asap" ; - dcterms:identifier "mrclean_asap"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "mrclean_asap" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "mrclean_med" ; - dcterms:identifier "mrclean_med"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "mrclean_med" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "Multicenter Randomized Clinical Trial of Endovascular Treatment for Acute. Ischemic Stroke in the Netherlands." ; - dcterms:identifier "mrclean_mri"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN" ; - dcat:keyword "CLEAN", - "CTA,", - "DSA", - "MR", - "NCCT," . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MR CLEAN ASAP" ; - dcterms:identifier "mrcleanasap"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN ASAP" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MR CLEAN DIST" ; - dcterms:identifier "mrcleandist"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN DIST" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MR CLEAN LATE" ; - dcterms:identifier "mrcleanlate"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN LATE" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MR CLEAN MED" ; - dcterms:identifier "mrcleanmed"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN MED" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MR CLEAN NOIV" ; - dcterms:identifier "mrcleannoiv"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "MR CLEAN NOIV" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Ronald van Dam" ; - vcard:hasUID ] ; - dcterms:description "Preoperative CT and MRI images of patients undergoing open or laparoscopic hemihepactomy." ; - dcterms:identifier "orange_ct"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ORANGE_CT" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof.dr. Aad van der Lugt" ; - vcard:hasUID ] ; - dcterms:description "MRI scan collected in patients with neurodegenerative disease in 8 University Medical Centers in the Netherlands. " ; - dcterms:identifier "parelsnoer-ndz"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Parelsnoer-NDZ" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Bob Roozenbeek" ; - vcard:hasUID ] ; - dcterms:description "Prehospital triage of patients with suspected stroke symptoms (PRESTO): protocol of a prospective observational study " ; - dcterms:identifier "presto"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PRESTO" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Gert Meijer" ; - vcard:hasUID ] ; - dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r -The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r -Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r -Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; - dcterms:identifier "pride"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Pride" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Gert Meijer" ; - vcard:hasUID ] ; - dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r -The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r -Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r -Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; - dcterms:identifier "pride_amc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Pride_AMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Gert Meijer" ; - vcard:hasUID ] ; - dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r -The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r -Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r -Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; - dcterms:identifier "pride_nki"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Pride_NKI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Gert Meijer" ; - vcard:hasUID ] ; - dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r -The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r -Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r -Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; - dcterms:identifier "pride_umcg"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Pride_UMCG" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Gert Meijer" ; - vcard:hasUID ] ; - dcterms:description """PRIDE is short for “PReoperative Image-guided IDentification of response to neoadjuvant chemoradiotherapy in Esophageal cancer”. \r -The PRIDE trial is a multicenter observational study and is a collaboration between the Netherlands Cancer Institute (NKI), the University Medical Center Groningen (UMCG), the \r -Academic Medical Center Amsterdam (AMC) and the University Medical Center Utrecht (UMCU). This project is supported by funds of Alpe d’Huzes, partner of the Dutch Cancer Society. \r -Our aim is to develop a multiparametric prediction model with PET-CT and MRI scans that predicts the response to neoadjuvant chemoradiotherapy in esophageal cancer. Our goal is to include 200 patients amongst the participating centers.""" ; - dcterms:identifier "pride_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "Pride_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Automatic segmentation of the prostate in 3D MR images by atlas matching using localized mutual information" ; - dcterms:identifier "prostate_segm"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "prostate_segmentation" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Hans Langendijk" ; - vcard:hasUID ] ; - dcterms:description "Data from training the auto-contouring model developed at NKI" ; - dcterms:identifier "protrait_nki"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ProTRAIT_NKI" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "dr. ir. Marianna Sijtsema" ; - vcard:hasUID ] ; - dcterms:description "Test environment for implementing ProTRAIT functionality in Trait " ; - dcterms:identifier "protrait_test"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ProTRAIT_test" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Faruk Buyuk" ; - vcard:hasUID ] ; - dcterms:description "Testen uploadstrategie " ; - dcterms:identifier "psi-fb"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI-FB" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr Judith Mannien" ; - vcard:hasUID ] ; - dcterms:description """Betreft: fMRIs van 138 patienten.\r -Voor de PSI Uitgifte NDZ09 van onderzoeker PP de Deyn: Relationship between functional connectivity, AD conversion and cognitive reserve in the Pearl Neurodegenerative Disease study.""" ; - dcterms:identifier "psi_ndz09"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI_NDZ09" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof. dr. Ron Balm" ; - vcard:hasUID ] ; - dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r -aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r -at the department of vascular surgery.""" ; - dcterms:identifier "psi_parel_amc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI_ParelAAA_AMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof. dr. Ron Balm" ; - vcard:hasUID ] ; - dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r -aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r -at the department of vascular surgery.\r -""" ; - dcterms:identifier "psi_parel_lumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI_ParelAAA_LUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof. dr. Ron Balm" ; - vcard:hasUID ] ; - dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r -aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r -at the department of vascular surgery.""" ; - dcterms:identifier "psi_parel_vumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI_ParelAAA_VUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "prof. dr. Ron Balm" ; - vcard:hasUID ] ; - dcterms:description """The "Parel AAA" is one of the biobanks of "Parelsnoer Instituut." It is focused on patients with an abdominal aortic\r -aneurysm, which is a local dilatation of the abdominal aorta. These patients will be followed during their treatment\r -at the department of vascular surgery. """ ; - dcterms:identifier "psi_parelaaa"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "PSI_ParelAAA" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Adriaan Versteeg" ; - vcard:hasUID ] ; - dcterms:description "Data sharing platform between QuIC-ConCePT (www.quic-concept.eu) participants for a liver apparent diffusion coefficient (ADC) study. Diffusion-weighted MR images are uploaded so that they can be post-processed at another institution. " ; - dcterms:identifier "quick-concept"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "QuIC-ConCePT" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description "The data in this project is used to predict the grade of retroperitioneal sarcoma using radiomics. The XNAT will be used to store the computed tomography scans." ; - dcterms:identifier "rpsrad"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "RPSRad" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr Andre Dekker" ; - vcard:hasUID ] ; - dcterms:description "This collection contains 156 cases of MAASTRO Head and Neck images and RTStruct contours. Where PET exists, the frame of reference UID of the CT has been transferred to the PET. This collection may not be used for commercial purposes. This collection is freely available to browse, download, and use for scientific and educational purposes as outlined in the Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) https://creativecommons.org/licenses/by-nc/3.0/. Please be sure to include the following citation if you make use of this data set : "Aerts, H. J. W. L., Velazquez, E. R., Leijenaar, R. T. H., Parmar, C., Grossmann, P., Carvalho, S., … Lambin, P. (2014, June 3). Decoding tumour phenotype by noninvasive imaging using a quantitative radiomics approach. Nature Communications. Nature Publishing Group. http://doi.org/10.1038/ncomms5006."" ; - dcterms:identifier "stwstrategyhn1"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "STW_STRATEGY_HEADandNECK1" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr Rene Monshouwer" ; - vcard:hasUID ] ; - dcterms:description """This collection contains phantom scans of a Gammex 467 CT phantom (Middletone, WI, USA) for radiomics intra-scanner testing due to X-ray tube exposure. The phantom was scanned with a Philips Brilliance Big Bore CT. Data Usage Policy : This collection may not be used for commercial purposes. This collection is freely available to browse, download, and use for scientific and educational purposes as outlined in the Creative Commons Attribution 3.0 Unported License (https://creativecommons.org/licenses/by/3.0/). Citation: Learning from scanners: bias reduction and feature correction in Radiomics Zhovannik, Ivan et al.\r -Clinical and Translational Radiation Oncology, 2019\r -""" ; - dcterms:identifier "stwstrategyps4"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "STW-STRATEGY-Phantom_Series4" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. ir. Stefan Klein" ; - vcard:hasUID ] ; - dcterms:description "Glioma data of The Cancer Imaging Archive" ; - dcterms:identifier "tcia_glioma"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "TCIA glioma" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description """Imaging for analyses of patiënt in RCT ULTRA\r -""" ; - dcterms:identifier "ultra_elisab"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_ELISAB" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra_isala"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_ISALA" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra_lumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_LUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra_mch"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_MCH" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA " ; - dcterms:identifier "ultra_mumc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_MUMC" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra_radboud"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_RADBOUD" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "MD Rene Post" ; - vcard:hasUID ] ; - dcterms:description "Imaging for analyses of patiënt in RCT ULTRA" ; - dcterms:identifier "ultra_umcu"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "ULTRA_UMCU" . - - a dcat:Dataset ; - dcterms:creator [ a vcard:VCard ; - vcard:fn "Dr. Martijn Starmans" ; - vcard:hasUID ] ; - dcterms:description """This collection contains the WORC Database: imaging data, segmentations, and ground truth labels (e.g. diagnosis, phenotype, genetics) of 930 anonymized patients collected at the Erasmus Medical Center (Rotterdam, the Netherlands) with a variety of tumor types (e.g. liver, soft tissue, lung metastases) as published in the following two papers:\r -\r -1) Starmans et al. "Reproducible radiomics through automated machine learning validated on twelve clinical applications", submitted, preprint available from https://arxiv.org/abs/2108.08618; and \r -2) Starmans et al. "The WORC* database: MRI and CT scans, segmentations, and clinical labels for 930 patients from six radiomics studies", submitted, preprint available from https://doi.org/10.1101/2021.08.19.21262238.\r -\r -By downloading the data, you agree to the following Data Usage Policy: \r -\r -The dataset is freely available under the following license: https://xnat.bmia.nl/data/projects/worc/resources/License/files/WORC_data_license.pdf. This license dictates among others that:\r -\r -1) others can remix, adapt and build upon this work only non-commercially;\r -2) the data may not be redistributed.\r -3) when using (part of) this dataset, please cite the two above mentioned papers.\r -\r -See the license for all conditions (https://xnat.bmia.nl/data/projects/worc/resources/License/files/WORC_data_license.pdf).\r -\r -Code to download the data and reproduce the radiomics experiments as detailed in the above papers can be found at https://github.com/MStarmans91/WORCDatabase.\r -""" ; - dcterms:identifier "worc"^^xsd:token ; - dcterms:temporal [ a dcterms:PeriodOfTime ] ; - dcterms:title "WORC" ; - dcat:keyword "artificial", - "classification,", - "intelligence", - "learning,", - "machine", - "oncology,", - "radiomics,", - "segmentation," . - diff --git a/nginx/Dockerfile b/nginx/Dockerfile deleted file mode 100644 index eda7994ee..000000000 --- a/nginx/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM nginx:stable-alpine - -ENV NGINX_DIR=/etc/nginx - -RUN apk update --no-cache && \ - apk upgrade --no-cache && \ - apk add --no-cache openssl - -COPY setup/nginx.conf ${NGINX_DIR}/nginx.conf -COPY setup/index.html /usr/share/nginx/html/index.html -COPY setup/default.conf ${NGINX_DIR}/conf.d/ - -RUN mkdir -p ${NGINX_DIR}/certs - -ENTRYPOINT \ - openssl req \ - -subj '/C=DE/ST=Berlin/L=Berlin/O=None/CN=localhost' \ - -x509 -newkey rsa:4096 \ - -nodes -keyout /etc/nginx/ssl/default_key.pem \ - -keyout ${NGINX_DIR}/certs/ckan-local.key \ - -out ${NGINX_DIR}/certs/ckan-local.crt \ - -days 365 && \ - nginx -g 'daemon off;' \ No newline at end of file diff --git a/nginx/setup/ckan-local.crt b/nginx/setup/ckan-local.crt deleted file mode 100644 index 745f95d26..000000000 --- a/nginx/setup/ckan-local.crt +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFIDCCAwgCCQDr3dGZoSvqMDANBgkqhkiG9w0BAQsFADBSMQswCQYDVQQGEwJE -RTEPMA0GA1UECAwGQmVybGluMQ8wDQYDVQQHDAZCZXJsaW4xDTALBgNVBAoMBE5v -bmUxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0yMzAzMzEwMjM1MjZaFw0yNDAzMzAw -MjM1MjZaMFIxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZCZXJsaW4xDzANBgNVBAcM -BkJlcmxpbjENMAsGA1UECgwETm9uZTESMBAGA1UEAwwJbG9jYWxob3N0MIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApej5FEF4lCOAmmUaAr67w6Go2XZO -crV2UoWbJQq+aC688XpSX5MaxBVK7r4MQGvwC0u/5aN50fyGQBWGeiY6/27MbGHA -fimLtGAmHf5ys4FYtD71YYV0ekUMvlTV1flV3gdM3JItlkXR8ukqIb6WlAGv4vS3 -31QdoUyd7bGbCMmtDJ2ecnSlO5U0l9Udoqz4+cDPUMWMc1rXw9DfK/mzm+KR3iW+ -QdWwbWj+Crd/aBKiofKIscq2svRfcVisxSbPr4ib1iMEAxes3nt2cBYNQe8H2OVh -SHbskKtaVgG5d+X+f/Mo+P6/1wrqY1JBgkegWkpcaz5mlT4tjsiudfmKsRRnKqHP -m5qohWBZxH2MDWX1ggJsziI546a5Y0lkvazql8QUd44X/vrWnx37sCn50Dj8DRAf -xtzNAC4doO+nIS+NC964yr6Ps4NrZE++WP5Ry6VUKhl46JSRkg6vtc27ZRrGn6LS -AmWU/Ob6/9UaPQkWZ3A/iDnkrkBflM6wdaD/EQmb5LLou84dhZCivqEJ6/5TdB3c -8w5muTQY2SLY9JmvECNQpfviD1IdXq7zqeH23L/hgE9i3GrYGWqGc9E3cjNht8Qt -hF7WbRaomzbjH6ChZTtiSEw3wtf6bTLKuJjWCBDbp+GypyfDWrvJI2UFVwtH5QMv -HYvxG4t+u+E6F2MCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAQcFH6iKXcErUuPJv -N+EdDfJh8CTvbqnp7SXOBQ2Q66NhsTZXPrpyOzT3APoeineWhwt7YZF59m02O1Ek -yS2qVEdAI9vDgmRvR6ryRsaEkLvnbhfTsBkN56c2oLTxqHBHooAyBKVIl0rSplW9 -EYhZ9t+08QNd/2unEipgTMFUM+JIMMzseKDwrug97tGsCftIPeWddkPchT309Lwr -ECl2JsXX4t67oNR54hqRRvxyriSx/E8BF7rupsnaGNdNPPASoBbGVGEWumUutWMh -PzlkyOgpl5fZ44WqYOBvBeLGGPTkM3uoaySv6GNOAxFsXJfHXCq59TL93LRn4RKs -rik07ZabYa95JFAPUUSzMpplU4RCpE6r+MFceb1WMrDpK/4zoLLeIwmlwiHsrg/6 -L0tN1/RLVQwvpxiVqlmETlyDmqFC+McURNU1ZJU2V8efQTWhDVnB7rNVefQsbTLN -5jaWiKMKQxva2Skf1jgVT9JOfYYCRlHpryOp9yIrqQqVxlaaDJz/Jm91Pt4QhCDj -VhSMDYVMFtE/ylMbB1qR3MJBw0xCCG4zdZpUzvFfR6/wQ5FZ4DvXsbYnsxX/JhgV -sTqxkdnhhR0UsxuHyxGWVPPxS+5IZdxVETcjrMVeaK9PAHyBBSI4DQHYIJWoyZ3m -y9oQx2IvfVXpGptadU5EKWM6210= ------END CERTIFICATE----- diff --git a/nginx/setup/ckan-local.key b/nginx/setup/ckan-local.key deleted file mode 100644 index a558d424a..000000000 --- a/nginx/setup/ckan-local.key +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCl6PkUQXiUI4Ca -ZRoCvrvDoajZdk5ytXZShZslCr5oLrzxelJfkxrEFUruvgxAa/ALS7/lo3nR/IZA -FYZ6Jjr/bsxsYcB+KYu0YCYd/nKzgVi0PvVhhXR6RQy+VNXV+VXeB0zcki2WRdHy -6SohvpaUAa/i9LffVB2hTJ3tsZsIya0MnZ5ydKU7lTSX1R2irPj5wM9QxYxzWtfD -0N8r+bOb4pHeJb5B1bBtaP4Kt39oEqKh8oixyray9F9xWKzFJs+viJvWIwQDF6ze -e3ZwFg1B7wfY5WFIduyQq1pWAbl35f5/8yj4/r/XCupjUkGCR6BaSlxrPmaVPi2O -yK51+YqxFGcqoc+bmqiFYFnEfYwNZfWCAmzOIjnjprljSWS9rOqXxBR3jhf++taf -HfuwKfnQOPwNEB/G3M0ALh2g76chL40L3rjKvo+zg2tkT75Y/lHLpVQqGXjolJGS -Dq+1zbtlGsafotICZZT85vr/1Ro9CRZncD+IOeSuQF+UzrB1oP8RCZvksui7zh2F -kKK+oQnr/lN0HdzzDma5NBjZItj0ma8QI1Cl++IPUh1ervOp4fbcv+GAT2LcatgZ -aoZz0TdyM2G3xC2EXtZtFqibNuMfoKFlO2JITDfC1/ptMsq4mNYIENun4bKnJ8Na -u8kjZQVXC0flAy8di/Ebi3674ToXYwIDAQABAoICAFZTZma3ujm6T0wGlwYeoCwm -jWi5OhBNgwdlJVicwn4K85zh/MJmFGM6gQbANDfA8eGuxGaELPqp3mCx0or0IXaO -/CbYpgP/MgXkkXDB2IS2JKWErMDVY8nK69qM4ca4OYmRWtjZ5oZuRdOSpq1wMYFJ -b28zzgiSB+jJqNLourZT2Yra6Hq9Xswl0nu+E/F09wdc34Izh+Ttu57Tq4uCHYZa -2XMxSFGREn+bRbPlzpEkQSLqw11fELkEljSv4xWiICZBenRtO8UwKG6K5xFjJ/rK -mNauY3QFDQopXpOpygsszMNejk8gnkkSEOsk/ZkAE9tnHbdffJjjBWlp2fzgnty1 -72MwzlrinfOsYn6Ioe/mobGmedxQl4hiu6lI/Rl94C8HmycYRddQAg/55mTgZHBK -kUQCnqbLl9JLFiSwbL6YupkKGJeSPoXdzJcp4v+PT8a1QRDzdge8bwXQZJ59UhEu -EYJnYy79jBT8+UdTZxCYdmc3wuvUvOpxLihOEdr5+/6ZqQ0znoeTXNHxvzb43vRy -W7XgaP4pQH6/sD8mSRGHWNdG0hX9Fjc/C9rQzwMJwCAcGRTN7CjyOCMMbkmoCy5v -UDV22WzZqlUUZijuinLVV2Gn1WSXLWPSOJUFpiVgvrnycItroRoOfOAQOt20HnQu -b/R2P0xCKJCmHqBICpRhAoIBAQDZYD1ZMpvIX2ZyGkjUpy2Zm4ofly0mf/uzMnhv -y76aedZ+uSxlDLnlHTbL2sVOQhq6aRDYAWKYxekDf5FxZ8SXx11Dn/QHvGcZ/Hcl -LrhsGvVKPNPOMsXT8o0g7/BaS3hrzzOgHPRPl6dUZ78C4jX/KLjmNoqeO+FYqqB9 -15yiGIDwJAanhoBOD7gonM9D9f3O6H5KzaDiggem+xSF3RVJyxPTWUEEa9hGZVcx -/QZuEe8W79x3Tk0L5I9/Lw6qfN/JFuN9BY4zTLGar6TtDN2LRIfHm+8eHVyFASxO -RqvTe9MfJwDRuwrULhaCtLjlLpU2HMjhZDlfG3z6EebulZJ1AoIBAQDDY7WEiksY -/5eCyWp1oWTxqnmNKhxD6vd1nRviDEpVTZ0lsHdtiKzpkiEXbvkKjbFbm7wEcsNx -HLKL4Q7Az89iR++dN4QkaqzsdnyRVc9W6UlUk5T2FqKoqsYcm0tG7fgIlXZ0PHgs -jG9cHXIne/QvFQ15xfAv/6bAi0rjfntGf47TaZT6Y56sQQ14OvYemjYviWiBaylQ -kbj3k+mAEGI8n71A2fWndk133HiLJ1EyWLUc8DEcB4kqwJHIYJGEYkwRWwoJmrS2 -hRZVHsn9ar4qi/0UOodUtLpZXerfNPW/KmFCOcI1I7244UgWpOcRke19F2OOI+Eh -mOi4aJwVEJd3AoIBACKf4MW/eO7uuzu7khRFWM8Z5mNnyipSwn3lsSdllcO3WoIu -7rJd15J2F89a1ojDoMxGhgdSGSlqhNYo0Lr2o2rlt6ZY6R7+VJHgE/5ZNckKdj3P -+JDkp3w+K1quvWM0mEbb50Y+tm+jIWUhbVyBOcad7u3EjEnuEdP0wcGpwWpUat1V -b7Xph7BncpcNezpBCZ+Wit9RZ6oMujlPzxIPiB+L+Gl20xNoNjfoVn5A5nBL7QCD -TmO2ljEpw+2nSje/0kmOmsfERcVIFxYjmiqkHPnc/Z++59StKpqI+EyzlxUFqThS -FyBRIcVwXeeN79GZnOzUou677yOGFl8i0Nz5+C0CggEBAKTodd5snh92MVk4R/sK -AdmaCUckoICOQtdoh40M1HwUqqqRuuqerVnhdL6Dcfv/RQ7NbS3P8rZ4AxXeGIaR -njYUAt+NaKEXy+Uzx8UeSIXRFYwll1bwGc8De3vPcgRmeq47/6LxGnh2+tIjJCLB -EoHeYeZCMotAWWwu5EEHkmIY7OHwPcXq6JP3v7eXA/0mKM+MSMDaQh93Lkb+9teY -fGEwbRncG+KADbg5QyAnSfeVOR84dipzDckgiKo3Hvo9wHfxf5JFmXpm70deWhrh -yai9SBeXonrSomkkxEQpPbRfv4CWoRwak1kEAsTh3whMQsYORH9GNxAVL23dFMcO -ntcCggEBANhRGQvq1vxhnLkilwJ0EBocQ+KF8nZfzzOtQ194gPolRWpjVzDOeGc0 -Us4omOreNpIXNYg9ELWMgm53viEoY3GMVt1kPPGwWW/JGeGv0kqr8aM3kWm5gc2H -eu/nM5JbOvUKxnruia9I8BvJeeTTVytRQbv4kojEkZagHKYoZJ+ox0Cx1UmXeVI/ -vCufq4wqetJFNv05SNw7r+UObbc57BIPSvR3SGYmaZYkb8Wo/dZXF+vOAySnR8Go -3bihBMtzmspt9JQtPBDy84okQrojsfm8fyyMRZ/UtMrhvGYFd9bcMDsCY+jybRXa -E0CmRHNQumr+KBM8UT4YtWA+recgbtA= ------END PRIVATE KEY----- diff --git a/nginx/setup/default.conf b/nginx/setup/default.conf deleted file mode 100644 index a628619f1..000000000 --- a/nginx/setup/default.conf +++ /dev/null @@ -1,46 +0,0 @@ -server { - #listen 80; - #listen [::]:80; - listen 443 ssl; - listen [::]:443 ssl; - server_name localhost; - ssl_certificate /etc/nginx/certs/ckan-local.crt; - ssl_certificate_key /etc/nginx/certs/ckan-local.key; - - # TLS 1.2 & 1.3 only - ssl_protocols TLSv1.2 TLSv1.3; - - # Disable weak ciphers - ssl_prefer_server_ciphers on; - ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; - - # SSL sessions - ssl_session_timeout 1d; - # ssl_session_cache dfine in stream and http - ssl_session_tickets off; - - #access_log /var/log/nginx/host.access.log main; - - location / { - proxy_pass http://ckan:5000/; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header Host $host; - #proxy_cache cache; - proxy_cache_bypass $cookie_auth_tkt; - proxy_no_cache $cookie_auth_tkt; - proxy_cache_valid 30m; - proxy_cache_key $host$scheme$proxy_host$request_uri; - } - - error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 500 501 502 503 504 505 506 507 508 510 511 /error.html; - - # redirect server error pages to the static page /error.html - # - location = /error.html { - ssi on; - internal; - auth_basic off; - root /usr/share/nginx/html; - } - -} \ No newline at end of file diff --git a/nginx/setup/index.html b/nginx/setup/index.html deleted file mode 100644 index 561b63bb6..000000000 --- a/nginx/setup/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - CKAN Docker NGINX landing page - - - - -

- CKAN Docker NGINX landing page -

- - - \ No newline at end of file diff --git a/nginx/setup/nginx.conf b/nginx/setup/nginx.conf deleted file mode 100644 index ddc819c3e..000000000 --- a/nginx/setup/nginx.conf +++ /dev/null @@ -1,91 +0,0 @@ - -user nginx; -worker_processes auto; - -error_log /var/log/nginx/error.log notice; -pid /var/run/nginx.pid; - - -events { - worker_connections 1024; -} - - -http { - include /etc/nginx/mime.types; - default_type application/octet-stream; - - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - - access_log /var/log/nginx/access.log main; - - sendfile on; - tcp_nopush on; - tcp_nodelay on; - types_hash_max_size 2048; - keepalive_timeout 65; - - # Don't expose Nginx version - server_tokens off; - - # Prevent clickjacking attacks - add_header X-Frame-Options "SAMEORIGIN"; - - # Mitigate Cross-Site scripting attack - add_header X-XSS-Protection "1; mode=block"; - - # Enable gzip encryption - gzip on; - - proxy_cache_path /tmp/nginx_cache levels=1:2 keys_zone=cache:30m max_size=250m; - proxy_temp_path /tmp/nginx_proxy 1 2; - - include /etc/nginx/conf.d/*.conf; - - # Error status text - map $status $status_text { - 400 'Bad Request'; - 401 'Unauthorized'; - 402 'Payment Required'; - 403 'Forbidden'; - 404 'Not Found'; - 405 'Method Not Allowed'; - 406 'Not Acceptable'; - 407 'Proxy Authentication Required'; - 408 'Request Timeout'; - 409 'Conflict'; - 410 'Gone'; - 411 'Length Required'; - 412 'Precondition Failed'; - 413 'Payload Too Large'; - 414 'URI Too Long'; - 415 'Unsupported Media Type'; - 416 'Range Not Satisfiable'; - 417 'Expectation Failed'; - 418 'I\'m a teapot'; - 421 'Misdirected Request'; - 422 'Unprocessable Entity'; - 423 'Locked'; - 424 'Failed Dependency'; - 425 'Too Early'; - 426 'Upgrade Required'; - 428 'Precondition Required'; - 429 'Too Many Requests'; - 431 'Request Header Fields Too Large'; - 451 'Unavailable For Legal Reasons'; - 500 'Internal Server Error'; - 501 'Not Implemented'; - 502 'Bad Gateway'; - 503 'Service Unavailable'; - 504 'Gateway Timeout'; - 505 'HTTP Version Not Supported'; - 506 'Variant Also Negotiates'; - 507 'Insufficient Storage'; - 508 'Loop Detected'; - 510 'Not Extended'; - 511 'Network Authentication Required'; - default 'Something is wrong'; - } -} diff --git a/postgresql/docker-entrypoint-initdb.d/10_create_ckandb.sh b/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh similarity index 100% rename from postgresql/docker-entrypoint-initdb.d/10_create_ckandb.sh rename to postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh diff --git a/postgresql/docker-entrypoint-initdb.d/20_create_datastore.sh b/postgresql/docker-entrypoint-initdb.d/20_create_datastore.sh deleted file mode 100755 index 968e44360..000000000 --- a/postgresql/docker-entrypoint-initdb.d/20_create_datastore.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -e - -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE ROLE "$DATASTORE_READONLY_USER" NOSUPERUSER NOCREATEDB NOCREATEROLE LOGIN PASSWORD '$DATASTORE_READONLY_PASSWORD'; - CREATE DATABASE "$DATASTORE_DB" OWNER "$CKAN_DB_USER" ENCODING 'utf-8'; -EOSQL \ No newline at end of file diff --git a/postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh b/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh similarity index 100% rename from postgresql/docker-entrypoint-initdb.d/40_create_keycloakdb.sh rename to postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh diff --git a/postgresql/docker-entrypoint-initdb.d/30_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh similarity index 100% rename from postgresql/docker-entrypoint-initdb.d/30_setup_test_databases.sh rename to postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh From b5f588fdb4777e1ff667b88c0b1431c012f3794d Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 29 Dec 2023 10:51:11 +0100 Subject: [PATCH 042/284] Add localhost:4200 to CORS whitelist --- .env.example | 1 + 1 file changed, 1 insertion(+) diff --git a/.env.example b/.env.example index 7687144bf..34247ccec 100644 --- a/.env.example +++ b/.env.example @@ -14,6 +14,7 @@ CKAN_DB=ckandb CKAN_VERSION=2.10.3 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 +CKAN__CORS__ORIGIN_WHITELIST=http://localhost:4200 CKAN_PORT=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings From 296d8e9ece2dd5a55a3e5755268853c382fe0975 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 8 Jan 2024 16:07:13 +0100 Subject: [PATCH 043/284] Update CKAN storage path in Dockerfile --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index a50d8ad85..f2fb033f5 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -41,4 +41,4 @@ ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets s COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} -RUN chown -R ckan:ckan ${CKAN_STORAGE_PATH} +RUN chown -R ckan:ckan "/var/lib/ckan" From 68c0ebf3852a81062c3f80cc45282bca2bbd5ef4 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 9 Jan 2024 14:39:44 +0100 Subject: [PATCH 044/284] Update subproject commits --- src/ckanext-fairdatapoint | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint index d4ffcbecb..fbf362e05 160000 --- a/src/ckanext-fairdatapoint +++ b/src/ckanext-fairdatapoint @@ -1 +1 @@ -Subproject commit d4ffcbecb47bf59f1c4e5069fb7819face1d9352 +Subproject commit fbf362e05aa0cc60709cb6341e7c30b975885db9 diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 28a580b67..214bb5d89 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 28a580b67615783ed58c29bb4d74c4d0a2b224a0 +Subproject commit 214bb5d89e7e2516209ed3ed37446a512ca74737 From a29dc9525de726f5d4ed23d957c6418dbc4249f1 Mon Sep 17 00:00:00 2001 From: Inderpal Singh Date: Thu, 11 Jan 2024 11:43:17 +0100 Subject: [PATCH 045/284] Disable org creation for registered users --- .env.example | 1 + 1 file changed, 1 insertion(+) diff --git a/.env.example b/.env.example index 34247ccec..f9f1785bb 100644 --- a/.env.example +++ b/.env.example @@ -17,6 +17,7 @@ CKAN_SITE_URL=http://localhost:5500 CKAN__CORS__ORIGIN_WHITELIST=http://localhost:4200 CKAN_PORT=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME +CKAN__AUTH__USER_CREATE_ORGANIZATIONS=false # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME From 7fd812a454ec06dc9b497f6f1d25464e0f9a5619 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 15 Jan 2024 23:28:16 +0100 Subject: [PATCH 046/284] Reorder CKAN plugins and update Dockerfile permissions --- ckan/Dockerfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index f2fb033f5..4a5e9ff03 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -37,8 +37,11 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} -RUN chown -R ckan:ckan "/var/lib/ckan" +# TODO +# 1. Remove this comand once the issue is fixed +# https://github.com/ckan/ckan-docker-base/issues/41 +RUN chmod u+rwx "/var/lib/ckan" From 71aa7faa92d32c8815a503519e987c73e0bea31c Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 17 Jan 2024 12:41:52 +0100 Subject: [PATCH 047/284] Add activity to the default plugins enabled --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 4a5e9ff03..2bdc2c892 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -37,7 +37,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 869cf2723..67c3be6b9 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -21,4 +21,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" From 3a32b7733139772079a3ac8524baf75ccea0c5d8 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 18 Jan 2024 14:51:38 +0100 Subject: [PATCH 048/284] Update docker-compose.yml and keycloak configuration --- docker-compose.yml | 2 +- keycloak/realms/ckan-realm.json | 46 +++++++-------------------------- 2 files changed, 11 insertions(+), 37 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 77f2809a8..3f70e32ec 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -72,7 +72,7 @@ services: ports: - "8080:8080" volumes: - - ./keycloak/realms:/opt/keycloak/data/import:ro + - ./keycloak/realms:/opt/keycloak/data/import depends_on: postgres: condition: service_healthy diff --git a/keycloak/realms/ckan-realm.json b/keycloak/realms/ckan-realm.json index 18ec5efe0..b8b3f4764 100644 --- a/keycloak/realms/ckan-realm.json +++ b/keycloak/realms/ckan-realm.json @@ -405,23 +405,6 @@ "realmRoles" : [ "default-roles-ckan" ], "notBefore" : 0, "groups" : [ ] - }, { - "id" : "900af5fc-4c5c-4333-bcee-9855bfb0991d", - "createdTimestamp" : 1701295297234, - "username" : "service-account-ckan", - "enabled" : true, - "totp" : false, - "emailVerified" : false, - "serviceAccountClientId" : "ckan", - "credentials" : [ ], - "disableableCredentialTypes" : [ ], - "requiredActions" : [ ], - "realmRoles" : [ "default-roles-ckan" ], - "clientRoles" : { - "ckan" : [ "uma_protection" ] - }, - "notBefore" : 0, - "groups" : [ ] } ], "scopeMappings" : [ { "clientScope" : "offline_access", @@ -563,15 +546,14 @@ "clientId" : "ckan", "name" : "", "description" : "", - "rootUrl" : "http://localhost:5500", + "rootUrl" : "", "adminUrl" : "", - "baseUrl" : "http://localhost:5500/", + "baseUrl" : "", "surrogateAuthRequired" : false, "enabled" : true, "alwaysDisplayInConsole" : false, "clientAuthenticatorType" : "client-secret", - "secret" : "wb4nT5D6LxNJm1648QHCrB0XTcsf2zja", - "redirectUris" : [ "/*" ], + "redirectUris" : [ "http://localhost:4200/*", "http://localhost:5500/*" ], "webOrigins" : [ "+" ], "notBefore" : 0, "bearerOnly" : false, @@ -579,16 +561,16 @@ "standardFlowEnabled" : true, "implicitFlowEnabled" : false, "directAccessGrantsEnabled" : true, - "serviceAccountsEnabled" : true, - "authorizationServicesEnabled" : true, - "publicClient" : false, + "serviceAccountsEnabled" : false, + "publicClient" : true, "frontchannelLogout" : true, "protocol" : "openid-connect", "attributes" : { "oidc.ciba.grant.enabled" : "false", "client.secret.creation.time" : "1701295297", "backchannel.logout.session.required" : "true", - "post.logout.redirect.uris" : "/*", + "post.logout.redirect.uris" : "http://localhost:5500/*##http://localhost:4200/*", + "display.on.consent.screen" : "false", "oauth2.device.authorization.grant.enabled" : "false", "backchannel.logout.revoke.offline.tokens" : "false" }, @@ -639,15 +621,7 @@ } } ], "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ], - "authorizationSettings" : { - "allowRemoteResourceManagement" : true, - "policyEnforcementMode" : "ENFORCING", - "resources" : [ ], - "policies" : [ ], - "scopes" : [ ], - "decisionStrategy" : "UNANIMOUS" - } + "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] }, { "id" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", "clientId" : "realm-management", @@ -1214,7 +1188,7 @@ "subType" : "authenticated", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-role-list-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-address-mapper", "oidc-usermodel-attribute-mapper", "saml-user-property-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper" ] } }, { "id" : "1a9c6e95-2a93-47b4-83ee-b414941cac4e", @@ -1258,7 +1232,7 @@ "subType" : "anonymous", "subComponents" : { }, "config" : { - "allowed-protocol-mapper-types" : [ "oidc-full-name-mapper", "saml-role-list-mapper", "oidc-usermodel-attribute-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-address-mapper" ] + "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-user-attribute-mapper", "saml-user-property-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper" ] } }, { "id" : "c6451db3-895c-4b82-9b16-3923fc8161f4", From 6d9a34adae14667eaff563cb7e6f6b259c975547 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 19 Jan 2024 13:06:32 +0100 Subject: [PATCH 049/284] Added deploy step --- .github/workflows/release-package.yml | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 4ef92dcaa..915f29060 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -2,11 +2,14 @@ name: Build and publish a Docker image on: push: - branches: ['user-portal-main'] + # branches: ['user-portal-main'] + branches: ['CD'] + workflow_dispatch: env: REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} + AZURE_WEBAPP_NAME: ckan-test jobs: build-and-push-image: @@ -17,17 +20,20 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + - name: Log in to the Container registry uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + - name: Build and push Docker image uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 with: @@ -35,3 +41,18 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + deploy: + runs-on: ubuntu-latest + needs: build-and-push-image + steps: + - name: Lowercase the repo name + run: echo "REPO_LOWER=$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c + with: + app-name: ${{ env.AZURE_WEBAPP_NAME }} + publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} + images: 'ghcr.io/${{ env.REPO_LOWER }}:user-portal-main' \ No newline at end of file From ad91438bd8ca9d97a7e311950105479b28b7a68e Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 19 Jan 2024 13:11:29 +0100 Subject: [PATCH 050/284] only user portal --- .github/workflows/release-package.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 915f29060..e0854d9f0 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -2,13 +2,12 @@ name: Build and publish a Docker image on: push: - # branches: ['user-portal-main'] - branches: ['CD'] + branches: ['user-portal-main'] workflow_dispatch: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + IMAGE_NAME: ghcr.io/${{ github.repository }} AZURE_WEBAPP_NAME: ckan-test jobs: @@ -32,7 +31,7 @@ jobs: id: meta uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + images: ${{ env.IMAGE_NAME }} - name: Build and push Docker image uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 @@ -46,13 +45,10 @@ jobs: runs-on: ubuntu-latest needs: build-and-push-image steps: - - name: Lowercase the repo name - run: echo "REPO_LOWER=$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - images: 'ghcr.io/${{ env.REPO_LOWER }}:user-portal-main' \ No newline at end of file + images: '${{ env.IMAGE_NAME }}:user-portal-main' From c968f8659ab9bfd0151dcc09bb1ca93aad6bbfb1 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 25 Jan 2024 14:42:01 +0100 Subject: [PATCH 051/284] Update HEAD commits --- src/ckanext-fairdatapoint | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint index fbf362e05..25ea73539 160000 --- a/src/ckanext-fairdatapoint +++ b/src/ckanext-fairdatapoint @@ -1 +1 @@ -Subproject commit fbf362e05aa0cc60709cb6341e7c30b975885db9 +Subproject commit 25ea735395f9c83c1e6d84f51c2aa47ca849d7ca diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 214bb5d89..3990cfab8 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 214bb5d89e7e2516209ed3ed37446a512ca74737 +Subproject commit 3990cfab8fc5327cbedcb9dba98c71cd1b57950a From f31a2ba1467b9e8c25335317721148486fc401aa Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 25 Jan 2024 15:10:46 +0100 Subject: [PATCH 052/284] Update the head commits of ckanext-fairdatapoint --- src/ckanext-fairdatapoint | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint index 25ea73539..f714d832a 160000 --- a/src/ckanext-fairdatapoint +++ b/src/ckanext-fairdatapoint @@ -1 +1 @@ -Subproject commit 25ea735395f9c83c1e6d84f51c2aa47ca849d7ca +Subproject commit f714d832af8308ef7ff0243598a20f3c515740f9 From 12807c9e1ef86c62741754fe619792d881083cb7 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 20:54:22 +0100 Subject: [PATCH 053/284] fix CD --- .github/workflows/release-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index e0854d9f0..b79f61a75 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -2,7 +2,7 @@ name: Build and publish a Docker image on: push: - branches: ['user-portal-main'] + branches: ['fix-CD'] workflow_dispatch: env: From 0d97314c016034c7874a8ed950db5e4edc715579 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 21:09:30 +0100 Subject: [PATCH 054/284] ensure lowercase --- .github/workflows/release-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index b79f61a75..b6835e94a 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -7,7 +7,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ghcr.io/${{ github.repository }} + IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') AZURE_WEBAPP_NAME: ckan-test jobs: From 1a9b5f80bd4c4bc00b6b27aa9208c934de42a0b0 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 21:13:05 +0100 Subject: [PATCH 055/284] fix deployment --- .github/workflows/release-package.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index b6835e94a..d6b65d20f 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -7,7 +7,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]') + IMAGE_NAME: ghcr.io/${{ github.repository }} AZURE_WEBAPP_NAME: ckan-test jobs: @@ -20,6 +20,9 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Set image name + run: echo "IMAGE_NAME=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + - name: Log in to the Container registry uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: From 88792961af65c140afbbaa782c43237aa64cd95f Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 21:18:53 +0100 Subject: [PATCH 056/284] lowercase in right scope --- .github/workflows/release-package.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index d6b65d20f..1a56f343b 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -20,9 +20,6 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Set image name - run: echo "IMAGE_NAME=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - name: Log in to the Container registry uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: @@ -48,6 +45,9 @@ jobs: runs-on: ubuntu-latest needs: build-and-push-image steps: + - name: Set image name + run: echo "IMAGE_NAME=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV + - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c From fe2d7008d4feef47fe91fc4c1f391cabb58f0ad9 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 21:41:30 +0100 Subject: [PATCH 057/284] harcoded repository --- .github/workflows/release-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 1a56f343b..85988ac97 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -7,7 +7,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ghcr.io/${{ github.repository }} + IMAGE_NAME: ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker AZURE_WEBAPP_NAME: ckan-test jobs: From 286e4506945193bb02894f180efc1e564c6afd02 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 25 Jan 2024 21:43:09 +0100 Subject: [PATCH 058/284] remove obsolete code --- .github/workflows/release-package.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 85988ac97..192416a51 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -45,9 +45,6 @@ jobs: runs-on: ubuntu-latest needs: build-and-push-image steps: - - name: Set image name - run: echo "IMAGE_NAME=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV - - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c From eabd2905802eceaae410c4df78b351d47ab13ea5 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Thu, 25 Jan 2024 21:46:56 +0100 Subject: [PATCH 059/284] Update release-package.yml --- .github/workflows/release-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-package.yml b/.github/workflows/release-package.yml index 192416a51..0d05aa8ae 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/release-package.yml @@ -2,7 +2,7 @@ name: Build and publish a Docker image on: push: - branches: ['fix-CD'] + branches: ['user-portal-main'] workflow_dispatch: env: From a6b93d12ef5286136ae2710beefddc5f47fcd264 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 26 Jan 2024 15:50:30 +0100 Subject: [PATCH 060/284] Update HEAD commit for ckanext-gdi-userportal --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 3990cfab8..d00bec915 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 3990cfab8fc5327cbedcb9dba98c71cd1b57950a +Subproject commit d00bec915bf9aded4a83124422b374ba5f4022a3 From 132ad50f2496b81d659d2264a6871dd7e9f305b1 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 26 Jan 2024 21:26:30 +0100 Subject: [PATCH 061/284] chore: #39 update CI/CD pipelines --- .../{release-package.yml => main.yml} | 47 +++++++- .github/workflows/release.yml | 107 ++++++++++++++++++ README.md | 4 + 3 files changed, 157 insertions(+), 1 deletion(-) rename .github/workflows/{release-package.yml => main.yml} (52%) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release-package.yml b/.github/workflows/main.yml similarity index 52% rename from .github/workflows/release-package.yml rename to .github/workflows/main.yml index 0d05aa8ae..907fed8c1 100644 --- a/.github/workflows/release-package.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Build and publish a Docker image +name: Publish and Deploy main on: push: @@ -11,8 +11,53 @@ env: AZURE_WEBAPP_NAME: ckan-test jobs: + ort: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - uses: actions/checkout@v4 + - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + with: + allow-dynamic-versions: "true" + fail-on: "issues" + run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" + + scan-docker-image: + runs-on: ubuntu-latest + needs: ort + permissions: + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.IMAGE_NAME }} + + - name: Build Docker image for scanning + uses: docker/build-push-action@v5 + with: + load: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: "${{ env.IMAGE_NAME }}:user-portal-main" + format: "table" + exit-code: "1" + ignore-unfixed: true + vuln-type: "os,library" + severity: "CRITICAL,HIGH" + build-and-push-image: runs-on: ubuntu-latest + needs: scan-docker-image permissions: contents: read packages: write diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..cdf59cddd --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,107 @@ +name: Publish release + +on: + push: + tags: + - "v*" + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker + DOCKER_METADATA_OUTPUT_TAGS: + +jobs: + ort: + strategy: + fail-fast: false + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + with: + allow-dynamic-versions: "true" + fail-on: "issues" + run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" + + scan-docker-image: + runs-on: ubuntu-latest + needs: ort + permissions: + contents: read + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.IMAGE_NAME }} + + - name: Build Docker image for scanning + uses: docker/build-push-action@v5 + with: + load: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + image-ref: "${{ env.DOCKER_METADATA_OUTPUT_TAGS }}" + format: "table" + exit-code: "1" + ignore-unfixed: true + vuln-type: "os,library" + severity: "CRITICAL,HIGH" + + build-and-push-image: + runs-on: ubuntu-latest + needs: scan-docker-image + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + release: + runs-on: ubuntu-latest + needs: build-and-push-image + permissions: + contents: read + packages: write + steps: + - name: Conventional Changelog Action + id: changelog + uses: TriPSs/conventional-changelog-action@v3 + with: + github-token: ${{ secrets.github_token }} + output-file: "false" + + - name: Create a Release + uses: elgohr/Github-Release-Action@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + title: ${{ github.sha }} diff --git a/README.md b/README.md index d881a0c8a..513e8022e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ +![example workflow](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/workflows/main.yml/badge.svg) +![example workflow](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/workflows/release.yml/badge.svg) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=GenomicDataInfrastructure_gdi-userportal-ckan-docker&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=GenomicDataInfrastructure_gdi-userportal-ckan-docker) +[![GitHub contributors](https://img.shields.io/github/contributors/GenomicDataInfrastructure/gdi-userportal-ckan-docker)](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/graphs/contributors) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) # CKAN for GDI - User Portal From bed12e6e58b2d3537ad97e1de4974df0c8cafc25 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 11:31:02 +0100 Subject: [PATCH 062/284] fix: Add context to docker image build for scanning --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 907fed8c1..2b910c328 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -41,6 +41,7 @@ jobs: - name: Build Docker image for scanning uses: docker/build-push-action@v5 with: + context: ./ckan load: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 3fac0c66b3d07d19b002eccff1f49fdcde87c396 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 11:50:01 +0100 Subject: [PATCH 063/284] fix: Update severity level for Trivy scan CKAN 2.10.3 has few packages exposed to HIGH level vulnerabilities. We will report them. https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/runs/7709771942/job/21011743519 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2b910c328..25eebfcba 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -54,7 +54,7 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL,HIGH" + severity: "CRITICAL" build-and-push-image: runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cdf59cddd..f9961ec4c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,6 +41,7 @@ jobs: - name: Build Docker image for scanning uses: docker/build-push-action@v5 with: + context: ./ckan load: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} @@ -53,7 +54,7 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL,HIGH" + severity: "CRITICAL" build-and-push-image: runs-on: ubuntu-latest @@ -81,6 +82,7 @@ jobs: - name: Build and push Docker image uses: docker/build-push-action@v5 with: + context: ./ckan push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 81df865dde650b6e256fb91c025175bad2ace1d9 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 12:00:00 +0100 Subject: [PATCH 064/284] fix: Rename default branch to main --- .github/workflows/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 25eebfcba..140424545 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2,7 +2,7 @@ name: Publish and Deploy main on: push: - branches: ['user-portal-main'] + branches: ['main'] workflow_dispatch: env: @@ -49,7 +49,7 @@ jobs: - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ env.IMAGE_NAME }}:user-portal-main" + image-ref: "${{ env.IMAGE_NAME }}:main" format: "table" exit-code: "1" ignore-unfixed: true @@ -97,4 +97,4 @@ jobs: with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - images: '${{ env.IMAGE_NAME }}:user-portal-main' + images: '${{ env.IMAGE_NAME }}:main' From fd7cfb3c2a0502f89f49be5bffa7e1777f1579fa Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 12:21:49 +0100 Subject: [PATCH 065/284] doc: Add CHANGELOG.md --- CHANGELOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..39f60fd5d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +### Added + +## [v1.0.0] - 2024-01-30 + +### Added + +- ckanext-scheming v3.0.0. +- ckanext-dcat v1.5.1. +- ckanext-harvest v1.5.6. +- ckanext-gdi-userportal v1.0.0. +- ckanext-oidc-pkce v0.3.1. +- minimal default scheming for GDI User Portal. + +### Removed + +- Unused datastore dependencies. From 5184ff188cfec0376319273dd1b211a384f2f09c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 13:39:10 +0100 Subject: [PATCH 066/284] fix: update image-ref for Trivy --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f9961ec4c..c1a2f3460 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,7 @@ jobs: - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ env.DOCKER_METADATA_OUTPUT_TAGS }}" + image-ref: "${{ env.IMAGE_NAME }}:latest" format: "table" exit-code: "1" ignore-unfixed: true From 5b42ca105578075ded4013f72db8b7916c779d88 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 13:51:58 +0100 Subject: [PATCH 067/284] fix: checkout repo during release --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c1a2f3460..5539f74cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,6 +94,9 @@ jobs: contents: read packages: write steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Conventional Changelog Action id: changelog uses: TriPSs/conventional-changelog-action@v3 From 81dfd442c35b027d4c071b933b26d906c5c9af0e Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 13:51:58 +0100 Subject: [PATCH 068/284] fix: remove changelog generation from release workflow --- .github/workflows/release.yml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5539f74cb..2fbb3f0b3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -86,27 +86,3 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - release: - runs-on: ubuntu-latest - needs: build-and-push-image - permissions: - contents: read - packages: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Conventional Changelog Action - id: changelog - uses: TriPSs/conventional-changelog-action@v3 - with: - github-token: ${{ secrets.github_token }} - output-file: "false" - - - name: Create a Release - uses: elgohr/Github-Release-Action@v5 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - title: ${{ github.sha }} From 06ae17873dfef193220170aa17361ff0b48a4740 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 14:53:57 +0100 Subject: [PATCH 069/284] fix: fix ckanext-gdi-userportal version to 1.0.0 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 2bdc2c892..b0345a877 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ FROM ckan/ckan-base:2.10.3 # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@main#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.0.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@user-portal-v1.5.1#egg=ckanext-dcat && \ From bb89a5b3eb57992d12760d90577d2cab4c9007b5 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 30 Jan 2024 15:32:28 +0100 Subject: [PATCH 070/284] fix: replace ckan extensions location Replace ckanext-dcat by original repo. Replace ckanext-scheming by original repo. Replace ckanext-harvest by original repo. Install everything directly into the docker images. --- .gitmodules | 16 ---------------- CHANGELOG.md | 12 +++++++++++- ckan/Dockerfile | 9 ++++----- ckan/Dockerfile.dev | 11 +++++++++++ src/ckanext-dcat | 1 - src/ckanext-fairdatapoint | 1 - src/ckanext-harvest | 1 - src/ckanext-scheming | 1 - 8 files changed, 26 insertions(+), 26 deletions(-) delete mode 160000 src/ckanext-dcat delete mode 160000 src/ckanext-fairdatapoint delete mode 160000 src/ckanext-harvest delete mode 160000 src/ckanext-scheming diff --git a/.gitmodules b/.gitmodules index af6a88005..c66327a02 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,19 +2,3 @@ path = src/ckanext-gdi-userportal url = git@github.com:GenomicDataInfrastructure/ckanext-gdi-userportal.git branch = main -[submodule "src/ckanext-dcat"] - path = src/ckanext-dcat - url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git - branch = user-portal-v1.5.1 -[submodule "src/ckanext-harvest"] - path = src/ckanext-harvest - url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git - branch = user-portal-v1.5.6 -[submodule "src/ckanext-scheming"] - path = src/ckanext-scheming - url = git@github.com:GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git - branch = user-portal-v3.0.0 -[submodule "src/ckanext-fairdatapoint"] - path = src/ckanext-fairdatapoint - url = https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git - branch = user-portal diff --git a/CHANGELOG.md b/CHANGELOG.md index 39f60fd5d..e8bc18258 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,10 +9,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +### Changed + +### Deprecated + +### Removed + +### Fixed +- Replaced all non-GDI extension locations by their original ones. + +### Security + ## [v1.0.0] - 2024-01-30 ### Added - - ckanext-scheming v3.0.0. - ckanext-dcat v1.5.1. - ckanext-harvest v1.5.6. diff --git a/ckan/Dockerfile b/ckan/Dockerfile index b0345a877..9f16a52ce 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -3,17 +3,16 @@ FROM ckan/ckan-base:2.10.3 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples - RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.0.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@user-portal-v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-harvest.git@user-portal-v1.5.6#egg=ckanext-harvest && \ - pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ + pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-scheming.git@user-portal-v3.0.0#egg=ckanext-scheming +RUN pip3 install -e git+https://github.com/ckan/ckanext-scheming.git@release-3.0.0#egg=ckanext-scheming RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 67c3be6b9..fcbb24774 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,8 +1,19 @@ FROM ckan/ckan-dev:2.10.3 +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt + +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ + pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt + +RUN pip3 install -e git+https://github.com/ckan/ckanext-scheming.git@release-3.0.0#egg=ckanext-scheming + RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ + pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt + # Clone the extension(s) your are writing for your own project in the `src` folder # to get them mounted in this image at runtime diff --git a/src/ckanext-dcat b/src/ckanext-dcat deleted file mode 160000 index a55af9d23..000000000 --- a/src/ckanext-dcat +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a55af9d235ebe108ce6cd7b5b2a16cd12a5a7779 diff --git a/src/ckanext-fairdatapoint b/src/ckanext-fairdatapoint deleted file mode 160000 index f714d832a..000000000 --- a/src/ckanext-fairdatapoint +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f714d832af8308ef7ff0243598a20f3c515740f9 diff --git a/src/ckanext-harvest b/src/ckanext-harvest deleted file mode 160000 index 23ac96229..000000000 --- a/src/ckanext-harvest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 23ac9622994540bd88e16eb3a83a15b62d719fba diff --git a/src/ckanext-scheming b/src/ckanext-scheming deleted file mode 160000 index 18d8c7c9a..000000000 --- a/src/ckanext-scheming +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 18d8c7c9a9519676c34c01e34fd56e42926535ed From 7255f29422098fe79eb6a2e476450c95cc58ba68 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 31 Jan 2024 21:42:47 +0100 Subject: [PATCH 071/284] chore: #15 add REUSE headers --- .env.example | 5 + .github/workflows/main.yml | 5 + .github/workflows/release.yml | 4 + .github/workflows/test.yml | 18 + .gitignore | 5 + .gitmodules | 4 + CHANGELOG.md | 6 + CODE_OF_CONDUCT.md | 6 + CONTRIBUTING.md | 6 + LICENSE | 661 ------------------ LICENSES/AGPL-3.0-only.txt | 235 +++++++ LICENSES/CC-BY-4.0.txt | 156 +++++ README.md | 17 +- _http/ckan.http | 4 + _http/mock_catalogue.http | 4 + ckan/Dockerfile | 5 + ckan/Dockerfile.dev | 5 + ckan/docker-entrypoint.d/README.md | 6 + ckan/docker-entrypoint.d/setup_scheming.sh | 4 + ckan/patches/00_test_test.patch | 4 + ckan/setup/prerun.py | 5 + ckan/setup/start_ckan.sh.override | 4 + ckan/setup/start_ckan_development.sh.override | 4 + docker-compose.yml | 5 + keycloak/Dockerfile | 4 + keycloak/realms/ckan-realm.json.license | 3 + postgresql/Dockerfile | 4 + .../docker-entrypoint-initdb.d/.gitattributes | 4 + .../1_create_ckandb.sh | 6 + .../2_create_keycloakdb.sh | 5 + .../3_setup_test_databases.sh | 6 + 31 files changed, 544 insertions(+), 666 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 LICENSE create mode 100644 LICENSES/AGPL-3.0-only.txt create mode 100644 LICENSES/CC-BY-4.0.txt create mode 100644 keycloak/realms/ckan-realm.json.license diff --git a/.env.example b/.env.example index f9f1785bb..1202bb4a7 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + # Host Ports CKAN_PORT_HOST=5500 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 140424545..c4463ceb4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# SPDX-FileContributor: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only + name: Publish and Deploy main on: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2fbb3f0b3..f390d5d23 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + name: Publish release on: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..425d3348d --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,18 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + +name: Run Tests + +on: push + +jobs: + test: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - name: REUSE Compliance Check + uses: fsfe/reuse-action@v2 diff --git a/.gitignore b/.gitignore index a7cc8c343..7cbe938ce 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + # generic .DS_Store .vagrant diff --git a/.gitmodules b/.gitmodules index c66327a02..d5f74020e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + [submodule "src/ckanext-gdi-userportal"] path = src/ckanext-gdi-userportal url = git@github.com:GenomicDataInfrastructure/ckanext-gdi-userportal.git diff --git a/CHANGELOG.md b/CHANGELOG.md index e8bc18258..2a0f6e0ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ + + # Changelog All notable changes to this project will be documented in this file. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 20bcc4f64..7fb2dbb16 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,3 +1,9 @@ + # Contributor Covenant Code of Conduct diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 787890d30..4b58892a5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,9 @@ + + # Contributing to CKAN Docker GDI User Portal diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0ad25db4b..000000000 --- a/LICENSE +++ /dev/null @@ -1,661 +0,0 @@ - GNU AFFERO GENERAL PUBLIC LICENSE - Version 3, 19 November 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU Affero General Public License is a free, copyleft license for -software and other kinds of works, specifically designed to ensure -cooperation with the community in the case of network server software. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -our General Public Licenses are intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - Developers that use our General Public Licenses protect your rights -with two steps: (1) assert copyright on the software, and (2) offer -you this License which gives you legal permission to copy, distribute -and/or modify the software. - - A secondary benefit of defending all users' freedom is that -improvements made in alternate versions of the program, if they -receive widespread use, become available for other developers to -incorporate. Many developers of free software are heartened and -encouraged by the resulting cooperation. However, in the case of -software used on network servers, this result may fail to come about. -The GNU General Public License permits making a modified version and -letting the public access it on a server without ever releasing its -source code to the public. - - The GNU Affero General Public License is designed specifically to -ensure that, in such cases, the modified source code becomes available -to the community. It requires the operator of a network server to -provide the source code of the modified version running there to the -users of that server. Therefore, public use of a modified version, on -a publicly accessible server, gives the public access to the source -code of the modified version. - - An older license, called the Affero General Public License and -published by Affero, was designed to accomplish similar goals. This is -a different license, not a version of the Affero GPL, but Affero has -released a new version of the Affero GPL which permits relicensing under -this license. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU Affero General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Remote Network Interaction; Use with the GNU General Public License. - - Notwithstanding any other provision of this License, if you modify the -Program, your modified version must prominently offer all users -interacting with it remotely through a computer network (if your version -supports such interaction) an opportunity to receive the Corresponding -Source of your version by providing access to the Corresponding Source -from a network server at no charge, through some standard or customary -means of facilitating copying of software. This Corresponding Source -shall include the Corresponding Source for any work covered by version 3 -of the GNU General Public License that is incorporated pursuant to the -following paragraph. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the work with which it is combined will remain governed by version -3 of the GNU General Public License. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU Affero General Public License from time to time. Such new versions -will be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU Affero General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU Affero General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU Affero General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If your software can interact with users remotely through a computer -network, you should also make sure that it provides a way for users to -get its source. For example, if your program is a web application, its -interface could display a "Source" link that leads users to an archive -of the code. There are many ways you could offer source, and different -solutions will be better for different programs; see section 13 for the -specific requirements. - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU AGPL, see -. diff --git a/LICENSES/AGPL-3.0-only.txt b/LICENSES/AGPL-3.0-only.txt new file mode 100644 index 000000000..0c97efd25 --- /dev/null +++ b/LICENSES/AGPL-3.0-only.txt @@ -0,0 +1,235 @@ +GNU AFFERO GENERAL PUBLIC LICENSE +Version 3, 19 November 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + + Preamble + +The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software. + +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, our General Public Licenses are intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. + +Developers that use our General Public Licenses protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License which gives you legal permission to copy, distribute and/or modify the software. + +A secondary benefit of defending all users' freedom is that improvements made in alternate versions of the program, if they receive widespread use, become available for other developers to incorporate. Many developers of free software are heartened and encouraged by the resulting cooperation. However, in the case of software used on network servers, this result may fail to come about. The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public. + +The GNU Affero General Public License is designed specifically to ensure that, in such cases, the modified source code becomes available to the community. It requires the operator of a network server to provide the source code of the modified version running there to the users of that server. Therefore, public use of a modified version, on a publicly accessible server, gives the public access to the source code of the modified version. + +An older license, called the Affero General Public License and published by Affero, was designed to accomplish similar goals. This is a different license, not a version of the Affero GPL, but Affero has released a new version of the Affero GPL which permits relicensing under this license. + +The precise terms and conditions for copying, distribution and modification follow. + + TERMS AND CONDITIONS + +0. Definitions. + +"This License" refers to version 3 of the GNU Affero General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based on the Program. + +To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. + +1. Source Code. +The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. + +A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. + +2. Basic Permissions. +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. + +4. Conveying Verbatim Copies. +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". + + c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. + +6. Conveying Non-Source Forms. +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: + + a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. + + d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. + +7. Additional Terms. +"Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or authors of the material; or + + e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. + +8. Termination. + +You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. + +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. + +11. Patents. + +A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. + +A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. + +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. + +13. Remote Network Interaction; Use with the GNU General Public License. + +Notwithstanding any other provision of this License, if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software. This Corresponding Source shall include the Corresponding Source for any work covered by version 3 of the GNU General Public License that is incorporated pursuant to the following paragraph. + +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the work with which it is combined will remain governed by version 3 of the GNU General Public License. + +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the GNU Affero General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU Affero General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU Affero General Public License, you may choose any version ever published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU Affero General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. + +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If your software can interact with users remotely through a computer network, you should also make sure that it provides a way for users to get its source. For example, if your program is a web application, its interface could display a "Source" link that leads users to an archive of the code. There are many ways you could offer source, and different solutions will be better for different programs; see section 13 for the specific requirements. + +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see . diff --git a/LICENSES/CC-BY-4.0.txt b/LICENSES/CC-BY-4.0.txt new file mode 100644 index 000000000..13ca539f3 --- /dev/null +++ b/LICENSES/CC-BY-4.0.txt @@ -0,0 +1,156 @@ +Creative Commons Attribution 4.0 International + + Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. + +Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. More considerations for licensors. + +Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More considerations for the public. + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. + +Section 1 – Definitions. + + a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + + d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + + g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. + + i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + + A. reproduce and Share the Licensed Material, in whole or in part; and + + B. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + + 3. Term. The term of this Public License is specified in Section 6(a). + + 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + + 5. Downstream recipients. + + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + + B. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + + 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). + +b. Other rights. + + 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this Public License. + + 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. + +Section 3 – License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified form), You must: + + A. retain the following if it is supplied by the Licensor with the Licensed Material: + + i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of warranties; + + v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + + B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + + C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + + 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. + +Section 4 – Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; + + b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. + +Section 5 – Disclaimer of Warranties and Limitation of Liability. + + a. Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + + b. To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + + c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination. + + a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + + 2. upon express reinstatement by the Licensor. + + c. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + + d. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + + e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation. + + a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + + c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + + d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md index 513e8022e..d7032a43a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ + + +[![REUSE status](https://api.reuse.software/badge/github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker)](https://api.reuse.software/info/github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker) ![example workflow](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/workflows/main.yml/badge.svg) ![example workflow](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/workflows/release.yml/badge.svg) +![example workflow](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/actions/workflows/test.yml/badge.svg) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=GenomicDataInfrastructure_gdi-userportal-ckan-docker&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=GenomicDataInfrastructure_gdi-userportal-ckan-docker) [![GitHub contributors](https://img.shields.io/github/contributors/GenomicDataInfrastructure/gdi-userportal-ckan-docker)](https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/graphs/contributors) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) @@ -68,9 +76,8 @@ more information. Copying and License ------------------- -This material is copyright (c) 2006-2023 Open Knowledge Foundation and contributors. - -It is open and licensed under the GNU Affero General Public License (AGPL) v3.0 -whose full text may be found at: +This work is licensed under multiple licences. Here is a brief summary as of January 2024: -http://www.fsf.org/licensing/licenses/agpl-3.0.html +- All original source code is licensed under [AGPL-3.0-only](./LICENSES/AGPL-3.0-only.txt), copyright (c) 2006-2023 Open Knowledge Foundation and contributors. +- All documentation is licensed under [CC-BY-4.0](./LICENSES/CC-BY-4.0.txt). +- For more accurate information, check the individual files. diff --git a/_http/ckan.http b/_http/ckan.http index 26e76b9d6..4dc077c8b 100644 --- a/_http/ckan.http +++ b/_http/ckan.http @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + GET http://localhost:5500/api/action/scheming_package_show?type=dataset&id=5eedc478-87b2-4947-8a9a-c90437440079 ### diff --git a/_http/mock_catalogue.http b/_http/mock_catalogue.http index c0c630c2a..cd2c9e2ef 100644 --- a/_http/mock_catalogue.http +++ b/_http/mock_catalogue.http @@ -1 +1,5 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + GET http://localhost:8001/catalogue.ttl diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9f16a52ce..951bc520a 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + FROM ckan/ckan-base:2.10.3 # Install any extensions needed by your CKAN instance diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index fcbb24774..4c718c37d 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + FROM ckan/ckan-dev:2.10.3 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/ckan/docker-entrypoint.d/README.md b/ckan/docker-entrypoint.d/README.md index 27fa2922d..5d63f4057 100644 --- a/ckan/docker-entrypoint.d/README.md +++ b/ckan/docker-entrypoint.d/README.md @@ -1,3 +1,9 @@ + + Use scripts in this folder to run extra initialization steps in your custom CKAN images. Any file with `.sh` or `.py` extension will be executed just after the main initialization script (`prerun.py`) is executed and just before the web server and supervisor processes are diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index b4901f57d..6b2e414da 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ diff --git a/ckan/patches/00_test_test.patch b/ckan/patches/00_test_test.patch index 30d74d258..3160e416d 100644 --- a/ckan/patches/00_test_test.patch +++ b/ckan/patches/00_test_test.patch @@ -1 +1,5 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + test \ No newline at end of file diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 30b319949..a37888fbd 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + import os import sys import subprocess diff --git a/ckan/setup/start_ckan.sh.override b/ckan/setup/start_ckan.sh.override index 33c2c5a93..247dbcf16 100755 --- a/ckan/setup/start_ckan.sh.override +++ b/ckan/setup/start_ckan.sh.override @@ -1,5 +1,9 @@ #!/bin/sh +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + # Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx diff --git a/ckan/setup/start_ckan_development.sh.override b/ckan/setup/start_ckan_development.sh.override index 93ce81414..6daadf7d3 100755 --- a/ckan/setup/start_ckan_development.sh.override +++ b/ckan/setup/start_ckan_development.sh.override @@ -1,5 +1,9 @@ #!/bin/sh +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + # Install any local extensions in the src_extensions volume echo "Looking for local extensions to install..." echo "Extension dir contents:" diff --git a/docker-compose.yml b/docker-compose.yml index 3f70e32ec..05afcd5ee 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,8 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + version: "3" volumes: diff --git a/keycloak/Dockerfile b/keycloak/Dockerfile index 9696754ff..c07493384 100644 --- a/keycloak/Dockerfile +++ b/keycloak/Dockerfile @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + # First stage: Install curl FROM registry.access.redhat.com/ubi9 AS ubi-micro-build RUN mkdir -p /mnt/rootfs diff --git a/keycloak/realms/ckan-realm.json.license b/keycloak/realms/ckan-realm.json.license new file mode 100644 index 000000000..767ca7901 --- /dev/null +++ b/keycloak/realms/ckan-realm.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 PNED G.I.E. + +SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index 4caf7765f..de4e8275e 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -1,3 +1,7 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + FROM postgres:12-alpine # Include extra setup scripts (eg datastore) diff --git a/postgresql/docker-entrypoint-initdb.d/.gitattributes b/postgresql/docker-entrypoint-initdb.d/.gitattributes index dfdb8b771..812e0ad26 100644 --- a/postgresql/docker-entrypoint-initdb.d/.gitattributes +++ b/postgresql/docker-entrypoint-initdb.d/.gitattributes @@ -1 +1,5 @@ +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + *.sh text eol=lf diff --git a/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh b/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh index 1c9c4ca5a..dce5d5a06 100755 --- a/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh +++ b/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh @@ -1,4 +1,10 @@ #!/bin/bash + +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL diff --git a/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh b/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh index 573663baa..7d9831ecf 100644 --- a/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh +++ b/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh @@ -1,4 +1,9 @@ #!/bin/bash + +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e echo "Creating $KC_DB_NAME for $KC_DB_USERNAME" diff --git a/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh index da55af365..b0f34ef8c 100755 --- a/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh +++ b/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh @@ -1,4 +1,10 @@ #!/bin/bash + +# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileContributor: PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL From 69a71d055eaa521b5db8acdcf57558778eb98c43 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 2 Feb 2024 23:14:38 +0100 Subject: [PATCH 072/284] doc: #37 add issue templates --- .github/ISSUE_TEMPLATE/bug_template.yml | 103 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_template.yml | 70 +++++++++++++ .github/ISSUE_TEMPLATE/story_template.yml | 51 ++++++++++ 3 files changed, 224 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_template.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_template.yml create mode 100644 .github/ISSUE_TEMPLATE/story_template.yml diff --git a/.github/ISSUE_TEMPLATE/bug_template.yml b/.github/ISSUE_TEMPLATE/bug_template.yml new file mode 100644 index 000000000..476986b56 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_template.yml @@ -0,0 +1,103 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +name: "🐞 Bug Report" +description: Report the issue you are having +title: "🐞 BUG REPORT" +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + ## 🐞 Bug Report + + We're sorry to hear you're encountering an issue! 🛠️ Your detailed report is crucial in helping us identify and resolve problems quickly. + + Please use this form to provide as much information as possible about the issue. This not only helps us in prompt troubleshooting but also ensures we keep improving the user experience. + + **Quick Links for Your Reference** + - [📜 Code of Conduct](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg) + - [👥 Contribution Guide](https://github.com/GenomicDataInfrastructure/gdi-userportal-frontend/graphs/contributors) + + - type: checkboxes + id: duplicates + attributes: + label: 🔄 Duplicate Check + description: Please confirm that this issue has not been reported before. + options: + - label: "I have searched both open and closed issues and found no similar reports." + required: true + + - type: textarea + id: what-happened + attributes: + label: "🔍 What Happened?" + description: "Provide a clear and concise description of the issue." + placeholder: "Describe the issue in detail. What did you see or experience?" + + - type: textarea + id: reproduction-steps + attributes: + label: "👣 Steps to Reproduce" + description: "Detail the steps to replicate the problem." + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. Scroll down to '...' + 4. Notice the error + + - type: textarea + id: screenshot + attributes: + label: "📸 Screenshots" + description: "If applicable, add screenshots to help illustrate the issue." + placeholder: "Drag & drop, paste, or select a file to upload screenshots." + + - type: textarea + id: logs + attributes: + label: "📋 Logs" + description: "Share any relevant log output or error messages." + + - type: dropdown + id: browsers + attributes: + label: "🌐 Affected Browsers" + description: "Which browsers did you encounter the issue on?" + multiple: true + options: + - Firefox + - Chrome + - Safari + - Microsoft Edge + - Opera + + - type: dropdown + id: os + attributes: + label: "💻 Operating System" + description: "Which operating system(s) is affected?" + multiple: true + options: + - Windows + - Linux + - macOS + + - type: dropdown + id: assignee + attributes: + label: "🤝 Want to Contribute to the Fix?" + description: "Indicate if you're interested in contributing to fixing this issue." + multiple: false + options: + - "No, I can't contribute." + - "Yes, I'd like to help fix this." + default: 0 + + - type: textarea + id: anything-else + attributes: + label: "ℹ️ Additional Information" + description: "Share any other relevant information or context." + placeholder: "System information, version details, etc." diff --git a/.github/ISSUE_TEMPLATE/feature_template.yml b/.github/ISSUE_TEMPLATE/feature_template.yml new file mode 100644 index 000000000..784a944f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_template.yml @@ -0,0 +1,70 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +name: "✨ Feature Request" +description: Suggest an idea for this project +title: "✨ FEATURE: " +labels: ["feature"] +body: + - type: markdown + attributes: + value: | + ## ✨ Feature Request + + Your ideas are the spark that ignites innovation! 🚀 Thank you for taking the time to share your thoughts and suggestions with us. + + Whether it's a small tweak or a big revolution, every feature request is a step towards making our project more powerful and user-friendly. Please fill out the form below with as much detail as possible to help us understand your vision. + + **Before you start:** + - 🔍 Ensure your feature hasn't already been suggested by searching existing issues. + - 🎯 Clearly describe the use-case, benefits, and necessity of your proposed feature. + - 🔄 Consider if this feature should be broadly implemented or better suited as a plugin. + + - type: checkboxes + id: duplicates + attributes: + label: "🔍 Prior Research" + description: "Boost the chances of your feature being accepted by ensuring it hasn't been suggested before." + options: + - label: "I have searched both 'open' and 'closed' issues to confirm this is not a duplicate." + required: true + + - type: textarea + id: feature-summary + attributes: + label: "✏️ Feature Summary" + description: "Provide a clear and concise description of the proposed feature." + placeholder: "I envision a feature that..." + + - type: textarea + id: problem-solution + attributes: + label: "🎯 Problem & Solution" + description: "Detail the problem at hand and how your feature offers a solution." + placeholder: "The challenge is... and this feature addresses it by..." + + - type: textarea + id: alternatives-considered + attributes: + label: "🔄 Alternatives Considered" + description: "Share any alternative solutions or features you have considered." + placeholder: "Alternative approaches include..." + + - type: textarea + id: additional-context + attributes: + label: "📚 Additional Context" + description: "Provide any more context, links, or screenshots that can paint a clearer picture of your feature." + placeholder: "Here's more context..." + + - type: dropdown + id: assignee + attributes: + label: "🛠️ Willing to Contribute?" + description: "Are you interested in contributing to the implementation of this feature?" + multiple: false + options: + - "No, I am just suggesting" + - "Yes, I'd like to contribute" + default: 0 diff --git a/.github/ISSUE_TEMPLATE/story_template.yml b/.github/ISSUE_TEMPLATE/story_template.yml new file mode 100644 index 000000000..d8781f4c8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/story_template.yml @@ -0,0 +1,51 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +name: "📝 User Story" +description: Provide a detailed user story including what needs to be done, why, the tasks involved, and the acceptance criteria. +title: "📝 USER STORY: " +labels: ["user story"] +body: + - type: markdown + attributes: + value: | + ## 🚀 User Story + + 🌟 A compelling user story does more than outline requirements; it paints a picture of progress, impact, and transformation. 🎨 + + Please take a moment to fill in each section with detail and care. Your thorough input enables us to align our efforts closely with our users' real-world needs and expectations. + + - type: textarea + id: what + attributes: + label: "🎯 What? (Story Description)" + description: "Describe the desired outcome or goal of this story." + + - type: textarea + id: why + attributes: + label: "💡 Why? (Justification)" + description: "Explain the value or benefit this story brings to the project or its users." + placeholder: "This is important because..." + + - type: textarea + id: tasks + attributes: + label: "🔨 Tasks (Breakdown)" + description: "List the tasks or steps needed to achieve the desired outcome of this story." + placeholder: "Tasks involved might include..." + + - type: textarea + id: acceptance-criteria + attributes: + label: "✅ Acceptance Criteria" + description: "Define clear and testable criteria to determine when this story is completed." + placeholder: "This story is considered done when..." + + - type: textarea + id: additional-info + attributes: + label: "➕ Additional Information" + description: "Add any extra notes, links, or screenshots that can help illustrate your story. Your thoroughness can light the way to success!" + placeholder: "Think outside the box, every detail adds depth..." From f19b435524f65f4090c88fabb0fc8b48e718e333 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 6 Feb 2024 08:41:25 +0100 Subject: [PATCH 073/284] doc: add Apache-2.0 to licenses folder --- LICENSES/Apache-2.0.txt | 73 +++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 2 files changed, 74 insertions(+) create mode 100644 LICENSES/Apache-2.0.txt diff --git a/LICENSES/Apache-2.0.txt b/LICENSES/Apache-2.0.txt new file mode 100644 index 000000000..137069b82 --- /dev/null +++ b/LICENSES/Apache-2.0.txt @@ -0,0 +1,73 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + + (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. + + You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/README.md b/README.md index d7032a43a..115847841 100644 --- a/README.md +++ b/README.md @@ -80,4 +80,5 @@ This work is licensed under multiple licences. Here is a brief summary as of Jan - All original source code is licensed under [AGPL-3.0-only](./LICENSES/AGPL-3.0-only.txt), copyright (c) 2006-2023 Open Knowledge Foundation and contributors. - All documentation is licensed under [CC-BY-4.0](./LICENSES/CC-BY-4.0.txt). +- github actions workflows are licensed under [Apache-2.0](./LICENSES/Apache-2.txt). - For more accurate information, check the individual files. From 41fc91e084869d938e56cf5ca01e239e72e9c0db Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 13 Feb 2024 16:18:36 +0100 Subject: [PATCH 074/284] feat(harvester): Configure automatic CRON job for CKAN Harvester #25 - Implement CRON job setup for automatic execution of the CKAN Harvester. This update enables the CKAN Harvester to run automatically at scheduled intervals, ensuring continuous and efficient harvesting of FAIR datapoints without manual input. The documentation in gdi-userportal-docs has been enhanced to include instructions and findings related to the CRON Harvester setup Closes #25 --- README.md | 1 + ckan/Dockerfile | 9 +++++++++ ckan/Dockerfile.dev | 11 +++++++++-- ckan/config/ckan_harvesting.conf | 30 ++++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 ckan/config/ckan_harvesting.conf diff --git a/README.md b/README.md index 115847841..644f8891a 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ CKAN and all the components are configured using environment variables that you * Ensure you have enough computer resources, if you are using `colima`: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` * Add `127.0.0.1 keycloak` to `/etc/hosts`. * Copy `.env.example` to `.env`. +* Ensure git submodules are pulled correctly after clone CKAN-DOCKER `git submodule update --init` ## 3. Useful commands diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 951bc520a..652262957 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. +# SPDX-FileContributor: Stichting Health-RI # # SPDX-License-Identifier: AGPL-3.0-only @@ -25,9 +26,17 @@ RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0. RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt +# Install Supervisor and cron +RUN apk update \ + && apk add --no-cache supervisor cronie \ + && rm -rf /var/cache/apk/* + +# Create log directories for CKAN harvester +RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ +COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 4c718c37d..0209e32b6 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,11 +19,18 @@ RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0. RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Clone the extension(s) your are writing for your own project in the `src` folder -# to get them mounted in this image at runtime + +# Install Supervisor and cron +RUN apk update \ + && apk add --no-cache supervisor cronie \ + && rm -rf /var/cache/apk/* + +# Create log directories for CKAN harvester +RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ +COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/ckan_harvesting.conf new file mode 100644 index 000000000..5800ff1f9 --- /dev/null +++ b/ckan/config/ckan_harvesting.conf @@ -0,0 +1,30 @@ +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only + +[program:ckan_gather_consumer] + +; Full Path to executable, should be path to virtural environment, +; Full path to config file too. + +command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester gather-consumer +numprocs=1 +stdout_logfile=/var/log/ckan/std/gather_consumer.log +stderr_logfile=/var/log/ckan/std/gather_consumer.log +autostart=true +autorestart=true +startsecs=10 + +[program:ckan_fetch_consumer] + +# ; Full Path to executable, should be path to virtural environment, +# ; Full path to config file too. + +command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer + +numprocs=1 +stdout_logfile=/var/log/ckan/std/fetch_consumer.log +stderr_logfile=/var/log/ckan/std/fetch_consumer.log +autostart=true +autorestart=true +startsecs=10 \ No newline at end of file From 9ba036851e401db3d2d27170e4a9a04883b676f2 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Wed, 14 Feb 2024 09:46:26 +0100 Subject: [PATCH 075/284] Update ckan_harvesting.conf --- ckan/config/ckan_harvesting.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/ckan_harvesting.conf index 5800ff1f9..2bc456690 100644 --- a/ckan/config/ckan_harvesting.conf +++ b/ckan/config/ckan_harvesting.conf @@ -17,8 +17,8 @@ startsecs=10 [program:ckan_fetch_consumer] -# ; Full Path to executable, should be path to virtural environment, -# ; Full path to config file too. +; Full Path to executable, should be path to virtural environment, +; Full path to config file too. command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer @@ -27,4 +27,4 @@ stdout_logfile=/var/log/ckan/std/fetch_consumer.log stderr_logfile=/var/log/ckan/std/fetch_consumer.log autostart=true autorestart=true -startsecs=10 \ No newline at end of file +startsecs=10 From 2f45fc1a98b44a680eb1b634421d205128a110df Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 21 Feb 2024 14:41:47 +0100 Subject: [PATCH 076/284] fix: Resolve issue #46 Missing validators from the Civity extension scheming where missing. Readded this extension --- ckan/Dockerfile | 5 ++++- ckan/Dockerfile.dev | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 652262957..910491d62 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,10 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=cka RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-scheming.git@release-3.0.0#egg=ckanext-scheming +RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ckanext-scheming && \ + cd "${APP_DIR}/src/ckanext-scheming" && \ + git checkout release-3.0.0-civity && \ + pip3 install -e . RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 0209e32b6..f37f886ff 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -11,7 +11,10 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=cka RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-scheming.git@release-3.0.0#egg=ckanext-scheming +RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ckanext-scheming && \ + cd "${APP_DIR}/src/ckanext-scheming" && \ + git checkout release-3.0.0-civity && \ + pip3 install -e . RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt From be63f8809186b105671f1936777be301ca7be239 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 29 Feb 2024 15:37:47 +0100 Subject: [PATCH 077/284] fix(theme-fetcher): handle empty iterable in theme reduction process #36 --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index d00bec915..c19f5708a 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit d00bec915bf9aded4a83124422b374ba5f4022a3 +Subproject commit c19f5708a7e299dbdc9ad6181fb45392fe4789b0 From ffb37d201a763ef997d8d79393cd282260bd14eb Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 1 Mar 2024 14:10:15 +0100 Subject: [PATCH 078/284] fix: use correct version of userportal extension --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 910491d62..951bf4bfe 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.3 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.0.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.0.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ From b8729cccc6e9d7a2cb849eb3ce1411073ec5c015 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 4 Mar 2024 15:58:22 +0100 Subject: [PATCH 079/284] Updated changelog --- CHANGELOG.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a0f6e0ac..3cb8a7d6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,10 +22,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed ### Fixed -- Replaced all non-GDI extension locations by their original ones. ### Security + +## [v1.1.1] - 2024-03-01 + +### Added +- chore: #15 add REUSE headers by @brunopacheco1 in #44 +- feat(harvester): Configure automatic CRON job for CKAN Harvester #25 by @hcvdwerf in #45 + +### Fixed +- fix: Re-add ckanext scheming extension from Civity to solved harvester issues +- fix(theme-fetcher): handle empty iterable in theme reduction process #36 by @hcvdwerf in #48 + ## [v1.0.0] - 2024-01-30 ### Added @@ -39,3 +49,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - Unused datastore dependencies. + +### Fixed +- Replaced all non-GDI extension locations by their original ones. From c61a6ddaf704868d640408ce543903db18489abe Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Tue, 12 Mar 2024 21:14:41 +0100 Subject: [PATCH 080/284] feat: enable multilingual plugins; build: docker container to pre-populate ckan db with labels --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- .../prepopulate_db/common_vocabulary_tags.csv | 35 +++++++++++++++++++ ckan/prepopulate_db/upload_vocabulary.sh | 5 +++ docker-compose.yml | 18 +++++++++- 5 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 ckan/prepopulate_db/common_vocabulary_tags.csv create mode 100644 ckan/prepopulate_db/upload_vocabulary.sh diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 951bf4bfe..e6b33231b 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -53,7 +53,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity multilingual_dataset multilingual_group multilingual_tag" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index f37f886ff..295d82cfd 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -47,4 +47,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity multilingual_dataset multilingual_group multilingual_tag" diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv b/ckan/prepopulate_db/common_vocabulary_tags.csv new file mode 100644 index 000000000..87e55cf76 --- /dev/null +++ b/ckan/prepopulate_db/common_vocabulary_tags.csv @@ -0,0 +1,35 @@ +term,term_translation,lang_code +http://id.loc.gov/vocabulary/iso639-1/en,English,en +http://id.loc.gov/vocabulary/iso639-1/nl,Dutch,en +http://id.loc.gov/vocabulary/iso639-1/de,German,en +http://id.loc.gov/vocabulary/iso639-1/fr,French,en +http://id.loc.gov/vocabulary/iso639-1/lb,Luxembourgish,en +https://publications.europa.eu/resource/authority/language/ENG,English,en +https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en +https://publications.europa.eu/resource/authority/language/DEU,German,en +https://publications.europa.eu/resource/authority/language/FRA,French,en +http://publications.europa.eu/resource/authority/access-right/PUBLIC,Public,en +http://publications.europa.eu/resource/authority/access-right/RESTRICTED,Restricted,en +http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,Non-public,en +http://purl.org/adms/status/Completed,Completed,en +http://purl.org/adms/status/Deprecated,Deprecated,en +http://purl.org/adms/status/UnderDevelopment,UnderDevelopment,en +http://purl.org/adms/status/Withdrawn,Withdrawn,en +http://purl.org/cld/freq/triennial,triennial,en +http://purl.org/cld/freq/biennial,biennial,en +http://purl.org/cld/freq/annual,annual,en +http://purl.org/cld/freq/semiannual,semiannual,en +http://purl.org/cld/freq/threeTimesAYear,three times a year,en +http://purl.org/cld/freq/quarterly,quarterly,en +http://purl.org/cld/freq/bimonthly,bimonthly,en +http://purl.org/cld/freq/monthly,monthly,en +http://purl.org/cld/freq/semimonthly,semimonthly,en +http://purl.org/cld/freq/biweekly,biweekly,en +http://purl.org/cld/freq/threeTimesAMonth,three times a month,en +http://purl.org/cld/freq/weekly,weekly,en +http://purl.org/cld/freq/semiweekly,semiweekly,en +http://purl.org/cld/freq/threeTimesAWeek,three times a week,en +http://purl.org/cld/freq/daily,daily,en +http://purl.org/cld/freq/continuous,continuous,en +http://purl.org/cld/freq/irregular,irregular,en +https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en \ No newline at end of file diff --git a/ckan/prepopulate_db/upload_vocabulary.sh b/ckan/prepopulate_db/upload_vocabulary.sh new file mode 100644 index 000000000..86464c407 --- /dev/null +++ b/ckan/prepopulate_db/upload_vocabulary.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +set -e + +psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB -c "\copy public.term_translation FROM '/prepopulate_db/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE);" diff --git a/docker-compose.yml b/docker-compose.yml index 05afcd5ee..fd975a82c 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,7 +33,7 @@ services: - ./src:/srv/app/src_extensions restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"] postgres: build: @@ -90,3 +90,19 @@ services: - KC_HOSTNAME healthcheck: test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] + + populate_db: + container_name: populate_db + command: + - "/bin/sh" + - "/prepopulate_db/upload_vocabulary.sh" + depends_on: + ckan-dev: + condition: service_healthy + postgres: + condition: service_healthy + env_file: + - .env + image: rtdl/psql-client:latest + volumes: + - ./ckan/prepopulate_db:/prepopulate_db From becbce968ad858f89575bed945283884b9631e50 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Wed, 13 Mar 2024 11:08:49 +0100 Subject: [PATCH 081/284] fix: add and update license information docs: typos fixed --- .env.example | 2 +- .gitignore | 2 +- README.md | 4 ++-- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- ckan/docker-entrypoint.d/README.md | 2 +- ckan/patches/00_test_test.patch | 2 +- ckan/prepopulate_db/common_vocabulary_tags.csv.license | 3 +++ ckan/prepopulate_db/upload_vocabulary.sh | 4 ++++ ckan/setup/prerun.py | 2 +- ckan/setup/start_ckan.sh.override | 2 +- ckan/setup/start_ckan_development.sh.override | 2 +- docker-compose.yml | 2 +- postgresql/Dockerfile | 2 +- postgresql/docker-entrypoint-initdb.d/.gitattributes | 2 +- postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh | 2 +- .../docker-entrypoint-initdb.d/3_setup_test_databases.sh | 2 +- 17 files changed, 23 insertions(+), 16 deletions(-) create mode 100644 ckan/prepopulate_db/common_vocabulary_tags.csv.license diff --git a/.env.example b/.env.example index 1202bb4a7..c86c5f3e8 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/.gitignore b/.gitignore index 7cbe938ce..d6d2c865c 100755 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/README.md b/README.md index 644f8891a..7cc0c57d9 100644 --- a/README.md +++ b/README.md @@ -77,9 +77,9 @@ more information. Copying and License ------------------- -This work is licensed under multiple licences. Here is a brief summary as of January 2024: +This work is licensed under multiple licenses. Here is a brief summary as of January 2024: -- All original source code is licensed under [AGPL-3.0-only](./LICENSES/AGPL-3.0-only.txt), copyright (c) 2006-2023 Open Knowledge Foundation and contributors. +- All original source code is licensed under [AGPL-3.0-only](./LICENSES/AGPL-3.0-only.txt), copyright (c) 2006-2024 Open Knowledge Foundation and contributors. - All documentation is licensed under [CC-BY-4.0](./LICENSES/CC-BY-4.0.txt). - github actions workflows are licensed under [Apache-2.0](./LICENSES/Apache-2.txt). - For more accurate information, check the individual files. diff --git a/ckan/Dockerfile b/ckan/Dockerfile index e6b33231b..00e68e3c0 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # SPDX-FileContributor: Stichting Health-RI # diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 295d82cfd..251afca3f 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/ckan/docker-entrypoint.d/README.md b/ckan/docker-entrypoint.d/README.md index 5d63f4057..1ea81684c 100644 --- a/ckan/docker-entrypoint.d/README.md +++ b/ckan/docker-entrypoint.d/README.md @@ -1,5 +1,5 @@ diff --git a/ckan/patches/00_test_test.patch b/ckan/patches/00_test_test.patch index 3160e416d..7d996673b 100644 --- a/ckan/patches/00_test_test.patch +++ b/ckan/patches/00_test_test.patch @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv.license b/ckan/prepopulate_db/common_vocabulary_tags.csv.license new file mode 100644 index 000000000..d6964a809 --- /dev/null +++ b/ckan/prepopulate_db/common_vocabulary_tags.csv.license @@ -0,0 +1,3 @@ +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# SPDX-FileContributor: Stichting Health-RI +# SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/ckan/prepopulate_db/upload_vocabulary.sh b/ckan/prepopulate_db/upload_vocabulary.sh index 86464c407..d9ad56167 100644 --- a/ckan/prepopulate_db/upload_vocabulary.sh +++ b/ckan/prepopulate_db/upload_vocabulary.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# SPDX-FileContributor: Stichting Health-RI +# SPDX-License-Identifier: AGPL-3.0-only + set -e psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB -c "\copy public.term_translation FROM '/prepopulate_db/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE);" diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index a37888fbd..23052ab0c 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/ckan/setup/start_ckan.sh.override b/ckan/setup/start_ckan.sh.override index 247dbcf16..303e1eb7c 100755 --- a/ckan/setup/start_ckan.sh.override +++ b/ckan/setup/start_ckan.sh.override @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/ckan/setup/start_ckan_development.sh.override b/ckan/setup/start_ckan_development.sh.override index 6daadf7d3..03aa891ca 100755 --- a/ckan/setup/start_ckan_development.sh.override +++ b/ckan/setup/start_ckan_development.sh.override @@ -1,6 +1,6 @@ #!/bin/sh -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/docker-compose.yml b/docker-compose.yml index fd975a82c..3ae1a4282 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index de4e8275e..4073007ae 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/postgresql/docker-entrypoint-initdb.d/.gitattributes b/postgresql/docker-entrypoint-initdb.d/.gitattributes index 812e0ad26..38dac1dba 100644 --- a/postgresql/docker-entrypoint-initdb.d/.gitattributes +++ b/postgresql/docker-entrypoint-initdb.d/.gitattributes @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh b/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh index dce5d5a06..c21d4510e 100755 --- a/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh +++ b/postgresql/docker-entrypoint-initdb.d/1_create_ckandb.sh @@ -1,6 +1,6 @@ #!/bin/bash -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh index b0f34ef8c..3a6eae5a0 100755 --- a/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh +++ b/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh @@ -1,6 +1,6 @@ #!/bin/bash -# SPDX-FileCopyrightText: 2006-2023 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. # # SPDX-License-Identifier: AGPL-3.0-only From 0d5797e1f46fc2f1a9a87d803b51b32d7f7d47cc Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Thu, 14 Mar 2024 14:52:23 +0100 Subject: [PATCH 082/284] fix: do not run the populate db script if db not empty --- ckan/prepopulate_db/upload_vocabulary.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ckan/prepopulate_db/upload_vocabulary.sh b/ckan/prepopulate_db/upload_vocabulary.sh index d9ad56167..d4b6e4042 100644 --- a/ckan/prepopulate_db/upload_vocabulary.sh +++ b/ckan/prepopulate_db/upload_vocabulary.sh @@ -6,4 +6,15 @@ set -e -psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB -c "\copy public.term_translation FROM '/prepopulate_db/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE);" +psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB <<-EOSQL + + SELECT + EXISTS(SELECT 1 FROM public.term_translation) as table_not_empty + \gset + \if :table_not_empty + \echo 'term_translation table is not empty, skipping' + \else + \copy public.term_translation FROM '/prepopulate_db/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); + \endif + +EOSQL From 6fea1709e3d29740a58de754c6cfbe27490c19e6 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 12 Mar 2024 15:57:43 +0100 Subject: [PATCH 083/284] fix(azure-deployment): Trigger repull on new CKAN version by updating image closes #51 --- .github/workflows/main.yml | 75 +++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 41 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c4463ceb4..f95f41b3b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,8 +18,6 @@ env: jobs: ort: runs-on: ubuntu-latest - permissions: - contents: read steps: - uses: actions/checkout@v4 - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e @@ -28,78 +26,73 @@ jobs: fail-on: "issues" run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" - scan-docker-image: + build-and-push-image: runs-on: ubuntu-latest needs: ort permissions: contents: read + packages: write steps: - name: Checkout repository uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + uses: docker/metadata-action@v5 with: images: ${{ env.IMAGE_NAME }} + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Extract last tag + id: tag + run: | + IFS=',' read -ra TAGS <<< "${{ steps.meta.outputs.tags }}" + LAST_INDEX=$((${#TAGS[@]} - 1)) + echo "last_tag=${TAGS[LAST_INDEX]}" >> $GITHUB_OUTPUT - - name: Build Docker image for scanning + - name: Build Docker image uses: docker/build-push-action@v5 with: - context: ./ckan - load: true - tags: ${{ steps.meta.outputs.tags }} + push: false + tags: ${{ steps.tag.outputs.last_tag }} labels: ${{ steps.meta.outputs.labels }} + load: true - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ env.IMAGE_NAME }}:main" + image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL" + severity: "CRITICAL,HIGH" - build-and-push-image: - runs-on: ubuntu-latest - needs: scan-docker-image - permissions: - contents: read - packages: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: ${{ env.IMAGE_NAME }} - - - name: Build and push Docker image - uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + - name: Push Docker image + uses: docker/build-push-action@v5 with: - context: ./ckan push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - deploy: - runs-on: ubuntu-latest - needs: build-and-push-image - steps: - name: Deploy to Azure Web App id: deploy-to-webapp uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - images: '${{ env.IMAGE_NAME }}:main' + images: "${{ steps.tag.outputs.last_tag }}" From ff9ead0f2b689736dcc6b46d265c3edc4e2ff36b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Mar 2024 21:02:47 +0100 Subject: [PATCH 084/284] fix(build): revert docker image context changes --- .github/workflows/main.yml | 14 +++++++++----- .github/workflows/release.yml | 1 - 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f95f41b3b..4cf6efdb6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,9 +6,11 @@ name: Publish and Deploy main on: - push: - branches: ['main'] - workflow_dispatch: + workflow_run: + workflows: ["Run Tests"] + branches: [main] + types: + - completed env: REGISTRY: ghcr.io @@ -67,15 +69,16 @@ jobs: - name: Build Docker image uses: docker/build-push-action@v5 with: + context: ./ckan push: false + load: true tags: ${{ steps.tag.outputs.last_tag }} labels: ${{ steps.meta.outputs.labels }} - load: true - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ steps.tag.outputs.last_tag }}" + image-ref: "${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.last_tag }}" format: "table" exit-code: "1" ignore-unfixed: true @@ -85,6 +88,7 @@ jobs: - name: Push Docker image uses: docker/build-push-action@v5 with: + context: ./ckan push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f390d5d23..0ec6e717e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,7 +12,6 @@ on: env: REGISTRY: ghcr.io IMAGE_NAME: ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker - DOCKER_METADATA_OUTPUT_TAGS: jobs: ort: From ffd45c336d7c162569d14cc3799b3ae4b8c3626d Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Mar 2024 21:14:02 +0100 Subject: [PATCH 085/284] fix(build): remove duplicated ref of base image name --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4cf6efdb6..4f1717089 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -78,7 +78,7 @@ jobs: - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ env.IMAGE_NAME }}:${{ steps.tag.outputs.last_tag }}" + image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" exit-code: "1" ignore-unfixed: true From fd0339210596a224761e33b540f6685a26e450e1 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Mar 2024 21:22:37 +0100 Subject: [PATCH 086/284] chore: upgrade CKAN to 2.10.4 --- .env.example | 2 +- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 1202bb4a7..d2e38eccb 100644 --- a/.env.example +++ b/.env.example @@ -16,7 +16,7 @@ CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb # CKAN -CKAN_VERSION=2.10.3 +CKAN_VERSION=2.10.4 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN__CORS__ORIGIN_WHITELIST=http://localhost:4200 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 951bf4bfe..5dce8e72c 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.10.3 +FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index f37f886ff..065914cda 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.10.3 +FROM ckan/ckan-dev:2.10.4 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From 826065d81e4ce7bed580e48ae0e587ed71f99e14 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Mar 2024 21:28:40 +0100 Subject: [PATCH 087/284] fix: narrow severity level check to CRITICAL only --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4f1717089..a5d37aa49 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -83,7 +83,7 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL,HIGH" + severity: "CRITICAL" - name: Push Docker image uses: docker/build-push-action@v5 From a3a1d4ed4f3294edafac91ac92c4cf27839fd845 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 18 Mar 2024 22:17:01 +0100 Subject: [PATCH 088/284] fix: fix CKAN storage folder permissions --- ckan/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5dce8e72c..c76d63665 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -60,4 +60,5 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # TODO # 1. Remove this comand once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 -RUN chmod u+rwx "/var/lib/ckan" +RUN mkdir /var/lib/ckan/storage +RUN chmod -R u+rwx "/var/lib/ckan" From a871991a6607bd0d86f9847290982a9edae392d5 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Tue, 19 Mar 2024 11:21:24 +0100 Subject: [PATCH 089/284] fix: point to fairdatapoint extension tag --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c76d63665..61e8cfd10 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 065914cda..0532e48f6 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@user-portal#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 88c11a5b998d8a3964e232ec281f8e39e2c00964 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 19 Mar 2024 11:59:00 +0100 Subject: [PATCH 090/284] Update tage --- .github/workflows/main.yml | 40 ++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f95f41b3b..fad2bdf54 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,8 +7,10 @@ name: Publish and Deploy main on: push: - branches: ['main'] - workflow_dispatch: + branches: -'**' + # push: + # branches: ['main'] + # workflow_dispatch: env: REGISTRY: ghcr.io @@ -16,19 +18,19 @@ env: AZURE_WEBAPP_NAME: ckan-test jobs: - ort: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e - with: - allow-dynamic-versions: "true" - fail-on: "issues" - run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" + # ort: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v4 + # - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + # with: + # allow-dynamic-versions: "true" + # fail-on: "issues" + # run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" build-and-push-image: runs-on: ubuntu-latest - needs: ort + # needs: ort permissions: contents: read packages: write @@ -49,13 +51,13 @@ jobs: with: images: ${{ env.IMAGE_NAME }} tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=sha + type=schedule,priority=400 + type=ref,event=branch, priority=600 + type=ref,event=pr, priority=500 + type=semver,pattern={{version}}, priority=800 + type=semver,pattern={{major}}.{{minor}}, priority=1000 + type=semver,pattern={{major}}, priority=900 + type=sha, priority=700 - name: Extract last tag id: tag From 7003444ff6d645dc503e109d19870b2d9a9a104b Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 19 Mar 2024 12:06:57 +0100 Subject: [PATCH 091/284] fix: prioritize the extracted metadata ags --- .github/workflows/main.yml | 43 +++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e0ae1ec1e..64f82a23b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,12 +6,11 @@ name: Publish and Deploy main on: - push: - branches: -'**' - # push: - # branches: ['main'] - # workflow_dispatch: - + workflow_run: + workflows: ["Run Tests"] + branches: [main] + types: + - completed env: REGISTRY: ghcr.io @@ -19,19 +18,19 @@ env: AZURE_WEBAPP_NAME: ckan-test jobs: - # ort: - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v4 - # - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e - # with: - # allow-dynamic-versions: "true" - # fail-on: "issues" - # run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" + ort: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + with: + allow-dynamic-versions: "true" + fail-on: "issues" + run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" build-and-push-image: runs-on: ubuntu-latest - # needs: ort + needs: ort permissions: contents: read packages: write @@ -53,12 +52,12 @@ jobs: images: ${{ env.IMAGE_NAME }} tags: | type=schedule,priority=400 - type=ref,event=branch, priority=600 - type=ref,event=pr, priority=500 - type=semver,pattern={{version}}, priority=800 - type=semver,pattern={{major}}.{{minor}}, priority=1000 - type=semver,pattern={{major}}, priority=900 - type=sha, priority=700 + type=ref,event=branch,priority=600 + type=ref,event=pr,priority=500 + type=semver,pattern={{version}},priority=700 + type=semver,pattern={{major}}.{{minor}},priority=900 + type=semver,pattern={{major}},priority=800 + type=sha,priority=1000 - name: Extract last tag id: tag From 252ee290d4ad7ec519fe8079937f4b139f5e13e2 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 19 Mar 2024 13:50:06 +0100 Subject: [PATCH 092/284] fix(ci): reorder docker container tag for release.yml --- .github/workflows/release.yml | 45 +++++++++++++++-------------------- ckan/Dockerfile | 2 ++ 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0ec6e717e..5c0d2d70c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,7 +26,7 @@ jobs: fail-on: "issues" run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" - scan-docker-image: + build-and-push-image: runs-on: ubuntu-latest needs: ort permissions: @@ -40,48 +40,41 @@ jobs: uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 with: images: ${{ env.IMAGE_NAME }} + tags: | + type=schedule,priority=400 + type=ref,event=branch,priority=600 + type=ref,event=pr,priority=500 + type=semver,pattern={{version}},priority=700 + type=semver,pattern={{major}}.{{minor}},priority=900 + type=semver,pattern={{major}},priority=800 + type=sha,priority=1000 + + - name: Extract last tag + id: tag + run: | + IFS=',' read -ra TAGS <<< "${{ steps.meta.outputs.tags }}" + LAST_INDEX=$((${#TAGS[@]} - 1)) + echo "last_tag=${TAGS[LAST_INDEX]}" >> $GITHUB_OUTPUT - name: Build Docker image for scanning uses: docker/build-push-action@v5 with: context: ./ckan + push: false load: true - tags: ${{ steps.meta.outputs.tags }} + tags: ${{ steps.tag.outputs.last_tag }} labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner uses: aquasecurity/trivy-action@master with: - image-ref: "${{ env.IMAGE_NAME }}:latest" + image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" exit-code: "1" ignore-unfixed: true vuln-type: "os,library" severity: "CRITICAL" - build-and-push-image: - runs-on: ubuntu-latest - needs: scan-docker-image - permissions: - contents: read - packages: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: ${{ env.IMAGE_NAME }} - - name: Build and push Docker image uses: docker/build-push-action@v5 with: diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 61e8cfd10..cd01e1b94 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -61,4 +61,6 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # 1. Remove this comand once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 RUN mkdir /var/lib/ckan/storage +RUN mkdir /var/lib/ckan/storage/uploads +RUN mkdir /var/lib/ckan/storage/uploads/group RUN chmod -R u+rwx "/var/lib/ckan" From 1bb75966c7c4957feeee632f02229008d326dfd8 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Wed, 20 Mar 2024 08:17:16 +0100 Subject: [PATCH 093/284] feat: update tags vocabulary table --- .../prepopulate_db/common_vocabulary_tags.csv | 1054 ++++++++++++++++- 1 file changed, 1046 insertions(+), 8 deletions(-) diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv b/ckan/prepopulate_db/common_vocabulary_tags.csv index 87e55cf76..ed79cb70c 100644 --- a/ckan/prepopulate_db/common_vocabulary_tags.csv +++ b/ckan/prepopulate_db/common_vocabulary_tags.csv @@ -1,13 +1,1037 @@ term,term_translation,lang_code -http://id.loc.gov/vocabulary/iso639-1/en,English,en -http://id.loc.gov/vocabulary/iso639-1/nl,Dutch,en -http://id.loc.gov/vocabulary/iso639-1/de,German,en -http://id.loc.gov/vocabulary/iso639-1/fr,French,en -http://id.loc.gov/vocabulary/iso639-1/lb,Luxembourgish,en -https://publications.europa.eu/resource/authority/language/ENG,English,en -https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en +https://publications.europa.eu/resource/authority/language/POR,portugais,fr +https://publications.europa.eu/resource/authority/language/POR,portugali keel,et +https://publications.europa.eu/resource/authority/language/POR,португалски,sr +https://publications.europa.eu/resource/authority/language/POR,portugalski,pl +https://publications.europa.eu/resource/authority/language/POR,Portaingéilis,ga +https://publications.europa.eu/resource/authority/language/POR,portugisiska,sv +https://publications.europa.eu/resource/authority/language/POR,португалски,bg +https://publications.europa.eu/resource/authority/language/POR,Portuguese,en +https://publications.europa.eu/resource/authority/language/POR,portugalski,hr +https://publications.europa.eu/resource/authority/language/POR,portugalšćina,hsb +https://publications.europa.eu/resource/authority/language/POR,Portugiż,mt +https://publications.europa.eu/resource/authority/language/POR,португалски,mk +https://publications.europa.eu/resource/authority/language/POR,portugál,hu +https://publications.europa.eu/resource/authority/language/POR,portugali,fi +https://publications.europa.eu/resource/authority/language/POR,portoghese,it +https://publications.europa.eu/resource/authority/language/POR,portugués,es +https://publications.europa.eu/resource/authority/language/POR,portugisisk,da +https://publications.europa.eu/resource/authority/language/POR,portugisisk,no +https://publications.europa.eu/resource/authority/language/POR,portugalų kalba,lt +https://publications.europa.eu/resource/authority/language/POR,português,pt +https://publications.europa.eu/resource/authority/language/POR,Portugiesisch,de +https://publications.europa.eu/resource/authority/language/POR,portugalčina,sk +https://publications.europa.eu/resource/authority/language/POR,portugāļu valoda,lv +https://publications.europa.eu/resource/authority/language/POR,πορτογαλικά,el +https://publications.europa.eu/resource/authority/language/POR,Portugees,nl +https://publications.europa.eu/resource/authority/language/POR,portugheză,ro +https://publications.europa.eu/resource/authority/language/POR,португальский,ru +https://publications.europa.eu/resource/authority/language/POR,португальська мова,uk +https://publications.europa.eu/resource/authority/language/POR,portúgalska,is +https://publications.europa.eu/resource/authority/language/POR,portugalski,sh +https://publications.europa.eu/resource/authority/language/POR,portugalština,cs +https://publications.europa.eu/resource/authority/language/POR,portekizce,tr +https://publications.europa.eu/resource/authority/language/POR,portugalščina,sl +https://www.wikidata.org/wiki/Q57262078,food consumption,en +https://www.wikidata.org/wiki/Q4014799,medical visit,en +http://purl.obolibrary.org/obo/NCIT_C18002,Home,en +https://www.wikidata.org/wiki/Q600236,surgical operation,en +http://purl.obolibrary.org/obo/NCIT_C21007,Disability,en +http://purl.obolibrary.org/obo/NCIT_C15329,Surgical Procedure,en +http://purl.obolibrary.org/obo/NCIT_C25741,Physician,en +http://purl.obolibrary.org/obo/NCIT_C111860,Maternal Mortality,en +https://publications.europa.eu/resource/authority/language/EST,Eastóinis,ga +https://publications.europa.eu/resource/authority/language/EST,Eston,mt +https://publications.europa.eu/resource/authority/language/EST,estónčina,sk +https://publications.europa.eu/resource/authority/language/EST,Estisch,nl +https://publications.europa.eu/resource/authority/language/EST,естонски,sr +https://publications.europa.eu/resource/authority/language/EST,estisk,no +https://publications.europa.eu/resource/authority/language/EST,estonski,sh +https://publications.europa.eu/resource/authority/language/EST,estoński,pl +https://publications.europa.eu/resource/authority/language/EST,estonien,fr +https://publications.europa.eu/resource/authority/language/EST,estonština,cs +https://publications.europa.eu/resource/authority/language/EST,естонська мова,uk +https://publications.europa.eu/resource/authority/language/EST,естонски,mk +https://publications.europa.eu/resource/authority/language/EST,eesti keel,et +https://publications.europa.eu/resource/authority/language/EST,estonca,tr +https://publications.europa.eu/resource/authority/language/EST,естонски,bg +https://publications.europa.eu/resource/authority/language/EST,estonio,es +https://publications.europa.eu/resource/authority/language/EST,viro,fi +https://publications.europa.eu/resource/authority/language/EST,estónio,pt +https://publications.europa.eu/resource/authority/language/EST,Estnisch,de +https://publications.europa.eu/resource/authority/language/EST,eistneska,is +https://publications.europa.eu/resource/authority/language/EST,εσθονικά,el +https://publications.europa.eu/resource/authority/language/EST,észt,hu +https://publications.europa.eu/resource/authority/language/EST,эстонский,ru +https://publications.europa.eu/resource/authority/language/EST,estone,it +https://publications.europa.eu/resource/authority/language/EST,igauņu valoda,lv +https://publications.europa.eu/resource/authority/language/EST,Estonian,en +https://publications.europa.eu/resource/authority/language/EST,estišćina,hsb +https://publications.europa.eu/resource/authority/language/EST,estniska,sv +https://publications.europa.eu/resource/authority/language/EST,estonski,hr +https://publications.europa.eu/resource/authority/language/EST,estonă,ro +https://publications.europa.eu/resource/authority/language/EST,estų kalba,lt +https://publications.europa.eu/resource/authority/language/EST,estisk,da +https://publications.europa.eu/resource/authority/language/EST,estonščina,sl +https://www.wikidata.org/wiki/Q26305989,blood-borne transmission,en +https://publications.europa.eu/resource/authority/language/HYE,armenska,is +https://publications.europa.eu/resource/authority/language/HYE,armenski,hr +https://publications.europa.eu/resource/authority/language/HYE,armeniska,sv +https://publications.europa.eu/resource/authority/language/HYE,armenšćina,hsb +https://publications.europa.eu/resource/authority/language/HYE,Јерменски,sr +https://publications.europa.eu/resource/authority/language/HYE,Armenian,en +https://publications.europa.eu/resource/authority/language/HYE,Armen,mt +https://publications.europa.eu/resource/authority/language/HYE,armeenia keel,et +https://publications.europa.eu/resource/authority/language/HYE,armensk,no +https://publications.europa.eu/resource/authority/language/HYE,ерменски,mk +https://publications.europa.eu/resource/authority/language/HYE,armensk,da +https://publications.europa.eu/resource/authority/language/HYE,armeană,ro +https://publications.europa.eu/resource/authority/language/HYE,арменски,bg +https://publications.europa.eu/resource/authority/language/HYE,Armeens,nl +https://publications.europa.eu/resource/authority/language/HYE,arménština,cs +https://publications.europa.eu/resource/authority/language/HYE,Armenisch,de +https://publications.europa.eu/resource/authority/language/HYE,armēņu valoda,lv +https://publications.europa.eu/resource/authority/language/HYE,armeno,it +https://publications.europa.eu/resource/authority/language/HYE,armenščina,sl +https://publications.europa.eu/resource/authority/language/HYE,армянский,ru +https://publications.europa.eu/resource/authority/language/HYE,armėnų kalba,lt +https://publications.europa.eu/resource/authority/language/HYE,armenio,es +https://publications.europa.eu/resource/authority/language/HYE,ermenice,tr +https://publications.europa.eu/resource/authority/language/HYE,arménčina,sk +https://publications.europa.eu/resource/authority/language/HYE,вірменська мова,uk +https://publications.europa.eu/resource/authority/language/HYE,Airméinis,ga +https://publications.europa.eu/resource/authority/language/HYE,armenia,fi +https://publications.europa.eu/resource/authority/language/HYE,ormiański,pl +https://publications.europa.eu/resource/authority/language/HYE,arménio,pt +https://publications.europa.eu/resource/authority/language/HYE,arménien,fr +https://publications.europa.eu/resource/authority/language/HYE,αρμενικά,el +https://publications.europa.eu/resource/authority/language/HYE,örmény,hu +https://publications.europa.eu/resource/authority/language/HYE,armenski,sh +http://semanticscience.org/resource/SIO_000713,doctor role,en +http://purl.obolibrary.org/obo/OMIT_0010784,Obesity,en +https://www.wikidata.org/wiki/Property:P106,occupation,en +https://www.wikidata.org/wiki/Q949149,sanitation,en +http://purl.obolibrary.org/obo/OMIT_0013403,Sanitation,en +http://purl.obolibrary.org/obo/NCIT_C16452,Communication,en +http://purl.obolibrary.org/obo/GSSO_000498,mental disorder,en +https://www.wikidata.org/wiki/Q747883,physical activity,en +https://publications.europa.eu/resource/authority/language/BOS,bośniacki,pl +https://publications.europa.eu/resource/authority/language/BOS,bosniaco,it +https://publications.europa.eu/resource/authority/language/BOS,bosnik,no +https://publications.europa.eu/resource/authority/language/BOS,bosnia,fi +https://publications.europa.eu/resource/authority/language/BOS,Bosnian,en +https://publications.europa.eu/resource/authority/language/BOS,bosniačtina,sk +https://publications.europa.eu/resource/authority/language/BOS,bosniešu valoda,lv +https://publications.europa.eu/resource/authority/language/BOS,bosnių kalba,lt +https://publications.europa.eu/resource/authority/language/BOS,bosenština,cs +https://publications.europa.eu/resource/authority/language/BOS,bosnien,fr +https://publications.europa.eu/resource/authority/language/BOS,boşnakça,tr +https://publications.europa.eu/resource/authority/language/BOS,Bosnisch,nl +https://publications.europa.eu/resource/authority/language/BOS,βοσνιακά,el +https://publications.europa.eu/resource/authority/language/BOS,bosnisk,da +https://publications.europa.eu/resource/authority/language/BOS,босненски,bg +https://publications.europa.eu/resource/authority/language/BOS,bosníska,is +https://publications.europa.eu/resource/authority/language/BOS,bosnia keel,et +https://publications.europa.eu/resource/authority/language/BOS,bósnio,pt +https://publications.europa.eu/resource/authority/language/BOS,Bosnisch,de +https://publications.europa.eu/resource/authority/language/BOS,bosniska,sv +https://publications.europa.eu/resource/authority/language/BOS,бошњачки,sr +https://publications.europa.eu/resource/authority/language/BOS,Bosnis,ga +https://publications.europa.eu/resource/authority/language/BOS,bosnišćina,hsb +https://publications.europa.eu/resource/authority/language/BOS,bosanščina,sl +https://publications.europa.eu/resource/authority/language/BOS,Bosnjan,mt +https://publications.europa.eu/resource/authority/language/BOS,bosnyák,hu +https://publications.europa.eu/resource/authority/language/BOS,боснийский,ru +https://publications.europa.eu/resource/authority/language/BOS,бошњачки,mk +https://publications.europa.eu/resource/authority/language/BOS,bošnjački,sh +https://publications.europa.eu/resource/authority/language/BOS,боснійська мова,uk +https://publications.europa.eu/resource/authority/language/BOS,bosniacă,ro +https://publications.europa.eu/resource/authority/language/BOS,bosnio,es +https://publications.europa.eu/resource/authority/language/BOS,bošnjački,hr +http://purl.obolibrary.org/obo/OMIT_0008309,Income,en +https://publications.europa.eu/resource/authority/language/CES,tšekki,fi +https://publications.europa.eu/resource/authority/language/CES,tékkneska,is +https://publications.europa.eu/resource/authority/language/CES,чешки,bg +https://publications.europa.eu/resource/authority/language/CES,чешки,sr +https://publications.europa.eu/resource/authority/language/CES,checo,pt +https://publications.europa.eu/resource/authority/language/CES,tsjekkisk,no +https://publications.europa.eu/resource/authority/language/CES,Ċek,mt +https://publications.europa.eu/resource/authority/language/CES,češki,hr +https://publications.europa.eu/resource/authority/language/CES,čěšćina,hsb +https://publications.europa.eu/resource/authority/language/CES,cseh,hu +https://publications.europa.eu/resource/authority/language/CES,Seicis,ga +https://publications.europa.eu/resource/authority/language/CES,tšehhi keel,et +https://publications.europa.eu/resource/authority/language/CES,čekų kalba,lt +https://publications.europa.eu/resource/authority/language/CES,čehu valoda,lv +https://publications.europa.eu/resource/authority/language/CES,чешский,ru +https://publications.europa.eu/resource/authority/language/CES,τσεχικά,el +https://publications.europa.eu/resource/authority/language/CES,češki,sh +https://publications.europa.eu/resource/authority/language/CES,čeština,sk +https://publications.europa.eu/resource/authority/language/CES,Tsjechisch,nl +https://publications.europa.eu/resource/authority/language/CES,чешки,mk +https://publications.europa.eu/resource/authority/language/CES,tjekkisk,da +https://publications.europa.eu/resource/authority/language/CES,çekçe,tr +https://publications.europa.eu/resource/authority/language/CES,ceco,it +https://publications.europa.eu/resource/authority/language/CES,tchèque,fr +https://publications.europa.eu/resource/authority/language/CES,cehă,ro +https://publications.europa.eu/resource/authority/language/CES,czeski,pl +https://publications.europa.eu/resource/authority/language/CES,Tschechisch,de +https://publications.europa.eu/resource/authority/language/CES,checo,es +https://publications.europa.eu/resource/authority/language/CES,чеська мова,uk +https://publications.europa.eu/resource/authority/language/CES,češčina,sl +https://publications.europa.eu/resource/authority/language/CES,čeština,cs +https://publications.europa.eu/resource/authority/language/CES,Czech,en +https://publications.europa.eu/resource/authority/language/CES,tjeckiska,sv +http://purl.obolibrary.org/obo/NCIT_C173558,Contact Tracing,en +http://purl.obolibrary.org/obo/NCIT_C16669,Health Status,en +https://www.wikidata.org/wiki/Q182672,zoonosis,en +https://publications.europa.eu/resource/authority/language/DEU,saksa,fi +https://publications.europa.eu/resource/authority/language/DEU,немецкий,ru +https://publications.europa.eu/resource/authority/language/DEU,Duits,nl +https://publications.europa.eu/resource/authority/language/DEU,nemščina,sl +https://publications.europa.eu/resource/authority/language/DEU,tysk,no +https://publications.europa.eu/resource/authority/language/DEU,német,hu +https://publications.europa.eu/resource/authority/language/DEU,немачки,sr +https://publications.europa.eu/resource/authority/language/DEU,alemán,es +https://publications.europa.eu/resource/authority/language/DEU,němčina,cs +https://publications.europa.eu/resource/authority/language/DEU,tysk,da +https://publications.europa.eu/resource/authority/language/DEU,saksa keel,et +https://publications.europa.eu/resource/authority/language/DEU,Gearmáinis,ga +https://publications.europa.eu/resource/authority/language/DEU,němska,hsb +https://publications.europa.eu/resource/authority/language/DEU,tedesco,it +https://publications.europa.eu/resource/authority/language/DEU,njemački,hr +https://publications.europa.eu/resource/authority/language/DEU,γερμανικά,el +https://publications.europa.eu/resource/authority/language/DEU,nemački,sh +https://publications.europa.eu/resource/authority/language/DEU,німецька мова,uk +https://publications.europa.eu/resource/authority/language/DEU,alemão,pt +https://publications.europa.eu/resource/authority/language/DEU,almanca,tr +https://publications.europa.eu/resource/authority/language/DEU,niemiecki,pl https://publications.europa.eu/resource/authority/language/DEU,German,en +https://publications.europa.eu/resource/authority/language/DEU,þýska,is +https://publications.europa.eu/resource/authority/language/DEU,Ġermaniż,mt +https://publications.europa.eu/resource/authority/language/DEU,vokiečių kalba,lt +https://publications.europa.eu/resource/authority/language/DEU,tyska,sv +https://publications.europa.eu/resource/authority/language/DEU,nemčina,sk +https://publications.europa.eu/resource/authority/language/DEU,немски,bg +https://publications.europa.eu/resource/authority/language/DEU,allemand,fr +https://publications.europa.eu/resource/authority/language/DEU,vācu valoda,lv +https://publications.europa.eu/resource/authority/language/DEU,germană,ro +https://publications.europa.eu/resource/authority/language/DEU,германски,mk +https://publications.europa.eu/resource/authority/language/DEU,Deutsch,de +http://vivoweb.org/ontology/core#Hospital,Hospital,en +http://purl.obolibrary.org/obo/GSSO_007925,pharmaceutical drug,en +https://www.wikidata.org/wiki/Q18123741,infectious disease,en +https://www.wikidata.org/wiki/Q12140,medication,en +http://purl.obolibrary.org/obo/OMIT_0009102,Life Expectancy,en +https://www.wikidata.org/wiki/Q381481,airborne disease,en +http://purl.obolibrary.org/obo/OMIT_0017465,Health Care Costs,en +http://purl.obolibrary.org/obo/OMIT_0009217,Long-Term Care,en +https://www.wikidata.org/wiki/Q30314010,social distancing,en +https://publications.europa.eu/resource/authority/language/LIT,litván,hu +https://publications.europa.eu/resource/authority/language/LIT,litewski,pl +https://publications.europa.eu/resource/authority/language/LIT,lituano,it +https://publications.europa.eu/resource/authority/language/LIT,litauisk,da +https://publications.europa.eu/resource/authority/language/LIT,lietuvių kalba,lt +https://publications.europa.eu/resource/authority/language/LIT,liettua,fi +https://publications.europa.eu/resource/authority/language/LIT,litauisk,no +https://publications.europa.eu/resource/authority/language/LIT,λιθουανικά,el +https://publications.europa.eu/resource/authority/language/LIT,литовски,bg +https://publications.europa.eu/resource/authority/language/LIT,litawšćina,hsb +https://publications.europa.eu/resource/authority/language/LIT,Litouws,nl +https://publications.europa.eu/resource/authority/language/LIT,lietuviešu valoda,lv +https://publications.europa.eu/resource/authority/language/LIT,leedu keel,et +https://publications.europa.eu/resource/authority/language/LIT,lituanien,fr +https://publications.europa.eu/resource/authority/language/LIT,lituaniană,ro +https://publications.europa.eu/resource/authority/language/LIT,litavski,hr +https://publications.europa.eu/resource/authority/language/LIT,Litauisch,de +https://publications.europa.eu/resource/authority/language/LIT,litovčina,sk +https://publications.europa.eu/resource/authority/language/LIT,litvanca,tr +https://publications.europa.eu/resource/authority/language/LIT,litauiska,sv +https://publications.europa.eu/resource/authority/language/LIT,lituano,es +https://publications.europa.eu/resource/authority/language/LIT,litháíska,is +https://publications.europa.eu/resource/authority/language/LIT,lituano,pt +https://publications.europa.eu/resource/authority/language/LIT,литвански,mk +https://publications.europa.eu/resource/authority/language/LIT,литовский,ru +https://publications.europa.eu/resource/authority/language/LIT,литвански,sr +https://publications.europa.eu/resource/authority/language/LIT,Lithuanian,en +https://publications.europa.eu/resource/authority/language/LIT,litovščina,sl +https://publications.europa.eu/resource/authority/language/LIT,Litwan,mt +https://publications.europa.eu/resource/authority/language/LIT,литовська мова,uk +https://publications.europa.eu/resource/authority/language/LIT,Liotuáinis,ga +https://publications.europa.eu/resource/authority/language/LIT,litevština,cs +https://publications.europa.eu/resource/authority/language/LIT,litvanski,sh +https://www.wikidata.org/wiki/Q12206,diabetes,en +https://www.wikidata.org/wiki/Q12078,cancer,en +https://www.wikidata.org/wiki/Q2006636,waterborne disease,en +http://purl.obolibrary.org/obo/NCIT_C16495,Demographics,en +https://www.wikidata.org/wiki/Q58028485,policy compliance,en +http://purl.obolibrary.org/obo/EUPATH_0000359,occupation,en +https://www.wikidata.org/wiki/Q70362525,Hospital Bed Capacity,en +http://purl.obolibrary.org/obo/OMIT_0005898,Employment,en +http://purl.obolibrary.org/obo/OMIT_0004111,"Cholesterol, Dietary",en +https://www.wikidata.org/wiki/Q1339474,maternal death,en +https://www.wikidata.org/wiki/Q15636229,surgical procedure,en +https://www.wikidata.org/wiki/Q95449639,Vaccine-Preventable Diseases,en +http://purl.obolibrary.org/obo/GSSO_008527,leisure activity,en +https://www.wikidata.org/wiki/Q17054975,Health Workforce,en +https://www.wikidata.org/wiki/Q8434,education,en +https://publications.europa.eu/resource/authority/language/ROM,romani,hu +https://publications.europa.eu/resource/authority/language/ROM,romski,sh +https://publications.europa.eu/resource/authority/language/ROM,romani,fi +https://publications.europa.eu/resource/authority/language/ROM,rómčina,sk +https://publications.europa.eu/resource/authority/language/ROM,romština,cs +https://publications.europa.eu/resource/authority/language/ROM,romski,pl +https://publications.europa.eu/resource/authority/language/ROM,Zingaru,mt +https://publications.europa.eu/resource/authority/language/ROM,цыга́нский,ru +https://publications.europa.eu/resource/authority/language/ROM,ромски,mk +https://publications.europa.eu/resource/authority/language/ROM,romų kalba,lt +https://publications.europa.eu/resource/authority/language/ROM,romani,is +https://publications.europa.eu/resource/authority/language/ROM,romaní,es +https://publications.europa.eu/resource/authority/language/ROM,romski,hr +https://publications.europa.eu/resource/authority/language/ROM,ромски,bg +https://publications.europa.eu/resource/authority/language/ROM,romani,tr +https://publications.europa.eu/resource/authority/language/ROM,romščina,sl +https://publications.europa.eu/resource/authority/language/ROM,Romani,de +https://publications.europa.eu/resource/authority/language/ROM,roma keel,et +https://publications.europa.eu/resource/authority/language/ROM,Romani,nl +https://publications.europa.eu/resource/authority/language/ROM,romani,da +https://publications.europa.eu/resource/authority/language/ROM,romani,pt +https://publications.europa.eu/resource/authority/language/ROM,romani,sv +https://publications.europa.eu/resource/authority/language/ROM,циганська мова,uk +https://publications.europa.eu/resource/authority/language/ROM,romani,fr +https://publications.europa.eu/resource/authority/language/ROM,čigānu valoda,lv +https://publications.europa.eu/resource/authority/language/ROM,romaní,it +https://publications.europa.eu/resource/authority/language/ROM,Romani,ga +https://publications.europa.eu/resource/authority/language/ROM,romani,no +https://publications.europa.eu/resource/authority/language/ROM,ромски,sr +https://publications.europa.eu/resource/authority/language/ROM,Romani,en +https://publications.europa.eu/resource/authority/language/ROM,romani,ro +https://publications.europa.eu/resource/authority/language/ROM,ρομανικά,el +https://www.wikidata.org/wiki/Q93815163,Cancer Survival Rates,en +http://purl.obolibrary.org/obo/OMIT_0015761,Work,en +https://publications.europa.eu/resource/authority/language/ENG,engleză,ro +https://publications.europa.eu/resource/authority/language/ENG,angielski,pl +https://publications.europa.eu/resource/authority/language/ENG,Englisch,de +https://publications.europa.eu/resource/authority/language/ENG,inglés,es +https://publications.europa.eu/resource/authority/language/ENG,angličtina,sk +https://publications.europa.eu/resource/authority/language/ENG,английский,ru +https://publications.europa.eu/resource/authority/language/ENG,Engels,nl +https://publications.europa.eu/resource/authority/language/ENG,engleski,hr +https://publications.europa.eu/resource/authority/language/ENG,inglise keel,et +https://publications.europa.eu/resource/authority/language/ENG,angļu valoda,lv +https://publications.europa.eu/resource/authority/language/ENG,engelsk,no +https://publications.europa.eu/resource/authority/language/ENG,jendźelšćina,hsb +https://publications.europa.eu/resource/authority/language/ENG,енглески,sr +https://publications.europa.eu/resource/authority/language/ENG,ıngilizce,tr +https://publications.europa.eu/resource/authority/language/ENG,anglais,fr +https://publications.europa.eu/resource/authority/language/ENG,inglese,it +https://publications.europa.eu/resource/authority/language/ENG,engleski,sh +https://publications.europa.eu/resource/authority/language/ENG,inglês,pt +https://publications.europa.eu/resource/authority/language/ENG,engelsk,da +https://publications.europa.eu/resource/authority/language/ENG,enska,is +https://publications.europa.eu/resource/authority/language/ENG,angol,hu +https://publications.europa.eu/resource/authority/language/ENG,Béarla,ga +https://publications.europa.eu/resource/authority/language/ENG,Ingliż,mt +https://publications.europa.eu/resource/authority/language/ENG,английски,bg +https://publications.europa.eu/resource/authority/language/ENG,anglų kalba,lt +https://publications.europa.eu/resource/authority/language/ENG,angličtina,cs +https://publications.europa.eu/resource/authority/language/ENG,αγγλικά,el +https://publications.europa.eu/resource/authority/language/ENG,engelska,sv +https://publications.europa.eu/resource/authority/language/ENG,англійська мова,uk +https://publications.europa.eu/resource/authority/language/ENG,angleščina,sl +https://publications.europa.eu/resource/authority/language/ENG,англиски,mk +https://publications.europa.eu/resource/authority/language/ENG,englanti,fi +https://publications.europa.eu/resource/authority/language/ENG,English,en +https://www.wikidata.org/wiki/Q622527,self-injury,en +https://www.wikidata.org/wiki/Q2715623,social network,en +https://publications.europa.eu/resource/authority/language/RUS,Russisch,de +https://publications.europa.eu/resource/authority/language/RUS,rusă,ro +https://publications.europa.eu/resource/authority/language/RUS,russo,pt +https://publications.europa.eu/resource/authority/language/RUS,vene keel,et +https://publications.europa.eu/resource/authority/language/RUS,rosyjski,pl +https://publications.europa.eu/resource/authority/language/RUS,Russu,mt +https://publications.europa.eu/resource/authority/language/RUS,ruština,sk +https://publications.europa.eu/resource/authority/language/RUS,російська мова,uk +https://publications.europa.eu/resource/authority/language/RUS,ruso,es +https://publications.europa.eu/resource/authority/language/RUS,ryska,sv +https://publications.europa.eu/resource/authority/language/RUS,russisk,no +https://publications.europa.eu/resource/authority/language/RUS,руски,bg +https://publications.europa.eu/resource/authority/language/RUS,Rúisis,ga +https://publications.europa.eu/resource/authority/language/RUS,russe,fr +https://publications.europa.eu/resource/authority/language/RUS,russo,it +https://publications.europa.eu/resource/authority/language/RUS,ruski,sh +https://publications.europa.eu/resource/authority/language/RUS,russisk,da +https://publications.europa.eu/resource/authority/language/RUS,Russisch,nl +https://publications.europa.eu/resource/authority/language/RUS,krievu valoda,lv +https://publications.europa.eu/resource/authority/language/RUS,rusça,tr +https://publications.europa.eu/resource/authority/language/RUS,pусский,ru +https://publications.europa.eu/resource/authority/language/RUS,ruština,cs +https://publications.europa.eu/resource/authority/language/RUS,ruski,hr +https://publications.europa.eu/resource/authority/language/RUS,Russian,en +https://publications.europa.eu/resource/authority/language/RUS,ρωσικά,el +https://publications.europa.eu/resource/authority/language/RUS,руски,mk +https://publications.europa.eu/resource/authority/language/RUS,руски,sr +https://publications.europa.eu/resource/authority/language/RUS,ruščina,sl +https://publications.europa.eu/resource/authority/language/RUS,venäjä,fi +https://publications.europa.eu/resource/authority/language/RUS,orosz,hu +https://publications.europa.eu/resource/authority/language/RUS,rusų kalba,lt +https://publications.europa.eu/resource/authority/language/RUS,rússneska,is +https://publications.europa.eu/resource/authority/language/RUS,rušćina,hsb +https://www.wikidata.org/wiki/Q1519843,health technology,en +http://purl.obolibrary.org/obo/NCIT_C17009,Poverty,en +http://purl.obolibrary.org/obo/SCDO_0000948,Quality of Health Care,en +http://purl.obolibrary.org/obo/OMIT_0010070,Mortality,en +http://purl.obolibrary.org/obo/NCIT_C41150,Income,en +http://purl.obolibrary.org/obo/NCIT_C25172,Employed,en +http://purl.obolibrary.org/obo/NCIT_C16696,Hospital,en +https://www.wikidata.org/wiki/Q53464336,Airborne Diseases,en +https://www.wikidata.org/wiki/Q7743,home,en +http://purl.obolibrary.org/obo/OMIT_0013643,Sexually Transmitted Diseases,en +https://www.wikidata.org/wiki/Q1762591,periodic health examination,en +https://www.wikidata.org/wiki/Q22907655,patient experience,en +http://purl.obolibrary.org/obo/MAXO_0000004,surgical procedure,en +http://purl.obolibrary.org/obo/NCIT_C157935,Non-Communicable Disorder,en +http://purl.obolibrary.org/obo/OMIT_0010062,Morbidity,en +https://publications.europa.eu/resource/authority/language/NNO,norvegiană nynorsk,ro +https://publications.europa.eu/resource/authority/language/NNO,neonorueguês,pt +https://publications.europa.eu/resource/authority/language/NNO,Norwegian Nynorsk,en +https://publications.europa.eu/resource/authority/language/NNO,νορβηγική νίνορσκ,el +https://publications.europa.eu/resource/authority/language/NNO,Nynorsk Norveġiż,mt +https://publications.europa.eu/resource/authority/language/NNO,norvég nynorsk,hu +https://publications.europa.eu/resource/authority/language/NNO,norština (nynorsk),cs +https://publications.europa.eu/resource/authority/language/NNO,norweski nynorsk,pl +https://publications.europa.eu/resource/authority/language/NNO,norska (nynorska),sv +https://publications.europa.eu/resource/authority/language/NNO,norvegese nynorsk,it +https://publications.europa.eu/resource/authority/language/NNO,jaunnorvēģu valoda,lv +https://publications.europa.eu/resource/authority/language/NNO,novonorveški,hr +https://publications.europa.eu/resource/authority/language/NNO,nynorsk,es +https://publications.europa.eu/resource/authority/language/NNO,Nynorsk,de +https://publications.europa.eu/resource/authority/language/NNO,nórčina (nynorsk),sk +https://publications.europa.eu/resource/authority/language/NNO,nynorsk,da +https://publications.europa.eu/resource/authority/language/NNO,норвежки съвременен,bg +https://publications.europa.eu/resource/authority/language/NNO,Nua-Ioruais,ga +https://publications.europa.eu/resource/authority/language/NNO,uusnorja,fi +https://publications.europa.eu/resource/authority/language/NNO,norvegų niunoškas,lt +https://publications.europa.eu/resource/authority/language/NNO,Norwegian Nynorsk,nl +https://publications.europa.eu/resource/authority/language/NNO,norvégien nynorsk,fr +https://publications.europa.eu/resource/authority/language/NNO,novonorveščina,sl +https://publications.europa.eu/resource/authority/language/NNO,uusnorra keel,et +https://publications.europa.eu/resource/authority/language/NNO,норвезька нюнорська мова,uk +https://www.wikidata.org/wiki/Q96482267,vaccination coverage,en +https://www.wikidata.org/wiki/Q6784043,mass gathering,en +https://www.wikidata.org/wiki/Q193078,injury,en +https://www.wikidata.org/wiki/Q98299735,noncommunicable diseases,en +https://www.wikidata.org/wiki/Q506319,generic drug,en +https://www.wikidata.org/wiki/Q6672123,long-term care,en +http://purl.obolibrary.org/obo/NCIT_C17953,Education Level,en +http://purl.obolibrary.org/obo/SCDO_0001088,Social Support,en +http://purl.obolibrary.org/obo/NCIT_C90384,Food Consumption,en +https://www.wikidata.org/wiki/Q186360,nurse,en +https://www.wikidata.org/wiki/Q171558,accident,en +https://www.wikidata.org/wiki/Q66982216,health status,en +http://purl.obolibrary.org/obo/OBIB_0000716,surgical procedure,en +https://www.wikidata.org/wiki/Q5031455,Cancer survival rates,en +http://purl.obolibrary.org/obo/MFOMD_0000004,mental disorder,en +http://purl.obolibrary.org/obo/OMIT_0017009,Drug Costs,en +https://www.wikidata.org/wiki/Q1814351,public health intervention,en +http://purl.obolibrary.org/obo/OMIT_0002889,Behavior,en +https://www.wikidata.org/wiki/Q28885102,pharmaceutical product,en +https://publications.europa.eu/resource/authority/language/NLD,nižozemšćina,hsb +https://publications.europa.eu/resource/authority/language/NLD,hollenska,is +https://publications.europa.eu/resource/authority/language/NLD,nyderlandų kalba,lt +https://publications.europa.eu/resource/authority/language/NLD,Olandiż,mt +https://publications.europa.eu/resource/authority/language/NLD,Ollainnis,ga +https://publications.europa.eu/resource/authority/language/NLD,niderlandzki,pl +https://publications.europa.eu/resource/authority/language/NLD,holandski,sh +https://publications.europa.eu/resource/authority/language/NLD,hollandaca,tr +https://publications.europa.eu/resource/authority/language/NLD,nederlandsk,da +https://publications.europa.eu/resource/authority/language/NLD,холандски,mk +https://publications.europa.eu/resource/authority/language/NLD,Dutch,en +https://publications.europa.eu/resource/authority/language/NLD,nederländska,sv +https://publications.europa.eu/resource/authority/language/NLD,neerlandês,pt +https://publications.europa.eu/resource/authority/language/NLD,néerlandais,fr +https://publications.europa.eu/resource/authority/language/NLD,holandiešu valoda,lv +https://publications.europa.eu/resource/authority/language/NLD,nizozemština,cs +https://publications.europa.eu/resource/authority/language/NLD,holland,hu +https://publications.europa.eu/resource/authority/language/NLD,neerlandeză,ro +https://publications.europa.eu/resource/authority/language/NLD,холандски,sr +https://publications.europa.eu/resource/authority/language/NLD,nizozemski,hr +https://publications.europa.eu/resource/authority/language/NLD,нидерландски,bg +https://publications.europa.eu/resource/authority/language/NLD,nederlandsk,no +https://publications.europa.eu/resource/authority/language/NLD,ολλανδικά,el +https://publications.europa.eu/resource/authority/language/NLD,нідерландська мова,uk +https://publications.europa.eu/resource/authority/language/NLD,holandčina,sk +https://publications.europa.eu/resource/authority/language/NLD,nizozemščina,sl +https://publications.europa.eu/resource/authority/language/NLD,Nederlands,nl +https://publications.europa.eu/resource/authority/language/NLD,neerlandés,es +https://publications.europa.eu/resource/authority/language/NLD,Niederländisch,de +https://publications.europa.eu/resource/authority/language/NLD,hollandi keel,et +https://publications.europa.eu/resource/authority/language/NLD,нидерландский,ru +https://publications.europa.eu/resource/authority/language/NLD,neerlandese,it +https://publications.europa.eu/resource/authority/language/NLD,hollanti,fi +http://purl.obolibrary.org/obo/SCDO_0000493,Health Service Utilization,en +https://www.wikidata.org/wiki/Q389735,cardiovascular disease,en +https://www.wikidata.org/wiki/Q105252400,vaccine acceptance,en +http://purl.obolibrary.org/obo/SCDO_0000414,Education,en +https://www.wikidata.org/wiki/Q11000047,health system,en +http://purl.obolibrary.org/obo/NCIT_C16877,Morbidity,en +http://purl.obolibrary.org/obo/OMIT_0027917,Patient Safety,en +http://publications.europa.eu/resource/authority/data-theme/HEAL,Υγεία,el +http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdrowie,pl +http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravje,sl +http://publications.europa.eu/resource/authority/data-theme/HEAL,Salute,it +http://publications.europa.eu/resource/authority/data-theme/HEAL,Saúde,pt +http://publications.europa.eu/resource/authority/data-theme/HEAL,Santé,fr +http://publications.europa.eu/resource/authority/data-theme/HEAL,Terveys,fi +http://publications.europa.eu/resource/authority/data-theme/HEAL,Sveikata,lt +http://publications.europa.eu/resource/authority/data-theme/HEAL,Здраве,bg +http://publications.europa.eu/resource/authority/data-theme/HEAL,Sláinte,ga +http://publications.europa.eu/resource/authority/data-theme/HEAL,Hälsa,sv +http://publications.europa.eu/resource/authority/data-theme/HEAL,Salud,es +http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdraví,cs +http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravotníctvo,sk +http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,nn +http://publications.europa.eu/resource/authority/data-theme/HEAL,Sundhed,da +http://publications.europa.eu/resource/authority/data-theme/HEAL,Veselība,lv +http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,nb +http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravlje,hr +http://publications.europa.eu/resource/authority/data-theme/HEAL,Gesundheit,de +http://publications.europa.eu/resource/authority/data-theme/HEAL,Sănătate,ro +http://publications.europa.eu/resource/authority/data-theme/HEAL,Tervis,et +http://publications.europa.eu/resource/authority/data-theme/HEAL,Saħħa,mt +http://publications.europa.eu/resource/authority/data-theme/HEAL,Egészségügy,hu +http://publications.europa.eu/resource/authority/data-theme/HEAL,Gezondheid,nl +http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,no +http://publications.europa.eu/resource/authority/data-theme/HEAL,Health,en +https://www.wikidata.org/wiki/Q67171878,tobacco use,en +https://www.wikidata.org/wiki/Q59283414,health care costs,en +https://www.wikidata.org/wiki/Q13579947,misinformation,en +http://purl.obolibrary.org/obo/OMIT_0001080,"Accidents, Traffic",en +http://purl.obolibrary.org/obo/OMRSE_00000013,physician role,en +http://purl.obolibrary.org/obo/NCIT_C18059,Tobacco Use,en +http://purl.obolibrary.org/obo/NCIT_C16729,Infant Mortality,en +http://purl.obolibrary.org/obo/NCIT_C20821,Nurse,en +https://www.wikidata.org/wiki/Q12174,obesity,en +https://publications.europa.eu/resource/authority/language/SRP,сръбски,bg +https://publications.europa.eu/resource/authority/language/SRP,Serbisch,de +https://publications.europa.eu/resource/authority/language/SRP,serbia,fi +https://publications.europa.eu/resource/authority/language/SRP,serbo,it +https://publications.europa.eu/resource/authority/language/SRP,Servisch,nl +https://publications.europa.eu/resource/authority/language/SRP,serbu valoda,lv +https://publications.europa.eu/resource/authority/language/SRP,Serbian,en +https://publications.europa.eu/resource/authority/language/SRP,Serb,mt +https://publications.europa.eu/resource/authority/language/SRP,srpski,sh +https://publications.europa.eu/resource/authority/language/SRP,srbština,cs +https://publications.europa.eu/resource/authority/language/SRP,srbčina,sk +https://publications.europa.eu/resource/authority/language/SRP,serbų kalba,lt +https://publications.europa.eu/resource/authority/language/SRP,сербский,ru +https://publications.europa.eu/resource/authority/language/SRP,sérvio,pt +https://publications.europa.eu/resource/authority/language/SRP,serbski,pl +https://publications.europa.eu/resource/authority/language/SRP,sırpça,tr +https://publications.europa.eu/resource/authority/language/SRP,сербська мова,uk +https://publications.europa.eu/resource/authority/language/SRP,srbščina,sl +https://publications.europa.eu/resource/authority/language/SRP,serbneska,is +https://publications.europa.eu/resource/authority/language/SRP,српски,mk +https://publications.europa.eu/resource/authority/language/SRP,serbiska,sv +https://publications.europa.eu/resource/authority/language/SRP,serbio,es +https://publications.europa.eu/resource/authority/language/SRP,Seirbis,ga +https://publications.europa.eu/resource/authority/language/SRP,sârbă,ro +https://publications.europa.eu/resource/authority/language/SRP,srpski,hr +https://publications.europa.eu/resource/authority/language/SRP,szerb,hu +https://publications.europa.eu/resource/authority/language/SRP,serbisk,da +https://publications.europa.eu/resource/authority/language/SRP,serbisk,no +https://publications.europa.eu/resource/authority/language/SRP,serbe,fr +https://publications.europa.eu/resource/authority/language/SRP,serbišćina,hsb +https://publications.europa.eu/resource/authority/language/SRP,serbia keel,et +https://publications.europa.eu/resource/authority/language/SRP,σερβικά,el +https://publications.europa.eu/resource/authority/language/SRP,српски,sr +http://purl.obolibrary.org/obo/OMIT_0007885,Hospital Bed Capacity,en +http://purl.obolibrary.org/obo/OPMI_0000482,medical visit,en +http://purl.obolibrary.org/obo/APOLLO_SV_00000550,contact tracing,en +http://purl.obolibrary.org/obo/NCIT_C128353,Airborne Transmission,en +https://www.wikidata.org/wiki/Q142259,hospital bed,en +https://publications.europa.eu/resource/authority/language/MLT,maltesiska,sv +https://publications.europa.eu/resource/authority/language/MLT,maltiečių kalba,lt +https://publications.europa.eu/resource/authority/language/MLT,Maltese,en +https://publications.europa.eu/resource/authority/language/MLT,maltais,fr +https://publications.europa.eu/resource/authority/language/MLT,máltai,hu +https://publications.europa.eu/resource/authority/language/MLT,malteză,ro +https://publications.europa.eu/resource/authority/language/MLT,Malti,mt +https://publications.europa.eu/resource/authority/language/MLT,maltés,es +https://publications.europa.eu/resource/authority/language/MLT,maltčina,sk +https://publications.europa.eu/resource/authority/language/MLT,малтешки,sr +https://publications.europa.eu/resource/authority/language/MLT,malteški,sh +https://publications.europa.eu/resource/authority/language/MLT,maltiešu valoda,lv +https://publications.europa.eu/resource/authority/language/MLT,мальтийский,ru +https://publications.europa.eu/resource/authority/language/MLT,malta,fi +https://publications.europa.eu/resource/authority/language/MLT,малтешки,mk +https://publications.europa.eu/resource/authority/language/MLT,maltaca,tr +https://publications.europa.eu/resource/authority/language/MLT,malteščina,sl +https://publications.europa.eu/resource/authority/language/MLT,maltašćina,hsb +https://publications.europa.eu/resource/authority/language/MLT,maltština,cs +https://publications.europa.eu/resource/authority/language/MLT,maltese,it +https://publications.europa.eu/resource/authority/language/MLT,maltesisk,no +https://publications.europa.eu/resource/authority/language/MLT,malta keel,et +https://publications.europa.eu/resource/authority/language/MLT,малтийски,bg +https://publications.europa.eu/resource/authority/language/MLT,maltês,pt +https://publications.europa.eu/resource/authority/language/MLT,maltneska,is +https://publications.europa.eu/resource/authority/language/MLT,μαλτέζικα,el +https://publications.europa.eu/resource/authority/language/MLT,malteški,hr +https://publications.europa.eu/resource/authority/language/MLT,maltesisk,da +https://publications.europa.eu/resource/authority/language/MLT,maltański,pl +https://publications.europa.eu/resource/authority/language/MLT,Maltees,nl +https://publications.europa.eu/resource/authority/language/MLT,мальтійська мова,uk +https://publications.europa.eu/resource/authority/language/MLT,Máltais,ga +https://publications.europa.eu/resource/authority/language/MLT,Maltesisch,de +http://purl.obolibrary.org/obo/NCIT_C15406,Cancer Screening,en +https://publications.europa.eu/resource/authority/language/SWE,шведски,bg +https://publications.europa.eu/resource/authority/language/SWE,Schwedisch,de +https://publications.europa.eu/resource/authority/language/SWE,шведски,sr +https://publications.europa.eu/resource/authority/language/SWE,rootsi keel,et +https://publications.europa.eu/resource/authority/language/SWE,svenska,sv +https://publications.europa.eu/resource/authority/language/SWE,sænska,is +https://publications.europa.eu/resource/authority/language/SWE,шведский,ru +https://publications.europa.eu/resource/authority/language/SWE,suédois,fr +https://publications.europa.eu/resource/authority/language/SWE,ruotsi,fi +https://publications.europa.eu/resource/authority/language/SWE,Swedish,en +https://publications.europa.eu/resource/authority/language/SWE,svedese,it +https://publications.europa.eu/resource/authority/language/SWE,ısveççe,tr +https://publications.europa.eu/resource/authority/language/SWE,svensk,da +https://publications.europa.eu/resource/authority/language/SWE,sueco,pt +https://publications.europa.eu/resource/authority/language/SWE,suedeză,ro +https://publications.europa.eu/resource/authority/language/SWE,Sualainnis,ga +https://publications.europa.eu/resource/authority/language/SWE,шведська мова,uk +https://publications.europa.eu/resource/authority/language/SWE,švedščina,sl +https://publications.europa.eu/resource/authority/language/SWE,szwedzki,pl +https://publications.europa.eu/resource/authority/language/SWE,svéd,hu +https://publications.europa.eu/resource/authority/language/SWE,švedų kalba,lt +https://publications.europa.eu/resource/authority/language/SWE,шведски,mk +https://publications.europa.eu/resource/authority/language/SWE,Zweeds,nl +https://publications.europa.eu/resource/authority/language/SWE,švedski,hr +https://publications.europa.eu/resource/authority/language/SWE,šwedšćina,hsb +https://publications.europa.eu/resource/authority/language/SWE,švedski,sh +https://publications.europa.eu/resource/authority/language/SWE,švédčina,sk +https://publications.europa.eu/resource/authority/language/SWE,Svediż,mt +https://publications.europa.eu/resource/authority/language/SWE,švédština,cs +https://publications.europa.eu/resource/authority/language/SWE,zviedru valoda,lv +https://publications.europa.eu/resource/authority/language/SWE,σουηδικά,el +https://publications.europa.eu/resource/authority/language/SWE,sueco,es +https://publications.europa.eu/resource/authority/language/SWE,svensk,no +http://purl.obolibrary.org/obo/OMIT_0004449,Communicable Diseases,en +https://www.wikidata.org/wiki/Q84263196,COVID-19,en +http://purl.obolibrary.org/obo/NCIT_C16205,Healthcare Activity,en +http://purl.obolibrary.org/obo/OMIT_0016881,Contact Tracing,en +https://www.wikidata.org/wiki/Q3706138,determinants of health,en +http://purl.obolibrary.org/obo/OBI_1110053,cancer,en +https://www.wikidata.org/wiki/Q110207349,psychoactive drug use,en +https://www.wikidata.org/wiki/Q42138532,genetic characteristic,en +http://purl.obolibrary.org/obo/NCIT_C2985,Diabetes Mellitus,en +https://www.wikidata.org/wiki/Q16917,hospital,en +http://purl.obolibrary.org/obo/NCIT_C173747,Protective Face Mask,en +https://publications.europa.eu/resource/authority/language/SLV,словенски,bg +https://publications.europa.eu/resource/authority/language/SLV,slovēņu valoda,lv +https://publications.europa.eu/resource/authority/language/SLV,slovensk,da +https://publications.europa.eu/resource/authority/language/SLV,slóvenska,is +https://publications.europa.eu/resource/authority/language/SLV,esloveno,pt +https://publications.europa.eu/resource/authority/language/SLV,Sloven,mt +https://publications.europa.eu/resource/authority/language/SLV,Slóivéinis,ga +https://publications.europa.eu/resource/authority/language/SLV,словенська мова,uk +https://publications.europa.eu/resource/authority/language/SLV,sloveno,it +https://publications.europa.eu/resource/authority/language/SLV,slovensk,no +https://publications.europa.eu/resource/authority/language/SLV,slovence,tr +https://publications.europa.eu/resource/authority/language/SLV,Sloveens,nl +https://publications.europa.eu/resource/authority/language/SLV,slovenski,sh +https://publications.europa.eu/resource/authority/language/SLV,sloveenia keel,et +https://publications.europa.eu/resource/authority/language/SLV,slovėnų kalba,lt +https://publications.europa.eu/resource/authority/language/SLV,słoweński,pl +https://publications.europa.eu/resource/authority/language/SLV,словеначки,sr +https://publications.europa.eu/resource/authority/language/SLV,σλοβενικά,el +https://publications.europa.eu/resource/authority/language/SLV,slovenă,ro +https://publications.europa.eu/resource/authority/language/SLV,Slowenisch,de +https://publications.europa.eu/resource/authority/language/SLV,słowjenšćina,hsb +https://publications.europa.eu/resource/authority/language/SLV,slovenski,hr +https://publications.europa.eu/resource/authority/language/SLV,slovinčina,sk +https://publications.europa.eu/resource/authority/language/SLV,словенечки,mk +https://publications.europa.eu/resource/authority/language/SLV,Slovenian,en +https://publications.europa.eu/resource/authority/language/SLV,esloveno,es +https://publications.europa.eu/resource/authority/language/SLV,slovenska,sv +https://publications.europa.eu/resource/authority/language/SLV,slovinština,cs +https://publications.europa.eu/resource/authority/language/SLV,словенский,ru +https://publications.europa.eu/resource/authority/language/SLV,szlovén,hu +https://publications.europa.eu/resource/authority/language/SLV,slovène,fr +https://publications.europa.eu/resource/authority/language/SLV,slovenščina,sl +https://publications.europa.eu/resource/authority/language/SLV,sloveeni,fi +https://www.wikidata.org/wiki/Q1128437,contact tracing,en +https://www.wikidata.org/wiki/Q3044843,cancer screening,en +https://publications.europa.eu/resource/authority/language/POL,Polainnis,ga +https://publications.europa.eu/resource/authority/language/POL,полски,mk +https://publications.europa.eu/resource/authority/language/POL,polacco,it +https://publications.europa.eu/resource/authority/language/POL,Pools,nl +https://publications.europa.eu/resource/authority/language/POL,polaco,es +https://publications.europa.eu/resource/authority/language/POL,Polnisch,de +https://publications.europa.eu/resource/authority/language/POL,пољски,sr +https://publications.europa.eu/resource/authority/language/POL,πολωνικά,el +https://publications.europa.eu/resource/authority/language/POL,pólšćina,hsb +https://publications.europa.eu/resource/authority/language/POL,polsk,da +https://publications.europa.eu/resource/authority/language/POL,polonais,fr +https://publications.europa.eu/resource/authority/language/POL,poljščina,sl +https://publications.europa.eu/resource/authority/language/POL,lenkų kalba,lt +https://publications.europa.eu/resource/authority/language/POL,polski,pl +https://publications.europa.eu/resource/authority/language/POL,poļu valoda,lv +https://publications.europa.eu/resource/authority/language/POL,poola keel,et +https://publications.europa.eu/resource/authority/language/POL,pólska,is +https://publications.europa.eu/resource/authority/language/POL,polština,cs +https://publications.europa.eu/resource/authority/language/POL,польська мова,uk +https://publications.europa.eu/resource/authority/language/POL,poljski,sh +https://publications.europa.eu/resource/authority/language/POL,puola,fi +https://publications.europa.eu/resource/authority/language/POL,polaco,pt +https://publications.europa.eu/resource/authority/language/POL,polsk,no +https://publications.europa.eu/resource/authority/language/POL,полски,bg +https://publications.europa.eu/resource/authority/language/POL,polonă,ro +https://publications.europa.eu/resource/authority/language/POL,lengyel,hu +https://publications.europa.eu/resource/authority/language/POL,польский,ru +https://publications.europa.eu/resource/authority/language/POL,poľština,sk +https://publications.europa.eu/resource/authority/language/POL,lehçe,tr +https://publications.europa.eu/resource/authority/language/POL,poljski,hr +https://publications.europa.eu/resource/authority/language/POL,polska,sv +https://publications.europa.eu/resource/authority/language/POL,Pollakk,mt +https://publications.europa.eu/resource/authority/language/POL,Polish,en +https://www.wikidata.org/wiki/Q39631,physician,en +https://www.wikidata.org/wiki/Q82642,blood pressure,en +http://purl.obolibrary.org/obo/OBI_0000844,obsolete hospital,en +https://www.wikidata.org/wiki/Q2647488,alcohol consumption,en +http://purl.obolibrary.org/obo/IDOMAL_0000023,zoonotic,en +https://www.wikidata.org/wiki/Q4927522,blood-borne disease,en +https://publications.europa.eu/resource/authority/language/HUN,maďarčina,sk +https://publications.europa.eu/resource/authority/language/HUN,ουγγρικά,el +https://publications.europa.eu/resource/authority/language/HUN,ungāru valoda,lv +https://publications.europa.eu/resource/authority/language/HUN,Hungarian,en +https://publications.europa.eu/resource/authority/language/HUN,Ungarisch,de +https://publications.europa.eu/resource/authority/language/HUN,ungari keel,et +https://publications.europa.eu/resource/authority/language/HUN,ungherese,it +https://publications.europa.eu/resource/authority/language/HUN,Ungeriż,mt +https://publications.europa.eu/resource/authority/language/HUN,maďarština,cs +https://publications.europa.eu/resource/authority/language/HUN,ungverska,is +https://publications.europa.eu/resource/authority/language/HUN,унгарски,bg +https://publications.europa.eu/resource/authority/language/HUN,унгарски,mk +https://publications.europa.eu/resource/authority/language/HUN,węgierski,pl +https://publications.europa.eu/resource/authority/language/HUN,Ungáiris,ga +https://publications.europa.eu/resource/authority/language/HUN,mađarski,sh +https://publications.europa.eu/resource/authority/language/HUN,vengrų kalba,lt +https://publications.europa.eu/resource/authority/language/HUN,macarca,tr +https://publications.europa.eu/resource/authority/language/HUN,Hongaars,nl +https://publications.europa.eu/resource/authority/language/HUN,hongrois,fr +https://publications.europa.eu/resource/authority/language/HUN,madźaršćina,hsb +https://publications.europa.eu/resource/authority/language/HUN,unkari,fi +https://publications.europa.eu/resource/authority/language/HUN,ungarsk,no +https://publications.europa.eu/resource/authority/language/HUN,húngaro,es +https://publications.europa.eu/resource/authority/language/HUN,magyar,hu +https://publications.europa.eu/resource/authority/language/HUN,ungarsk,da +https://publications.europa.eu/resource/authority/language/HUN,mađarski,hr +https://publications.europa.eu/resource/authority/language/HUN,угорська мова,uk +https://publications.europa.eu/resource/authority/language/HUN,húngaro,pt +https://publications.europa.eu/resource/authority/language/HUN,мађарски,sr +https://publications.europa.eu/resource/authority/language/HUN,maghiară,ro +https://publications.europa.eu/resource/authority/language/HUN,венгерский,ru +https://publications.europa.eu/resource/authority/language/HUN,ungerska,sv +https://publications.europa.eu/resource/authority/language/HUN,madžarščina,sl +http://purl.obolibrary.org/obo/OMIT_0012168,Poverty,en +http://purl.obolibrary.org/obo/OMIT_0008353,Infant Mortality,en +http://purl.obolibrary.org/obo/MFOMD_0000001,mental disease,en +https://www.wikidata.org/wiki/Q12135,mental disorder,en +http://purl.obolibrary.org/obo/VO_0000809,vaccination coverage,en +http://purl.obolibrary.org/obo/OMIT_0003154,Blood Pressure,en +http://purl.obolibrary.org/obo/OMIT_0024293,Overweight,en +http://semanticscience.org/resource/SIO_001022,diagnostic test,en +https://publications.europa.eu/resource/authority/language/HRV,croată,ro +https://publications.europa.eu/resource/authority/language/HRV,Kroatisch,de +https://publications.europa.eu/resource/authority/language/HRV,horvaadi keel,et +https://publications.europa.eu/resource/authority/language/HRV,κροατικά,el +https://publications.europa.eu/resource/authority/language/HRV,хорватська мова,uk +https://publications.europa.eu/resource/authority/language/HRV,хрватски,sr +https://publications.europa.eu/resource/authority/language/HRV,hırvatça,tr +https://publications.europa.eu/resource/authority/language/HRV,kroatisk,no +https://publications.europa.eu/resource/authority/language/HRV,Kroatisch,nl +https://publications.europa.eu/resource/authority/language/HRV,croata,es +https://publications.europa.eu/resource/authority/language/HRV,Cróitis,ga +https://publications.europa.eu/resource/authority/language/HRV,chorwatšćina,hsb +https://publications.europa.eu/resource/authority/language/HRV,hrvaščina,sl +https://publications.europa.eu/resource/authority/language/HRV,kroatisk,da +https://publications.europa.eu/resource/authority/language/HRV,króatíska,is +https://publications.europa.eu/resource/authority/language/HRV,croate,fr +https://publications.europa.eu/resource/authority/language/HRV,chorvátčina,sk +https://publications.europa.eu/resource/authority/language/HRV,kroatiska,sv +https://publications.europa.eu/resource/authority/language/HRV,Kroat,mt +https://publications.europa.eu/resource/authority/language/HRV,kroatų kalba,lt +https://publications.europa.eu/resource/authority/language/HRV,хорватский,ru +https://publications.europa.eu/resource/authority/language/HRV,croato,it +https://publications.europa.eu/resource/authority/language/HRV,хърватски,bg +https://publications.europa.eu/resource/authority/language/HRV,kroatia,fi +https://publications.europa.eu/resource/authority/language/HRV,horvātu valoda,lv +https://publications.europa.eu/resource/authority/language/HRV,croata,pt +https://publications.europa.eu/resource/authority/language/HRV,chorwacki,pl +https://publications.europa.eu/resource/authority/language/HRV,horvát,hu +https://publications.europa.eu/resource/authority/language/HRV,хрватски,mk +https://publications.europa.eu/resource/authority/language/HRV,hrvatski,sh +https://publications.europa.eu/resource/authority/language/HRV,chorvatština,cs +https://publications.europa.eu/resource/authority/language/HRV,hrvatski,hr +https://publications.europa.eu/resource/authority/language/HRV,Croatian,en +http://purl.obolibrary.org/obo/GSSO_009380,health care quality,en +https://www.wikidata.org/wiki/Q94298961,Medical Appointment,en +https://www.wikidata.org/wiki/Q3137154,non-communicable disease,en +http://purl.obolibrary.org/obo/SCDO_0001090,Socioeconomic Factors,en +http://purl.obolibrary.org/obo/IDO_0000436,infectious disease,en +https://www.wikidata.org/wiki/Q43656,cholesterol,en +http://purl.obolibrary.org/obo/OMIT_0022422,Maternal-Fetal Relations,en +http://purl.obolibrary.org/obo/OMIT_0013818,Social Environment,en +https://www.wikidata.org/wiki/Q3286546,respiratory disease,en +https://publications.europa.eu/resource/authority/language/ITA,Italian,en +https://publications.europa.eu/resource/authority/language/ITA,olasz,hu +https://publications.europa.eu/resource/authority/language/ITA,talijanski,hr +https://publications.europa.eu/resource/authority/language/ITA,italiano,es +https://publications.europa.eu/resource/authority/language/ITA,итальянский,ru +https://publications.europa.eu/resource/authority/language/ITA,italien,fr +https://publications.europa.eu/resource/authority/language/ITA,italijanščina,sl +https://publications.europa.eu/resource/authority/language/ITA,ıtalyanca,tr +https://publications.europa.eu/resource/authority/language/ITA,ítalska,is +https://publications.europa.eu/resource/authority/language/ITA,italiano,it +https://publications.europa.eu/resource/authority/language/ITA,italiano,pt +https://publications.europa.eu/resource/authority/language/ITA,italšćina,hsb +https://publications.europa.eu/resource/authority/language/ITA,itaalia keel,et +https://publications.europa.eu/resource/authority/language/ITA,italiensk,da +https://publications.europa.eu/resource/authority/language/ITA,італійська мова,uk +https://publications.europa.eu/resource/authority/language/ITA,italienska,sv +https://publications.europa.eu/resource/authority/language/ITA,italiensk,no +https://publications.europa.eu/resource/authority/language/ITA,italia,fi +https://publications.europa.eu/resource/authority/language/ITA,italština,cs +https://publications.europa.eu/resource/authority/language/ITA,ιταλικά,el +https://publications.europa.eu/resource/authority/language/ITA,Italiaans,nl +https://publications.europa.eu/resource/authority/language/ITA,italijanski,sh +https://publications.europa.eu/resource/authority/language/ITA,taliančina,sk +https://publications.europa.eu/resource/authority/language/ITA,италијански,sr +https://publications.europa.eu/resource/authority/language/ITA,włoski,pl +https://publications.europa.eu/resource/authority/language/ITA,Taljan,mt +https://publications.europa.eu/resource/authority/language/ITA,италиански,bg +https://publications.europa.eu/resource/authority/language/ITA,italų kalba,lt +https://publications.europa.eu/resource/authority/language/ITA,Iodáilis,ga +https://publications.europa.eu/resource/authority/language/ITA,itāļu valoda,lv +https://publications.europa.eu/resource/authority/language/ITA,италијански,mk +https://publications.europa.eu/resource/authority/language/ITA,Italienisch,de +https://publications.europa.eu/resource/authority/language/ITA,italiană,ro +http://purl.obolibrary.org/obo/SCDO_0001082,Social Environment,en +https://www.wikidata.org/wiki/Q7981051,well-being,en +https://www.wikidata.org/wiki/Q1367554,morbidity,en +http://edamontology.org/topic_3324,Infectious disease,en +http://purl.obolibrary.org/obo/TRANS_0000009,airborne transmission,en +http://purl.obolibrary.org/obo/OMIABIS_0001041,surgical procedure,en +http://purl.obolibrary.org/obo/GSSO_006598,self-injury,en +https://www.wikidata.org/wiki/Q11024,communication,en +https://www.wikidata.org/wiki/Q95439933,Vaccine-preventable Diseases,en +http://purl.obolibrary.org/obo/NCIT_C25193,Occupation,en +https://www.wikidata.org/wiki/Q835884,infant mortality,en +http://purl.obolibrary.org/obo/SCDO_0000496,Healthcare Access,en +http://purl.obolibrary.org/obo/OMIT_0007941,Housing,en +http://purl.obolibrary.org/obo/OHD_0000005,surgical procedure,en +http://purl.obolibrary.org/obo/SCDO_0000494,Health System,en +https://publications.europa.eu/resource/authority/language/SPA,spanyol,hu +https://publications.europa.eu/resource/authority/language/SPA,spansk,da +https://publications.europa.eu/resource/authority/language/SPA,Spanish,en +https://publications.europa.eu/resource/authority/language/SPA,Spanjol,mt +https://publications.europa.eu/resource/authority/language/SPA,Spaans,nl +https://publications.europa.eu/resource/authority/language/SPA,испанский,ru +https://publications.europa.eu/resource/authority/language/SPA,španščina,sl +https://publications.europa.eu/resource/authority/language/SPA,španielčina,sk +https://publications.europa.eu/resource/authority/language/SPA,hiszpański,pl +https://publications.europa.eu/resource/authority/language/SPA,spanska,sv +https://publications.europa.eu/resource/authority/language/SPA,Spanisch,de +https://publications.europa.eu/resource/authority/language/SPA,španski,sh +https://publications.europa.eu/resource/authority/language/SPA,ispanų kalba,lt +https://publications.europa.eu/resource/authority/language/SPA,испански,bg +https://publications.europa.eu/resource/authority/language/SPA,іспанська мова,uk +https://publications.europa.eu/resource/authority/language/SPA,espanhol,pt +https://publications.europa.eu/resource/authority/language/SPA,španělština,cs +https://publications.europa.eu/resource/authority/language/SPA,spænska,is +https://publications.europa.eu/resource/authority/language/SPA,шпански,mk +https://publications.europa.eu/resource/authority/language/SPA,spaniolă,ro +https://publications.europa.eu/resource/authority/language/SPA,španišćina,hsb +https://publications.europa.eu/resource/authority/language/SPA,španjolski,hr +https://publications.europa.eu/resource/authority/language/SPA,шпански,sr +https://publications.europa.eu/resource/authority/language/SPA,hispaania keel,et +https://publications.europa.eu/resource/authority/language/SPA,español,es +https://publications.europa.eu/resource/authority/language/SPA,spansk,no +https://publications.europa.eu/resource/authority/language/SPA,espanja,fi +https://publications.europa.eu/resource/authority/language/SPA,spāņu valoda,lv +https://publications.europa.eu/resource/authority/language/SPA,spagnolo,it +https://publications.europa.eu/resource/authority/language/SPA,ισπανικά,el +https://publications.europa.eu/resource/authority/language/SPA,espagnol,fr +https://publications.europa.eu/resource/authority/language/SPA,ıspanyolca,tr +https://publications.europa.eu/resource/authority/language/SPA,Spáinnis,ga +https://www.wikidata.org/wiki/Q12198,sexually transmitted infection,en +http://purl.obolibrary.org/obo/NCIT_C16273,Alcohol Consumption,en +http://purl.obolibrary.org/obo/APOLLO_SV_00000239,infectious disease,en +https://www.wikidata.org/wiki/Q1475557,patient safety,en +https://www.wikidata.org/wiki/Q188419,life expectancy,en +https://www.wikidata.org/wiki/Q1571836,social environment,en +https://www.wikidata.org/wiki/Q189656,disinformation,en +https://www.wikidata.org/wiki/Q12131,disability,en +http://purl.obolibrary.org/obo/NCIT_C173636,Social Distancing,en +https://www.wikidata.org/wiki/Q180910,leisure,en +http://purl.obolibrary.org/obo/OBI_1110040,infectious disease,en +https://publications.europa.eu/resource/authority/language/LAV,lett,hu +https://publications.europa.eu/resource/authority/language/LAV,letão,pt +https://publications.europa.eu/resource/authority/language/LAV,letton,fr +https://publications.europa.eu/resource/authority/language/LAV,Laitvis,ga +https://publications.europa.eu/resource/authority/language/LAV,łotewski,pl +https://publications.europa.eu/resource/authority/language/LAV,läti keel,et +https://publications.europa.eu/resource/authority/language/LAV,lettone,it +https://publications.europa.eu/resource/authority/language/LAV,latvių kalba,lt +https://publications.europa.eu/resource/authority/language/LAV,letišćina,hsb +https://publications.europa.eu/resource/authority/language/LAV,латиська мова,uk +https://publications.europa.eu/resource/authority/language/LAV,letón,es +https://publications.europa.eu/resource/authority/language/LAV,lettneska,is +https://publications.europa.eu/resource/authority/language/LAV,latvia,fi +https://publications.europa.eu/resource/authority/language/LAV,латышский,ru +https://publications.europa.eu/resource/authority/language/LAV,Latvian,en +https://publications.europa.eu/resource/authority/language/LAV,latviešu valoda,lv +https://publications.europa.eu/resource/authority/language/LAV,lettiska,sv +https://publications.europa.eu/resource/authority/language/LAV,letonca,tr +https://publications.europa.eu/resource/authority/language/LAV,летонски,sr +https://publications.europa.eu/resource/authority/language/LAV,letonă,ro +https://publications.europa.eu/resource/authority/language/LAV,Latvjan,mt +https://publications.europa.eu/resource/authority/language/LAV,lotyština,cs +https://publications.europa.eu/resource/authority/language/LAV,lettisk,da +https://publications.europa.eu/resource/authority/language/LAV,latvisk,no +https://publications.europa.eu/resource/authority/language/LAV,Lets,nl +https://publications.europa.eu/resource/authority/language/LAV,letonski,sh +https://publications.europa.eu/resource/authority/language/LAV,lotyština,sk +https://publications.europa.eu/resource/authority/language/LAV,латвийски,bg +https://publications.europa.eu/resource/authority/language/LAV,latvijščina,sl +https://publications.europa.eu/resource/authority/language/LAV,λετονικά,el +https://publications.europa.eu/resource/authority/language/LAV,latvijski,hr +https://publications.europa.eu/resource/authority/language/LAV,латвиски,mk +https://publications.europa.eu/resource/authority/language/LAV,Lettisch,de +http://purl.obolibrary.org/obo/GSSO_006601,substance use,en +http://id.loc.gov/vocabulary/iso639-1/en,English,en +http://id.loc.gov/vocabulary/iso639-1/en,anglais,fr +http://id.loc.gov/vocabulary/iso639-1/en,Englisch,de +https://www.wikidata.org/wiki/Q10294,poverty,en +https://publications.europa.eu/resource/authority/language/FRA,francuski,sh +https://publications.europa.eu/resource/authority/language/FRA,fransk,da +https://publications.europa.eu/resource/authority/language/FRA,fransk,no +https://publications.europa.eu/resource/authority/language/FRA,francúzština,sk +https://publications.europa.eu/resource/authority/language/FRA,френски,bg +https://publications.europa.eu/resource/authority/language/FRA,francuski,hr +https://publications.europa.eu/resource/authority/language/FRA,prancūzų kalba,lt +https://publications.europa.eu/resource/authority/language/FRA,francese,it +https://publications.europa.eu/resource/authority/language/FRA,francês,pt https://publications.europa.eu/resource/authority/language/FRA,French,en +https://publications.europa.eu/resource/authority/language/FRA,ranska,fi +https://publications.europa.eu/resource/authority/language/FRA,francés,es +https://publications.europa.eu/resource/authority/language/FRA,franska,is +https://publications.europa.eu/resource/authority/language/FRA,francuski,pl +https://publications.europa.eu/resource/authority/language/FRA,fransızca,tr +https://publications.europa.eu/resource/authority/language/FRA,Französisch,de +https://publications.europa.eu/resource/authority/language/FRA,французька мова,uk +https://publications.europa.eu/resource/authority/language/FRA,Frans,nl +https://publications.europa.eu/resource/authority/language/FRA,французский,ru +https://publications.europa.eu/resource/authority/language/FRA,Fraincis,ga +https://publications.europa.eu/resource/authority/language/FRA,γαλλικά,el +https://publications.europa.eu/resource/authority/language/FRA,Franċiż,mt +https://publications.europa.eu/resource/authority/language/FRA,franču valoda,lv +https://publications.europa.eu/resource/authority/language/FRA,francouzština,cs +https://publications.europa.eu/resource/authority/language/FRA,француски,mk +https://publications.europa.eu/resource/authority/language/FRA,franska,sv +https://publications.europa.eu/resource/authority/language/FRA,француски,sr +https://publications.europa.eu/resource/authority/language/FRA,franceză,ro +https://publications.europa.eu/resource/authority/language/FRA,francia,hu +https://publications.europa.eu/resource/authority/language/FRA,francošćina,hsb +https://publications.europa.eu/resource/authority/language/FRA,français,fr +https://publications.europa.eu/resource/authority/language/FRA,prantsuse keel,et +https://publications.europa.eu/resource/authority/language/FRA,francoščina,sl +https://www.wikidata.org/wiki/Q332428,overweight,en +https://www.wikidata.org/wiki/Q7907939,vaccine-preventable diseases,en +https://www.wikidata.org/wiki/Q1247867,housing,en +http://purl.obolibrary.org/obo/OMIT_0003085,Birth Weight,en +http://purl.obolibrary.org/obo/SCDO_0000897,Physical Environment,en +http://purl.obolibrary.org/obo/ENVO_00002173,hospital,en +https://publications.europa.eu/resource/authority/language/FIN,finsk,da +https://publications.europa.eu/resource/authority/language/FIN,somu valoda,lv +https://publications.europa.eu/resource/authority/language/FIN,suomių kalba,lt +https://publications.europa.eu/resource/authority/language/FIN,fince,tr +https://publications.europa.eu/resource/authority/language/FIN,фински,mk +https://publications.europa.eu/resource/authority/language/FIN,φινλανδικά,el +https://publications.europa.eu/resource/authority/language/FIN,soome keel,et +https://publications.europa.eu/resource/authority/language/FIN,finnska,is +https://publications.europa.eu/resource/authority/language/FIN,finski,hr +https://publications.europa.eu/resource/authority/language/FIN,fínčina,sk +https://publications.europa.eu/resource/authority/language/FIN,finés,es +https://publications.europa.eu/resource/authority/language/FIN,suomi,fi +https://publications.europa.eu/resource/authority/language/FIN,finšćina,hsb +https://publications.europa.eu/resource/authority/language/FIN,фински,bg +https://publications.europa.eu/resource/authority/language/FIN,finlandeză,ro +https://publications.europa.eu/resource/authority/language/FIN,finština,cs +https://publications.europa.eu/resource/authority/language/FIN,Finnish,en +https://publications.europa.eu/resource/authority/language/FIN,fiński,pl +https://publications.europa.eu/resource/authority/language/FIN,фінська мова,uk +https://publications.europa.eu/resource/authority/language/FIN,Fins,nl +https://publications.europa.eu/resource/authority/language/FIN,finlandês,pt +https://publications.europa.eu/resource/authority/language/FIN,Finnisch,de +https://publications.europa.eu/resource/authority/language/FIN,finsk,no +https://publications.europa.eu/resource/authority/language/FIN,finski,sh +https://publications.europa.eu/resource/authority/language/FIN,Finlandiż,mt +https://publications.europa.eu/resource/authority/language/FIN,finlandese,it +https://publications.europa.eu/resource/authority/language/FIN,фински,sr +https://publications.europa.eu/resource/authority/language/FIN,финский,ru +https://publications.europa.eu/resource/authority/language/FIN,finska,sv +https://publications.europa.eu/resource/authority/language/FIN,finščina,sl +https://publications.europa.eu/resource/authority/language/FIN,finnois,fr +https://publications.europa.eu/resource/authority/language/FIN,finn,hu +https://publications.europa.eu/resource/authority/language/FIN,Fionlainnis,ga +https://www.wikidata.org/wiki/Q1527264,income,en +https://www.wikidata.org/wiki/Q5259414,tooth pathology,en +http://purl.obolibrary.org/obo/NCIT_C2893,Psychiatric Disorder,en +http://purl.obolibrary.org/obo/SCDO_0000490,Health Insurance Coverage,en +https://health-ri.sandbox.semlab-leiden.nl/profile/2f08228e-1789-40f8-84cd-28e3288c3604,Dataset Profile,en +http://purl.obolibrary.org/obo/MAXO_0000126,cancer screening,en +https://www.wikidata.org/wiki/Q4323994,traffic,en +https://fair.healthinformationportal.eu/profile/2f08228e-1789-40f8-84cd-28e3288c3604,Dataset Profile,en +https://www.wikidata.org/wiki/Q70364280,health resources,en +http://purl.obolibrary.org/obo/OMIT_0013846,Socioeconomic Factors,en +http://purl.obolibrary.org/obo/NCIT_C118206,Self-Injury,en +https://www.wikidata.org/wiki/Q108293842,health services use,en +http://purl.obolibrary.org/obo/OMIT_0007467,Health Resources,en +https://www.wikidata.org/wiki/Q3769299,human behavior,en +http://semanticscience.org/resource/SIO_000398,nurse,en +http://purl.obolibrary.org/obo/NCIT_C74299,Work,en +https://www.wikidata.org/wiki/Q12737077,occupation,en +http://purl.obolibrary.org/obo/NCIT_C17468,Socioeconomic Factors,en +https://www.wikidata.org/wiki/Q17003063,health care quality,en +http://purl.obolibrary.org/obo/OMIT_0007476,Health Status,en +http://purl.obolibrary.org/obo/OBI_0002787,face mask,en +http://purl.obolibrary.org/obo/GSSO_001369,surgical procedure,en +http://snomed.info/id/420014008,Blood borne transmission,en +http://snomed.info/id/91537007,"Hospital bed, device",en +http://www.ebi.ac.uk/efo/EFO_0000684,respiratory system disease,en +http://purl.obolibrary.org/obo/CHEBI_52217,pharmaceutical,en +http://purl.bioontology.org/ontology/MESH/D011203,Poverty,en +http://www.ebi.ac.uk/efo/EFO_0000400,diabetes mellitus,en +http://purl.obolibrary.org/obo/MONDO_0004995,cardiovascular disorder,en +http://www.ebi.ac.uk/efo/EFO_0000319,cardiovascular disease,en +http://purl.obolibrary.org/obo/MONDO_0005084,mental disorder,en +http://purl.obolibrary.org/obo/MONDO_0004992,cancer,en +http://purl.obolibrary.org/obo/MONDO_0100096,COVID-19,en +http://purl.obolibrary.org/obo/MONDO_0005087,respiratory system disorder,en +http://purl.obolibrary.org/obo/MONDO_0005550,infectious disease,en +http://www.ebi.ac.uk/efo/EFO_0004299,life expectancy,en +http://www.ebi.ac.uk/efo/EFO_0004778,self rated health,en +http://purl.obolibrary.org/obo/MONDO_0005015,diabetes mellitus,en +http://www.ebi.ac.uk/efo/EFO_0005741,infectious disease,en +http://purl.obolibrary.org/obo/DOID_9351,diabetes mellitus,en +http://www.ebi.ac.uk/efo/EFO_1001216,tooth disease,en +http://purl.obolibrary.org/obo/DOID_162,cancer,en +http://www.ebi.ac.uk/efo/EFO_0004352,mortality,en +http://purl.obolibrary.org/obo/DOID_0080600,COVID-19,en +https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en http://publications.europa.eu/resource/authority/access-right/PUBLIC,Public,en http://publications.europa.eu/resource/authority/access-right/RESTRICTED,Restricted,en http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,Non-public,en @@ -32,4 +1056,18 @@ http://purl.org/cld/freq/threeTimesAWeek,three times a week,en http://purl.org/cld/freq/daily,daily,en http://purl.org/cld/freq/continuous,continuous,en http://purl.org/cld/freq/irregular,irregular,en -https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en \ No newline at end of file +https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en +http://purl.org/zonmw/covid19/10007,national,en +http://purl.org/zonmw/covid19/10083,people by COVID-19 risk factors,en +http://purl.org/zonmw/covid19/10091,COVID-19 patient grouping,en +http://purl.org/zonmw/covid19/10018,health care phase,en +http://purl.org/zonmw/covid19/10014,hospital care,en +http://purl.org/zonmw/generic/10095,Individual after first infection,en +http://purl.org/zonmw/covid19/10012,GP care,en +http://purl.org/zonmw/covid19/10033,COVID-19 phase,en +http://purl.org/zonmw/covid19/10003,urban,en +http://purl.org/zonmw/covid19/10006,regional,en +http://purl.org/zonmw/generic/10006,other,en +https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,Invasive Breast Carcinoma,en +https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,Invasive Breast Carcinoma,en +http://purl.bioontology.org/ontology/ICD10CM/J96.2,Acute and chronic respiratory failure,en \ No newline at end of file From f77b2ab276eb2018b1bb1dad73576d8ae827c7b7 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Mon, 25 Mar 2024 09:30:13 +0100 Subject: [PATCH 094/284] fix: remove multilingual extensions; update tags vocabulary table --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- ckan/prepopulate_db/common_vocabulary_tags.csv | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index e41cfb2ce..14892e4e4 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -53,7 +53,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity multilingual_dataset multilingual_group multilingual_tag" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index ead7258c6..4a2f13646 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -47,4 +47,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity multilingual_dataset multilingual_group multilingual_tag" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv b/ckan/prepopulate_db/common_vocabulary_tags.csv index ed79cb70c..7654e4ba6 100644 --- a/ckan/prepopulate_db/common_vocabulary_tags.csv +++ b/ckan/prepopulate_db/common_vocabulary_tags.csv @@ -914,6 +914,8 @@ http://purl.obolibrary.org/obo/GSSO_006601,substance use,en http://id.loc.gov/vocabulary/iso639-1/en,English,en http://id.loc.gov/vocabulary/iso639-1/en,anglais,fr http://id.loc.gov/vocabulary/iso639-1/en,Englisch,de +http://id.loc.gov/vocabulary/iso639-1/de,German,en +http://id.loc.gov/vocabulary/iso639-1/nl,Dutch,en https://www.wikidata.org/wiki/Q10294,poverty,en https://publications.europa.eu/resource/authority/language/FRA,francuski,sh https://publications.europa.eu/resource/authority/language/FRA,fransk,da @@ -1032,6 +1034,7 @@ http://purl.obolibrary.org/obo/DOID_162,cancer,en http://www.ebi.ac.uk/efo/EFO_0004352,mortality,en http://purl.obolibrary.org/obo/DOID_0080600,COVID-19,en https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en +http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en http://publications.europa.eu/resource/authority/access-right/PUBLIC,Public,en http://publications.europa.eu/resource/authority/access-right/RESTRICTED,Restricted,en http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,Non-public,en From f016f95959d52c441bf6247eab0248e61c09aae9 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Mon, 25 Mar 2024 14:05:00 +0100 Subject: [PATCH 095/284] fix: update `gdi-userportal-ckanext-gdi-userportal` reference in Dockerfile and submodule gitlink --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 14892e4e4..fad02bda7 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.0.1#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index c19f5708a..4fafe0a4a 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit c19f5708a7e299dbdc9ad6181fb45392fe4789b0 +Subproject commit 4fafe0a4a3285ea23fa075c6dc195fcbdb80f5f9 From d70d06df2f1b21f440e83c6653bc1e4b1e13fc33 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 26 Mar 2024 08:40:31 +0100 Subject: [PATCH 096/284] chore: preload CKAN term translation --- .../common_vocabulary_tags.csv | 0 .../common_vocabulary_tags.csv.license | 0 .../upload_vocabulary.sh | 3 ++- docker-compose.yml | 16 ---------------- 4 files changed, 2 insertions(+), 17 deletions(-) rename ckan/{prepopulate_db => docker-entrypoint.d}/common_vocabulary_tags.csv (100%) rename ckan/{prepopulate_db => docker-entrypoint.d}/common_vocabulary_tags.csv.license (100%) rename ckan/{prepopulate_db => docker-entrypoint.d}/upload_vocabulary.sh (68%) diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv similarity index 100% rename from ckan/prepopulate_db/common_vocabulary_tags.csv rename to ckan/docker-entrypoint.d/common_vocabulary_tags.csv diff --git a/ckan/prepopulate_db/common_vocabulary_tags.csv.license b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license similarity index 100% rename from ckan/prepopulate_db/common_vocabulary_tags.csv.license rename to ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license diff --git a/ckan/prepopulate_db/upload_vocabulary.sh b/ckan/docker-entrypoint.d/upload_vocabulary.sh similarity index 68% rename from ckan/prepopulate_db/upload_vocabulary.sh rename to ckan/docker-entrypoint.d/upload_vocabulary.sh index d4b6e4042..88c0d1ca3 100644 --- a/ckan/prepopulate_db/upload_vocabulary.sh +++ b/ckan/docker-entrypoint.d/upload_vocabulary.sh @@ -14,7 +14,8 @@ psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB \if :table_not_empty \echo 'term_translation table is not empty, skipping' \else - \copy public.term_translation FROM '/prepopulate_db/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); + \copy public.term_translation FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); + \echo 'term_translation initialized with common_vocabulary_tags.csv' \endif EOSQL diff --git a/docker-compose.yml b/docker-compose.yml index 3ae1a4282..5c6044624 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -90,19 +90,3 @@ services: - KC_HOSTNAME healthcheck: test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] - - populate_db: - container_name: populate_db - command: - - "/bin/sh" - - "/prepopulate_db/upload_vocabulary.sh" - depends_on: - ckan-dev: - condition: service_healthy - postgres: - condition: service_healthy - env_file: - - .env - image: rtdl/psql-client:latest - volumes: - - ./ckan/prepopulate_db:/prepopulate_db From d667178c6a82a4526b79e4eb6fae4cd9f3c3109b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 2 Apr 2024 11:26:39 +0200 Subject: [PATCH 097/284] feat: fix DCAT-AP fields indexation --- .env.example | 3 --- README.md | 5 +++++ _http/facets.http | 5 +++++ ckan/Dockerfile | 20 ++++++++++---------- docker-compose.yml | 7 +++++-- src/ckanext-gdi-userportal | 2 +- 6 files changed, 26 insertions(+), 16 deletions(-) create mode 100644 _http/facets.http diff --git a/.env.example b/.env.example index 689a52d22..f2c78ed05 100644 --- a/.env.example +++ b/.env.example @@ -38,9 +38,6 @@ CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_ TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@${POSTGRES_HOST}/ckan_test TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@${POSTGRES_HOST}/datastore_test TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@${POSTGRES_HOST}/datastore_test - -# Solr -SOLR_IMAGE_VERSION=2.10-solr9 CKAN_SOLR_URL=http://solr:8983/solr/ckan TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan diff --git a/README.md b/README.md index 7cc0c57d9..76e8759cc 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,11 @@ docker compose down -v docker compose logs -f ``` +### 3.4. Re-index SOLR +```bash +ckan -c ckan.ini search-index rebuild +``` + ## 4. installing new extensions The current agreement is: diff --git a/_http/facets.http b/_http/facets.http new file mode 100644 index 000000000..4047ae695 --- /dev/null +++ b/_http/facets.http @@ -0,0 +1,5 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + +GET http://localhost:5500/api/action/package_search?facet.field=["organization","theme","conforms_to","has_version","access_rights","language","publisher_name","res_format"]&facet.limit=10&rows=0 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index fad02bda7..001682525 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,11 +9,11 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.0#egg=ckanext-gdi-userportal && \ - pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.1#egg=ckanext-gdi-userportal && \ + pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -24,10 +24,10 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck pip3 install -e . RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ - pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt + pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.0#egg=ckanext-fairdatapoint && \ - pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt + pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron RUN apk update \ @@ -46,11 +46,11 @@ COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf COPY patches ${APP_DIR}/patches RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ done ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity" diff --git a/docker-compose.yml b/docker-compose.yml index 5c6044624..5026475cd 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,14 +55,17 @@ services: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] ports: - "5432:5432" - + solr: - image: ckan/ckan-solr:${SOLR_IMAGE_VERSION} + build: + context: src/ckanext-gdi-userportal/solr/ volumes: - solr_data:/var/solr restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] + ports: + - "8983:8983" redis: image: redis:${REDIS_VERSION} diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 4fafe0a4a..7ab964a9a 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 4fafe0a4a3285ea23fa075c6dc195fcbdb80f5f9 +Subproject commit 7ab964a9ae624df9d7bb7ff267dd7b6304c03a68 From 6efa9a04ece37a12508c5981856ebfad9dcaee6b Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 3 Apr 2024 13:58:24 +0200 Subject: [PATCH 098/284] chore: replace local keycloak by HealthRI --- .env.example | 16 +++------------- docker-compose.yml | 23 ----------------------- 2 files changed, 3 insertions(+), 36 deletions(-) diff --git a/.env.example b/.env.example index f2c78ed05..e49cecd4e 100644 --- a/.env.example +++ b/.env.example @@ -19,7 +19,7 @@ CKAN_DB=ckandb CKAN_VERSION=2.10.4 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 -CKAN__CORS__ORIGIN_WHITELIST=http://localhost:4200 +CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 CKAN_PORT=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME CKAN__AUTH__USER_CREATE_ORGANIZATIONS=false @@ -46,20 +46,10 @@ REDIS_VERSION=6 CKAN_REDIS_URL=redis://redis:6379/1 TEST_CKAN_REDIS_URL=redis://redis:6379/1 -# Keycloak -KC_DB_NAME=keycloakdb -KC_DB_URL=jdbc:postgresql://${POSTGRES_HOST}/${KC_DB_NAME} -KC_DB_USERNAME=keycloakdbuser -KC_DB_PASSWORD=keycloakdbpassword -KEYCLOAK_ADMIN=admin -KEYCLOAK_ADMIN_PASSWORD=admin -KEYCLOAK_ENABLE_HEALTH_ENDPOINTS=true -KC_HOSTNAME=keycloak - # Extensions -CKANEXT__OIDC_PKCE__BASE_URL=http://keycloak:8080/realms/ckan/protocol/openid-connect +CKANEXT__OIDC_PKCE__BASE_URL=https://keycloak-test.healthdata.nl/realms/ckan/protocol/openid-connect CKANEXT__OIDC_PKCE__CLIENT_ID=ckan -CKANEXT__OIDC_PKCE__CLIENT_SECRET=wb4nT5D6LxNJm1648QHCrB0XTcsf2zja +CKANEXT__OIDC_PKCE__CLIENT_SECRET=secret CKANEXT__OIDC_PKCE__AUTH_PATH=/auth CKANEXT__OIDC_PKCE__TOKEN_PATH=/token CKANEXT__OIDC_PKCE__USERINFO_PATH=/userinfo diff --git a/docker-compose.yml b/docker-compose.yml index 5026475cd..82e772db4 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,8 +24,6 @@ services: condition: service_healthy redis: condition: service_healthy - keycloak: - condition: service_healthy ports: - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" volumes: @@ -72,24 +70,3 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] - - keycloak: - build: - context: keycloak/ - restart: unless-stopped - ports: - - "8080:8080" - volumes: - - ./keycloak/realms:/opt/keycloak/data/import - depends_on: - postgres: - condition: service_healthy - environment: - - KC_DB_URL - - KC_DB_USERNAME - - KC_DB_PASSWORD - - KEYCLOAK_ADMIN - - KEYCLOAK_ADMIN_PASSWORD - - KC_HOSTNAME - healthcheck: - test: ["CMD", "curl", "-o", "/dev/null", http://localhost:8080/health/ready"] From a6cc5c96e345f40c9a9eb8c084e7da2337d4290c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 3 Apr 2024 22:30:24 +0200 Subject: [PATCH 099/284] chore: remove not used files --- docker-compose.yml | 3 - keycloak/Dockerfile | 28 - keycloak/realms/ckan-realm.json | 1849 ----------------- keycloak/realms/ckan-realm.json.license | 3 - .../2_create_keycloakdb.sh | 14 - ...databases.sh => 2_setup_test_databases.sh} | 0 6 files changed, 1897 deletions(-) delete mode 100644 keycloak/Dockerfile delete mode 100644 keycloak/realms/ckan-realm.json delete mode 100644 keycloak/realms/ckan-realm.json.license delete mode 100644 postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh rename postgresql/docker-entrypoint-initdb.d/{3_setup_test_databases.sh => 2_setup_test_databases.sh} (100%) diff --git a/docker-compose.yml b/docker-compose.yml index 82e772db4..cea8e4229 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -43,9 +43,6 @@ services: - CKAN_DB_USER - CKAN_DB_PASSWORD - CKAN_DB - - KC_DB_USERNAME - - KC_DB_PASSWORD - - KC_DB_NAME volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped diff --git a/keycloak/Dockerfile b/keycloak/Dockerfile deleted file mode 100644 index c07493384..000000000 --- a/keycloak/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-FileCopyrightText: 2024 PNED G.I.E. -# -# SPDX-License-Identifier: AGPL-3.0-only - -# First stage: Install curl -FROM registry.access.redhat.com/ubi9 AS ubi-micro-build -RUN mkdir -p /mnt/rootfs -RUN dnf install --installroot /mnt/rootfs curl --releasever 9 --setopt install_weak_deps=false --nodocs -y && \ - dnf --installroot /mnt/rootfs clean all && \ - rpm --root /mnt/rootfs -e --nodeps setup - -# Second stage: build keycloak image -FROM quay.io/keycloak/keycloak:23.0.3 - -# Copy curl from the first stage -COPY --from=ubi-micro-build /mnt/rootfs / - -USER keycloak - -# Enable health and metrics support -ENV KC_HEALTH_ENABLED=true - -ENV KC_DB=postgres -ENV KC_DB_URL= -ENV KC_DB_USERNAME= -ENV KC_DB_PASSWORD= -ENV KC_HOSTNAME=localhost -ENTRYPOINT ["/opt/keycloak/bin/kc.sh","start-dev", "--import-realm"] diff --git a/keycloak/realms/ckan-realm.json b/keycloak/realms/ckan-realm.json deleted file mode 100644 index b8b3f4764..000000000 --- a/keycloak/realms/ckan-realm.json +++ /dev/null @@ -1,1849 +0,0 @@ -{ - "id" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", - "realm" : "ckan", - "notBefore" : 0, - "defaultSignatureAlgorithm" : "RS256", - "revokeRefreshToken" : false, - "refreshTokenMaxReuse" : 0, - "accessTokenLifespan" : 300, - "accessTokenLifespanForImplicitFlow" : 900, - "ssoSessionIdleTimeout" : 1800, - "ssoSessionMaxLifespan" : 36000, - "ssoSessionIdleTimeoutRememberMe" : 0, - "ssoSessionMaxLifespanRememberMe" : 0, - "offlineSessionIdleTimeout" : 2592000, - "offlineSessionMaxLifespanEnabled" : false, - "offlineSessionMaxLifespan" : 5184000, - "clientSessionIdleTimeout" : 0, - "clientSessionMaxLifespan" : 0, - "clientOfflineSessionIdleTimeout" : 0, - "clientOfflineSessionMaxLifespan" : 0, - "accessCodeLifespan" : 60, - "accessCodeLifespanUserAction" : 300, - "accessCodeLifespanLogin" : 1800, - "actionTokenGeneratedByAdminLifespan" : 43200, - "actionTokenGeneratedByUserLifespan" : 300, - "oauth2DeviceCodeLifespan" : 600, - "oauth2DevicePollingInterval" : 5, - "enabled" : true, - "sslRequired" : "external", - "registrationAllowed" : false, - "registrationEmailAsUsername" : false, - "rememberMe" : false, - "verifyEmail" : false, - "loginWithEmailAllowed" : true, - "duplicateEmailsAllowed" : false, - "resetPasswordAllowed" : false, - "editUsernameAllowed" : false, - "bruteForceProtected" : false, - "permanentLockout" : false, - "maxFailureWaitSeconds" : 900, - "minimumQuickLoginWaitSeconds" : 60, - "waitIncrementSeconds" : 60, - "quickLoginCheckMilliSeconds" : 1000, - "maxDeltaTimeSeconds" : 43200, - "failureFactor" : 30, - "roles" : { - "realm" : [ { - "id" : "cd273c77-3c3e-4673-bd40-1cf5b82e1c20", - "name" : "uma_authorization", - "description" : "${role_uma_authorization}", - "composite" : false, - "clientRole" : false, - "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", - "attributes" : { } - }, { - "id" : "93059c31-b7bc-4d3d-bc95-dc94a5ebb7ad", - "name" : "default-roles-ckan", - "description" : "${role_default-roles}", - "composite" : true, - "composites" : { - "realm" : [ "offline_access", "uma_authorization" ], - "client" : { - "account" : [ "manage-account", "view-profile" ] - } - }, - "clientRole" : false, - "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", - "attributes" : { } - }, { - "id" : "20d863dd-6c6a-4357-bea7-50ca195e9032", - "name" : "offline_access", - "description" : "${role_offline-access}", - "composite" : false, - "clientRole" : false, - "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075", - "attributes" : { } - } ], - "client" : { - "realm-management" : [ { - "id" : "a2eba2cb-9d42-420b-a728-3ce37166d521", - "name" : "view-realm", - "description" : "${role_view-realm}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "9fad18b8-66e2-419f-82b9-48991dd49847", - "name" : "query-clients", - "description" : "${role_query-clients}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "a48e1955-b0ce-46d6-93ed-09ba372bb577", - "name" : "impersonation", - "description" : "${role_impersonation}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "08a5cb36-e078-404f-8ec8-adca98518bf2", - "name" : "query-groups", - "description" : "${role_query-groups}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "47e3ec31-a6c0-4051-94d8-1c624a63591f", - "name" : "view-events", - "description" : "${role_view-events}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "16c7221b-58a3-4670-b09f-de5bef4986a1", - "name" : "manage-identity-providers", - "description" : "${role_manage-identity-providers}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "26e2947c-84ac-41ed-8503-b284d157365d", - "name" : "manage-clients", - "description" : "${role_manage-clients}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "9ac6cf4f-02e1-463e-9034-cce441b97235", - "name" : "view-authorization", - "description" : "${role_view-authorization}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "1195a822-80fd-4810-883d-a9148b6dc49b", - "name" : "manage-realm", - "description" : "${role_manage-realm}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "9aefe793-abe0-4052-9826-00e4b8c18cc0", - "name" : "manage-authorization", - "description" : "${role_manage-authorization}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "8828f436-44ce-47c1-b357-4423fe0d9792", - "name" : "view-identity-providers", - "description" : "${role_view-identity-providers}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "db7cc3e4-b91d-422c-944d-8b38bad70d3a", - "name" : "create-client", - "description" : "${role_create-client}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "a61f4d23-5fd7-466d-8654-c515c4044f2a", - "name" : "view-users", - "description" : "${role_view-users}", - "composite" : true, - "composites" : { - "client" : { - "realm-management" : [ "query-groups", "query-users" ] - } - }, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "f9c888a1-2470-45e7-b2f9-b80fa4b1c30a", - "name" : "realm-admin", - "description" : "${role_realm-admin}", - "composite" : true, - "composites" : { - "client" : { - "realm-management" : [ "view-realm", "query-clients", "impersonation", "query-groups", "view-events", "manage-identity-providers", "manage-clients", "view-authorization", "manage-realm", "manage-authorization", "view-identity-providers", "create-client", "view-users", "query-realms", "view-clients", "manage-users", "manage-events", "query-users" ] - } - }, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "aedfd698-0589-497b-996a-56b5488b2c90", - "name" : "query-realms", - "description" : "${role_query-realms}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "793fcba9-d7d9-4ee7-af7e-74c3fa4abf6c", - "name" : "view-clients", - "description" : "${role_view-clients}", - "composite" : true, - "composites" : { - "client" : { - "realm-management" : [ "query-clients" ] - } - }, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "a8d15439-95e1-4241-b070-79f3014437a2", - "name" : "manage-users", - "description" : "${role_manage-users}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "4a894d73-6b48-4315-bbbc-51324ab59916", - "name" : "manage-events", - "description" : "${role_manage-events}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - }, { - "id" : "6e0c16e4-1848-4675-8cfd-9029b941e703", - "name" : "query-users", - "description" : "${role_query-users}", - "composite" : false, - "clientRole" : true, - "containerId" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "attributes" : { } - } ], - "security-admin-console" : [ ], - "admin-cli" : [ ], - "account-console" : [ ], - "ckan" : [ { - "id" : "65586c48-97a5-4831-b891-0089ed1cd087", - "name" : "uma_protection", - "composite" : false, - "clientRole" : true, - "containerId" : "49dfabcd-b980-414c-94a8-fdb65533ad2f", - "attributes" : { } - } ], - "broker" : [ { - "id" : "049b29fa-57fd-47c9-a202-566ec2733b23", - "name" : "read-token", - "description" : "${role_read-token}", - "composite" : false, - "clientRole" : true, - "containerId" : "97b39b11-142c-4dce-b109-917b76790017", - "attributes" : { } - } ], - "account" : [ { - "id" : "136c82ed-dc60-4c9f-9744-77c9a4cca1f1", - "name" : "view-groups", - "description" : "${role_view-groups}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "71504726-a8a7-47db-bc3b-ca07e310b0be", - "name" : "manage-account-links", - "description" : "${role_manage-account-links}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "112b6f3b-3904-421f-abf0-dda37752c236", - "name" : "manage-account", - "description" : "${role_manage-account}", - "composite" : true, - "composites" : { - "client" : { - "account" : [ "manage-account-links" ] - } - }, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "d11528f3-b7be-467b-b9b7-7698f5592c51", - "name" : "view-applications", - "description" : "${role_view-applications}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "4d0b20af-df72-49d4-b2ec-d6f82e92d4b1", - "name" : "manage-consent", - "description" : "${role_manage-consent}", - "composite" : true, - "composites" : { - "client" : { - "account" : [ "view-consent" ] - } - }, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "9bffb9ea-0141-46f1-8adb-ae91529d6813", - "name" : "view-consent", - "description" : "${role_view-consent}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "82bea49f-2846-4f28-9423-aae750454332", - "name" : "delete-account", - "description" : "${role_delete-account}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - }, { - "id" : "39e06706-101b-42b6-adee-f5235743eda8", - "name" : "view-profile", - "description" : "${role_view-profile}", - "composite" : false, - "clientRole" : true, - "containerId" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "attributes" : { } - } ] - } - }, - "groups" : [ ], - "defaultRole" : { - "id" : "93059c31-b7bc-4d3d-bc95-dc94a5ebb7ad", - "name" : "default-roles-ckan", - "description" : "${role_default-roles}", - "composite" : true, - "clientRole" : false, - "containerId" : "6f348afb-6f1f-428c-a4f9-5f8e2374a075" - }, - "requiredCredentials" : [ "password" ], - "otpPolicyType" : "totp", - "otpPolicyAlgorithm" : "HmacSHA1", - "otpPolicyInitialCounter" : 0, - "otpPolicyDigits" : 6, - "otpPolicyLookAheadWindow" : 1, - "otpPolicyPeriod" : 30, - "otpPolicyCodeReusable" : false, - "otpSupportedApplications" : [ "totpAppFreeOTPName", "totpAppGoogleName", "totpAppMicrosoftAuthenticatorName" ], - "localizationTexts" : { }, - "webAuthnPolicyRpEntityName" : "keycloak", - "webAuthnPolicySignatureAlgorithms" : [ "ES256" ], - "webAuthnPolicyRpId" : "", - "webAuthnPolicyAttestationConveyancePreference" : "not specified", - "webAuthnPolicyAuthenticatorAttachment" : "not specified", - "webAuthnPolicyRequireResidentKey" : "not specified", - "webAuthnPolicyUserVerificationRequirement" : "not specified", - "webAuthnPolicyCreateTimeout" : 0, - "webAuthnPolicyAvoidSameAuthenticatorRegister" : false, - "webAuthnPolicyAcceptableAaguids" : [ ], - "webAuthnPolicyExtraOrigins" : [ ], - "webAuthnPolicyPasswordlessRpEntityName" : "keycloak", - "webAuthnPolicyPasswordlessSignatureAlgorithms" : [ "ES256" ], - "webAuthnPolicyPasswordlessRpId" : "", - "webAuthnPolicyPasswordlessAttestationConveyancePreference" : "not specified", - "webAuthnPolicyPasswordlessAuthenticatorAttachment" : "not specified", - "webAuthnPolicyPasswordlessRequireResidentKey" : "not specified", - "webAuthnPolicyPasswordlessUserVerificationRequirement" : "not specified", - "webAuthnPolicyPasswordlessCreateTimeout" : 0, - "webAuthnPolicyPasswordlessAvoidSameAuthenticatorRegister" : false, - "webAuthnPolicyPasswordlessAcceptableAaguids" : [ ], - "webAuthnPolicyPasswordlessExtraOrigins" : [ ], - "users" : [ { - "id" : "52cacbab-c440-4385-9d5f-46aa4930b0e4", - "createdTimestamp" : 1703107576892, - "username" : "ckan_admin", - "enabled" : true, - "totp" : false, - "emailVerified" : false, - "firstName" : "CKAN", - "lastName" : "Admin", - "email" : "your_email@example.com", - "credentials" : [ { - "id" : "1c2c2caf-4556-479d-853f-9ed3c0ecb017", - "type" : "password", - "userLabel" : "My password", - "createdDate" : 1703107588036, - "secretData" : "{\"value\":\"urHSmjggWEph066Ed4l6c2qA63fShCx+ny7PA7pAquw=\",\"salt\":\"Zh3X+GfxGoMiZ1dZv3rnPw==\",\"additionalParameters\":{}}", - "credentialData" : "{\"hashIterations\":27500,\"algorithm\":\"pbkdf2-sha256\",\"additionalParameters\":{}}" - } ], - "disableableCredentialTypes" : [ ], - "requiredActions" : [ ], - "realmRoles" : [ "default-roles-ckan" ], - "notBefore" : 0, - "groups" : [ ] - } ], - "scopeMappings" : [ { - "clientScope" : "offline_access", - "roles" : [ "offline_access" ] - } ], - "clientScopeMappings" : { - "account" : [ { - "client" : "account-console", - "roles" : [ "manage-account", "view-groups" ] - } ] - }, - "clients" : [ { - "id" : "476d5095-dbf9-4fe0-bef8-fde1730956f9", - "clientId" : "account", - "name" : "${client_account}", - "rootUrl" : "${authBaseUrl}", - "baseUrl" : "/realms/ckan/account/", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ "/realms/ckan/account/*" ], - "webOrigins" : [ ], - "notBefore" : 0, - "bearerOnly" : false, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : false, - "serviceAccountsEnabled" : false, - "publicClient" : true, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "632c3653-00fa-4b03-a4ed-81afbb16f16d", - "clientId" : "account-console", - "name" : "${client_account-console}", - "rootUrl" : "${authBaseUrl}", - "baseUrl" : "/realms/ckan/account/", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ "/realms/ckan/account/*" ], - "webOrigins" : [ ], - "notBefore" : 0, - "bearerOnly" : false, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : false, - "serviceAccountsEnabled" : false, - "publicClient" : true, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+", - "pkce.code.challenge.method" : "S256" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "protocolMappers" : [ { - "id" : "b5c77dfe-292e-4f79-b993-d4b62b6f8b96", - "name" : "audience resolve", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-audience-resolve-mapper", - "consentRequired" : false, - "config" : { } - } ], - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "1a45d7a0-077f-4ec0-8e39-2526c2f3ff5f", - "clientId" : "admin-cli", - "name" : "${client_admin-cli}", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ ], - "webOrigins" : [ ], - "notBefore" : 0, - "bearerOnly" : false, - "consentRequired" : false, - "standardFlowEnabled" : false, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : true, - "serviceAccountsEnabled" : false, - "publicClient" : true, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "97b39b11-142c-4dce-b109-917b76790017", - "clientId" : "broker", - "name" : "${client_broker}", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ ], - "webOrigins" : [ ], - "notBefore" : 0, - "bearerOnly" : true, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : false, - "serviceAccountsEnabled" : false, - "publicClient" : false, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "49dfabcd-b980-414c-94a8-fdb65533ad2f", - "clientId" : "ckan", - "name" : "", - "description" : "", - "rootUrl" : "", - "adminUrl" : "", - "baseUrl" : "", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ "http://localhost:4200/*", "http://localhost:5500/*" ], - "webOrigins" : [ "+" ], - "notBefore" : 0, - "bearerOnly" : false, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : true, - "serviceAccountsEnabled" : false, - "publicClient" : true, - "frontchannelLogout" : true, - "protocol" : "openid-connect", - "attributes" : { - "oidc.ciba.grant.enabled" : "false", - "client.secret.creation.time" : "1701295297", - "backchannel.logout.session.required" : "true", - "post.logout.redirect.uris" : "http://localhost:5500/*##http://localhost:4200/*", - "display.on.consent.screen" : "false", - "oauth2.device.authorization.grant.enabled" : "false", - "backchannel.logout.revoke.offline.tokens" : "false" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : true, - "nodeReRegistrationTimeout" : -1, - "protocolMappers" : [ { - "id" : "d6504f0e-2480-4ad0-8156-18fef8a12e47", - "name" : "Client Host", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usersessionmodel-note-mapper", - "consentRequired" : false, - "config" : { - "user.session.note" : "clientHost", - "userinfo.token.claim" : "true", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "clientHost", - "jsonType.label" : "String" - } - }, { - "id" : "3e6169b4-267d-48c4-9a98-a4c832686797", - "name" : "Client IP Address", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usersessionmodel-note-mapper", - "consentRequired" : false, - "config" : { - "user.session.note" : "clientAddress", - "userinfo.token.claim" : "true", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "clientAddress", - "jsonType.label" : "String" - } - }, { - "id" : "2f1720aa-67b3-497e-8e38-eca0d3ddb067", - "name" : "Client ID", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usersessionmodel-note-mapper", - "consentRequired" : false, - "config" : { - "user.session.note" : "client_id", - "userinfo.token.claim" : "true", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "client_id", - "jsonType.label" : "String" - } - } ], - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "ed6cb8f0-80e0-43a5-bade-3cb5f15f3cc5", - "clientId" : "realm-management", - "name" : "${client_realm-management}", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ ], - "webOrigins" : [ ], - "notBefore" : 0, - "bearerOnly" : true, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : false, - "serviceAccountsEnabled" : false, - "publicClient" : false, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - }, { - "id" : "08d74ac1-49fc-469d-a687-9ab3b27b69b1", - "clientId" : "security-admin-console", - "name" : "${client_security-admin-console}", - "rootUrl" : "${authAdminUrl}", - "baseUrl" : "/admin/ckan/console/", - "surrogateAuthRequired" : false, - "enabled" : true, - "alwaysDisplayInConsole" : false, - "clientAuthenticatorType" : "client-secret", - "redirectUris" : [ "/admin/ckan/console/*" ], - "webOrigins" : [ "+" ], - "notBefore" : 0, - "bearerOnly" : false, - "consentRequired" : false, - "standardFlowEnabled" : true, - "implicitFlowEnabled" : false, - "directAccessGrantsEnabled" : false, - "serviceAccountsEnabled" : false, - "publicClient" : true, - "frontchannelLogout" : false, - "protocol" : "openid-connect", - "attributes" : { - "post.logout.redirect.uris" : "+", - "pkce.code.challenge.method" : "S256" - }, - "authenticationFlowBindingOverrides" : { }, - "fullScopeAllowed" : false, - "nodeReRegistrationTimeout" : 0, - "protocolMappers" : [ { - "id" : "1adb53a6-597c-44a2-91aa-a15349f61efc", - "name" : "locale", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "locale", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "locale", - "jsonType.label" : "String" - } - } ], - "defaultClientScopes" : [ "web-origins", "acr", "profile", "roles", "email" ], - "optionalClientScopes" : [ "address", "phone", "offline_access", "microprofile-jwt" ] - } ], - "clientScopes" : [ { - "id" : "49cae1f3-7c12-41d0-8e9a-189daa5b45ff", - "name" : "address", - "description" : "OpenID Connect built-in scope: address", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "true", - "display.on.consent.screen" : "true", - "consent.screen.text" : "${addressScopeConsentText}" - }, - "protocolMappers" : [ { - "id" : "8308b1e8-783c-4a7d-8f7e-04f1e98686fc", - "name" : "address", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-address-mapper", - "consentRequired" : false, - "config" : { - "user.attribute.formatted" : "formatted", - "user.attribute.country" : "country", - "user.attribute.postal_code" : "postal_code", - "userinfo.token.claim" : "true", - "user.attribute.street" : "street", - "id.token.claim" : "true", - "user.attribute.region" : "region", - "access.token.claim" : "true", - "user.attribute.locality" : "locality" - } - } ] - }, { - "id" : "337dc738-9720-42e4-8cfa-ca816f3a9c47", - "name" : "profile", - "description" : "OpenID Connect built-in scope: profile", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "true", - "display.on.consent.screen" : "true", - "consent.screen.text" : "${profileScopeConsentText}" - }, - "protocolMappers" : [ { - "id" : "b7679e3c-23de-49e1-ae26-d58dac54b6cd", - "name" : "birthdate", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "birthdate", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "birthdate", - "jsonType.label" : "String" - } - }, { - "id" : "c2bede9d-9d79-4dc1-8ed0-7689baa4de73", - "name" : "username", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "username", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "preferred_username", - "jsonType.label" : "String" - } - }, { - "id" : "8d05a238-9c89-4548-bf77-ec690e826734", - "name" : "picture", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "picture", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "picture", - "jsonType.label" : "String" - } - }, { - "id" : "87f85b47-3189-4af2-8651-0663a4af6c4e", - "name" : "zoneinfo", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "zoneinfo", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "zoneinfo", - "jsonType.label" : "String" - } - }, { - "id" : "23510843-4c32-4bfe-848a-fed38392e1c5", - "name" : "profile", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "profile", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "profile", - "jsonType.label" : "String" - } - }, { - "id" : "344b9514-c119-4284-95da-9fb29e6e9f66", - "name" : "middle name", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "middleName", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "middle_name", - "jsonType.label" : "String" - } - }, { - "id" : "18c4fae8-fdb8-476d-aea7-7b2384667a11", - "name" : "given name", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "firstName", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "given_name", - "jsonType.label" : "String" - } - }, { - "id" : "e8241ff5-2278-4172-9ba4-6d60548a78fd", - "name" : "nickname", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "nickname", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "nickname", - "jsonType.label" : "String" - } - }, { - "id" : "2e648938-e959-4e17-a208-861d8d4eacd5", - "name" : "locale", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "locale", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "locale", - "jsonType.label" : "String" - } - }, { - "id" : "97aefc80-f08e-4f41-807d-5236395ec89f", - "name" : "website", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "website", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "website", - "jsonType.label" : "String" - } - }, { - "id" : "438728ae-3c2a-4faa-83f7-97fda8802058", - "name" : "gender", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "gender", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "gender", - "jsonType.label" : "String" - } - }, { - "id" : "3b3c20dd-72c9-4898-90ca-bf4de8658e96", - "name" : "family name", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "lastName", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "family_name", - "jsonType.label" : "String" - } - }, { - "id" : "3d9f3f57-df77-470a-9ce1-a4a49cb6ea9c", - "name" : "full name", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-full-name-mapper", - "consentRequired" : false, - "config" : { - "id.token.claim" : "true", - "access.token.claim" : "true", - "userinfo.token.claim" : "true" - } - }, { - "id" : "51d8af12-a61e-45ef-b1c7-8c0fb16dc835", - "name" : "updated at", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "updatedAt", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "updated_at", - "jsonType.label" : "long" - } - } ] - }, { - "id" : "0ca5fed1-0041-4acc-b018-b7d4da4c2a9a", - "name" : "email", - "description" : "OpenID Connect built-in scope: email", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "true", - "display.on.consent.screen" : "true", - "consent.screen.text" : "${emailScopeConsentText}" - }, - "protocolMappers" : [ { - "id" : "a8ea96d0-7bb1-46d8-bb3d-87e238b42e8b", - "name" : "email verified", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-property-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "emailVerified", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "email_verified", - "jsonType.label" : "boolean" - } - }, { - "id" : "75ce3646-48cf-431e-b54b-2d88d943ebd6", - "name" : "email", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "email", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "email", - "jsonType.label" : "String" - } - } ] - }, { - "id" : "ae433992-c6a6-46ed-89a5-75899f4edc99", - "name" : "microprofile-jwt", - "description" : "Microprofile - JWT built-in scope", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "true", - "display.on.consent.screen" : "false" - }, - "protocolMappers" : [ { - "id" : "f2419169-8d1a-42d6-a9e5-35c82f32c8b0", - "name" : "upn", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "username", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "upn", - "jsonType.label" : "String" - } - }, { - "id" : "25c91c90-20af-4c81-be19-fe560f9690f2", - "name" : "groups", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-realm-role-mapper", - "consentRequired" : false, - "config" : { - "multivalued" : "true", - "userinfo.token.claim" : "true", - "user.attribute" : "foo", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "groups", - "jsonType.label" : "String" - } - } ] - }, { - "id" : "c672e3cb-0646-46fb-887f-00be5de8a12e", - "name" : "web-origins", - "description" : "OpenID Connect scope for add allowed web origins to the access token", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "false", - "display.on.consent.screen" : "false", - "consent.screen.text" : "" - }, - "protocolMappers" : [ { - "id" : "32a16dd0-b249-44a7-83b2-dd015c86cce8", - "name" : "allowed web origins", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-allowed-origins-mapper", - "consentRequired" : false, - "config" : { } - } ] - }, { - "id" : "2bd35aef-70dd-4102-a8a9-f4c7e3135edc", - "name" : "phone", - "description" : "OpenID Connect built-in scope: phone", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "true", - "display.on.consent.screen" : "true", - "consent.screen.text" : "${phoneScopeConsentText}" - }, - "protocolMappers" : [ { - "id" : "e6a1c822-779b-48e1-aadc-fb75f11b3bf2", - "name" : "phone number", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "phoneNumber", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "phone_number", - "jsonType.label" : "String" - } - }, { - "id" : "ca601f00-8cae-4159-acb3-85dca0a7521d", - "name" : "phone number verified", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-attribute-mapper", - "consentRequired" : false, - "config" : { - "userinfo.token.claim" : "true", - "user.attribute" : "phoneNumberVerified", - "id.token.claim" : "true", - "access.token.claim" : "true", - "claim.name" : "phone_number_verified", - "jsonType.label" : "boolean" - } - } ] - }, { - "id" : "d797387e-1f5c-4232-8e68-f62892491073", - "name" : "role_list", - "description" : "SAML role list", - "protocol" : "saml", - "attributes" : { - "consent.screen.text" : "${samlRoleListScopeConsentText}", - "display.on.consent.screen" : "true" - }, - "protocolMappers" : [ { - "id" : "da7673c2-0335-402b-866b-70beb6805637", - "name" : "role list", - "protocol" : "saml", - "protocolMapper" : "saml-role-list-mapper", - "consentRequired" : false, - "config" : { - "single" : "false", - "attribute.nameformat" : "Basic", - "attribute.name" : "Role" - } - } ] - }, { - "id" : "e217ed3a-3a19-4548-bbb5-19e9f2642ccd", - "name" : "roles", - "description" : "OpenID Connect scope for add user roles to the access token", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "false", - "display.on.consent.screen" : "true", - "consent.screen.text" : "${rolesScopeConsentText}" - }, - "protocolMappers" : [ { - "id" : "dd7addec-1976-477e-ba66-ee77869156d7", - "name" : "client roles", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-client-role-mapper", - "consentRequired" : false, - "config" : { - "user.attribute" : "foo", - "access.token.claim" : "true", - "claim.name" : "resource_access.${client_id}.roles", - "jsonType.label" : "String", - "multivalued" : "true" - } - }, { - "id" : "15531919-9b88-4314-9393-2501c07ba6ea", - "name" : "audience resolve", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-audience-resolve-mapper", - "consentRequired" : false, - "config" : { } - }, { - "id" : "399d1e5f-f9c4-400f-81b5-397de8597ffb", - "name" : "realm roles", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-usermodel-realm-role-mapper", - "consentRequired" : false, - "config" : { - "user.attribute" : "foo", - "access.token.claim" : "true", - "claim.name" : "realm_access.roles", - "jsonType.label" : "String", - "multivalued" : "true" - } - } ] - }, { - "id" : "f3daaa09-a5d5-4766-ae71-487c67fc99af", - "name" : "acr", - "description" : "OpenID Connect scope for add acr (authentication context class reference) to the token", - "protocol" : "openid-connect", - "attributes" : { - "include.in.token.scope" : "false", - "display.on.consent.screen" : "false" - }, - "protocolMappers" : [ { - "id" : "d18e6224-a4a7-4cf3-8282-40e4706fc0c7", - "name" : "acr loa level", - "protocol" : "openid-connect", - "protocolMapper" : "oidc-acr-mapper", - "consentRequired" : false, - "config" : { - "id.token.claim" : "true", - "access.token.claim" : "true", - "userinfo.token.claim" : "true" - } - } ] - }, { - "id" : "52c605c5-9289-48c4-86bc-d6701a9008d1", - "name" : "offline_access", - "description" : "OpenID Connect built-in scope: offline_access", - "protocol" : "openid-connect", - "attributes" : { - "consent.screen.text" : "${offlineAccessScopeConsentText}", - "display.on.consent.screen" : "true" - } - } ], - "defaultDefaultClientScopes" : [ "role_list", "profile", "email", "roles", "web-origins", "acr" ], - "defaultOptionalClientScopes" : [ "offline_access", "address", "phone", "microprofile-jwt" ], - "browserSecurityHeaders" : { - "contentSecurityPolicyReportOnly" : "", - "xContentTypeOptions" : "nosniff", - "referrerPolicy" : "no-referrer", - "xRobotsTag" : "none", - "xFrameOptions" : "SAMEORIGIN", - "contentSecurityPolicy" : "frame-src 'self'; frame-ancestors 'self'; object-src 'none';", - "xXSSProtection" : "1; mode=block", - "strictTransportSecurity" : "max-age=31536000; includeSubDomains" - }, - "smtpServer" : { }, - "eventsEnabled" : false, - "eventsListeners" : [ "jboss-logging" ], - "enabledEventTypes" : [ ], - "adminEventsEnabled" : false, - "adminEventsDetailsEnabled" : false, - "identityProviders" : [ ], - "identityProviderMappers" : [ ], - "components" : { - "org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy" : [ { - "id" : "45df67e2-101f-471b-aa00-dbf11bd13bf6", - "name" : "Allowed Protocol Mapper Types", - "providerId" : "allowed-protocol-mappers", - "subType" : "authenticated", - "subComponents" : { }, - "config" : { - "allowed-protocol-mapper-types" : [ "oidc-address-mapper", "saml-user-property-mapper", "saml-user-attribute-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-usermodel-property-mapper", "oidc-sha256-pairwise-sub-mapper" ] - } - }, { - "id" : "1a9c6e95-2a93-47b4-83ee-b414941cac4e", - "name" : "Consent Required", - "providerId" : "consent-required", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { } - }, { - "id" : "785f873e-bf19-4386-a4b8-8c3a901a6580", - "name" : "Trusted Hosts", - "providerId" : "trusted-hosts", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { - "host-sending-registration-request-must-match" : [ "true" ], - "client-uris-must-match" : [ "true" ] - } - }, { - "id" : "3a90975c-27da-4807-9918-85c4d170880c", - "name" : "Max Clients Limit", - "providerId" : "max-clients", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { - "max-clients" : [ "200" ] - } - }, { - "id" : "d4ec2bdf-67fe-4c7a-bd62-d6cbe89046d5", - "name" : "Allowed Client Scopes", - "providerId" : "allowed-client-templates", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { - "allow-default-scopes" : [ "true" ] - } - }, { - "id" : "895416e8-a54b-4695-9a2f-422c00e70466", - "name" : "Allowed Protocol Mapper Types", - "providerId" : "allowed-protocol-mappers", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { - "allowed-protocol-mapper-types" : [ "oidc-sha256-pairwise-sub-mapper", "oidc-usermodel-property-mapper", "saml-user-attribute-mapper", "saml-user-property-mapper", "oidc-full-name-mapper", "oidc-usermodel-attribute-mapper", "saml-role-list-mapper", "oidc-address-mapper" ] - } - }, { - "id" : "c6451db3-895c-4b82-9b16-3923fc8161f4", - "name" : "Allowed Client Scopes", - "providerId" : "allowed-client-templates", - "subType" : "authenticated", - "subComponents" : { }, - "config" : { - "allow-default-scopes" : [ "true" ] - } - }, { - "id" : "4a99f0f3-26a3-4ef1-8dda-9b9c46e9c88d", - "name" : "Full Scope Disabled", - "providerId" : "scope", - "subType" : "anonymous", - "subComponents" : { }, - "config" : { } - } ], - "org.keycloak.keys.KeyProvider" : [ { - "id" : "2189659d-5fe5-411f-80ef-64947f7220d1", - "name" : "rsa-generated", - "providerId" : "rsa-generated", - "subComponents" : { }, - "config" : { - "privateKey" : [ "MIIEogIBAAKCAQEAxREfnzexj01VTzWjNc4Tn3YqxvphTWbZ1nfiTXkKT+AnLanMFiz4bmLaw2zEvx8rktivW686jd5V6GaLQKV6N1dVACirzZ3NljbFNxAIXs+hCe9H92dZHSYyBYGgnM/CPnusxpVE3ao9xkMxTwSCnbrrbF+0tw56QdCpYjwMNYKq+Lx4pvug+xxFC7nxDR367Q9vkQJhrHBoKRz/4vbK4qEBx63H3ZaB4IMxykUXWK15UisMnhnbRFFYN2g4l+K/zmhKUZyr/ubyDYcjmvnkBTG1LEwpt/uFs5fae23PSrNUlnkTXmPB633LExGXBsyBy3NZ4AgLynQKVuZPcUVH6wIDAQABAoIBADWELG+7GqudZzTvDocOkzKjTwOhPCpea3r8LIc4fy3o5ArZCTTeeorTqrAWiimS5+zljl2aLQ8Y2YCW1Gs2ZQXBYDJ+WQWqPIn2DsGgx30j6oo9onAT71XkqQHozXq4SvpX8LgvEjgWQtdkKPBZ+7Sk7ckNBpENy/KynUUxpGklPAv5m5fkXkiiCl/64n9Ar24xL7mRbQxHzvD5MdWqcCvWx6dtMmYo3Q0b6KeM9CjcBKhKiJfJZ2/besbTFJYzIBjt5zTEfInHbWthoqqy6JGnh8DHJ64yp1/t49a3qIwHBxDQkRp81OLiRYTEMYyDDdkfYl57He9+DalBIuAbHnUCgYEA9rc6GQwWPZTHdu31FXu4JSDTUQ0uIX9zcKvxHDp3a8dEhTjm1Zu/l+T/IxVexZqElaMh9fzUWsw2SOdDZEd+vMgU0gJtGgPIl+iYX8qvM4y8TrnIQTuSFeW2hKazycyOWJA8KwN3196bjyQEIBts2c+A5ZjO2xUWfNZLd/LiSq8CgYEAzHuY1UnBl0/NGyDOtgm7aQ5ip74EgBLpdXQBwQX/QVPy5LWoyu0T6BAHL4902t5bGL30yXgnnaLguwhXPVBCFwg5iJjHbOUiD3NgETse9xaNW68COONAwfNGYRtEGr4UmYZTbylga2ysB30xUcUJ6GEFObrbXx3ztJ9eN+Y19YUCgYBm1ebEi/I1Ru+BVhxjEQenijAqx5ij49EFdNXyUzh110BrW1V0UhAhSxVB1WWEbiy3hqDgPLtzAU3bQ3ImuVpNbASpqNM7Fbql/xCMVRqEHTRciDm9Xww8TlyunCGyiq4GolBCCZcJhsNGfdeuXmAXxdNPYEtQrFCMRnJ8k+PZBwKBgEKSGneVw4jXWhby31k0YecZ39RscFqhzY+HbOrCYQ+LnRAIdCNce5aZYT2CnrCCo3WyofbVP1B6rl81n/E+J8YHz3NBCevRzPzquuPhM3uNxAeNOlP66CI8aTVEAzARofM5YABYoCNZBciKYXwVgdw9ec4Jn1GgFq8/ExVvxTFhAoGAcu6HCooz9XyMAuUb0V+1WxiAqv20dU+lLsQUcYMRq/Xtkc/veEKixzqUSCy1WQtTWcJvRQDuGAMbvztUOqeg3IQNQ/omANXOAnrH/xqVTW5iJsrs4s+EIKIg0/AMTu31Wl7EvovujZK28eDbhn/UXkWzZ8m6XeX4w5gPOgimgrQ=" ], - "certificate" : [ "MIIClzCCAX8CBgGMHVjjUjANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARja2FuMB4XDTIzMTEyOTIzMDgzM1oXDTMzMTEyOTIzMTAxM1owDzENMAsGA1UEAwwEY2thbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMURH583sY9NVU81ozXOE592Ksb6YU1m2dZ34k15Ck/gJy2pzBYs+G5i2sNsxL8fK5LYr1uvOo3eVehmi0ClejdXVQAoq82dzZY2xTcQCF7PoQnvR/dnWR0mMgWBoJzPwj57rMaVRN2qPcZDMU8Egp2662xftLcOekHQqWI8DDWCqvi8eKb7oPscRQu58Q0d+u0Pb5ECYaxwaCkc/+L2yuKhAcetx92WgeCDMcpFF1iteVIrDJ4Z20RRWDdoOJfiv85oSlGcq/7m8g2HI5r55AUxtSxMKbf7hbOX2nttz0qzVJZ5E15jwet9yxMRlwbMgctzWeAIC8p0ClbmT3FFR+sCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAjykLIjiCFjHmJCj60rC2CBq5MFf7knJuCIZKOMUU2e1zZI1kkI4IZ7yQT9iHURU2bZngvKd8EKwoPw1MDlNgGVDA/UvjOgCOXKOKkd9VuEMk7pGbjURBbRiPmJqv2mKs16/7Jzt3n/xBF513H35AO54JwoMg0gFjG40HnMz7OhIxnUgCls0Slk0BE7hGpVwXs9Iw7tPDrTnVSkObwpdlgQVaqI2igylPYsE6C7piMNEkmaPGwrLNsq9kVzph+Rj9C5/7HyK6N3M397JDTp9F1wpDWMB/ZQrwQ5EHUJxaBbkoQ6IbdFwBlVtz2CzhllpPsnIF3Pn7RGfrQXp0B9zjCg==" ], - "priority" : [ "100" ] - } - }, { - "id" : "4ce21678-f937-4f84-a9a0-f6db3719e122", - "name" : "hmac-generated", - "providerId" : "hmac-generated", - "subComponents" : { }, - "config" : { - "kid" : [ "8ff3f9b8-43cf-4fa8-a23e-a2c0b571023a" ], - "secret" : [ "Q-quxNo6VpCD21lFiz6DTtKku1Zfs8IqrJj6fSvbaVXLk4V8pV4OloS359ntndsv8CN4_zrf4SmbtYab5eR6hw" ], - "priority" : [ "100" ], - "algorithm" : [ "HS256" ] - } - }, { - "id" : "dceadb9f-9f49-4817-a671-5acd962f8edf", - "name" : "rsa-enc-generated", - "providerId" : "rsa-enc-generated", - "subComponents" : { }, - "config" : { - "privateKey" : [ "MIIEpAIBAAKCAQEAr9i5p95HHAIgD0yfNf8Z8f0mzTvfJfa3PoWOhlJOwXGmMccpkuoG/qlCWMyAMeFH+UCuroipfVVNmrVzvoTP9py6TDcloUJbUUqh/pAnaqxSbyXeGoEgLJDkPbQYzZkp10pJjZTHYWXkeJsLHlryTtgxlk9IJP6Y59qBYm+yoaqn2TVlru8oqm8HRb7wzNFX6FCcG5JW6NV/HS4xP0NIGgsi7KFPwthuUW3zKz5Aqav8Yr4jSHKJAEerYvAXrXHA5ej+FBhH/dLYoTmoxP483Ss2LKSD0BmFftBYdzrZ0pcDruadM5H5PS63DVra5NPdP+mlO2PiDAUsn4nnCKJvgQIDAQABAoIBACdiLMKSH+7/8to6WPYo+lCeWBBjNmk0Rno0Q2WGDal5oLVJW+BRldt3YSquMo/5WrtSZ00jwoIVltnthczHxiP/miHzv/PL/tPIGVwAQTO9AIFwQ7w/60rP8K55JYz2ns5fDvYsujLwNSll4CmeSOKrvP9jJk9SzkAvSgcX6TQXuwn2nLTFmahRyTDT2RhfSVcOejbZSFN8CzuWCQISn178Z1m22YavZVob/uFUg8QC1vWCt5oftOZ91744GMia66wJSC7BHrXwVSH0I5vl9n24T4ZwQhOtbXSWd1AS2jljZjj9dLK7cibrW6xtp4Fzco+llKNZIMOsjyXhqpXUgSECgYEA69GIFVzlRdvi8npFYcvTGYmNl503tf1jxNrSv2KQzUwuSt3/P4T8Iboinp3ZfB8Q6NkMvgwyWC2d9oENND9wOQ2LSU3bZBHVgV1nxQd1c+qqZiLbuR8TPc2S/EKQ0qk/TGfGyNkmjhGtVo6xxq/sfswmnOfuE8s/JkB7sTCoYN0CgYEAvuVKD/lCG8VQKYn7oqxuo46ofCarSl0eYbMtxhDRSlMmt+28V8sDMS6owyP0mkFOzprKdNAg0FXgZc2xO88NoUHwCGvM9n7cLyU9rtu/7UPehOyFonk4xQYKHrvmOraNVii/YsYQOKd8K02gvkXOFEYQU4zzNHqD6K3OH6ra7PUCgYBYjYxOiV3HR/UHHQck3EdfVZoIDw+2lXp7l7iACeFaVnsjvg11qtiLSbxqV9gtlfThm2//hdD579dbk8aDkjbwFbfyRPxXraLBO3QWNuDSMJLgW8Kq15KAKMxDUjPUB54vcODi1zh1LQoscNUtSS7DxqHRVf6/DBmgoaJRPXZdOQKBgQCy+rvT+jnXW8prB+ocfVtGkky6Cm9zS5detuZl3AK+kvOsY4PBNKCLjlnAjIeb0TuYTl0f5Lu/WaUJDi/sCZeX6ACrhJcpTYwXz+zjczmhtY5+RlyNFub5I059vmKADgS6EX5Pl7BBzhaHa0MY4s3zCDXqgC7Ot0fR8pNd8Y1NuQKBgQCGWCRQ+Rw5eYd8YmCsaRnTVfNI2clMXKx6/dLx8fjppoDaF0+37+iieMfbxDyNAgDR16ed/VxWA6b/JC1cjRgFtpGl7ZIVX2upudrBp/Mu/CBbTv6UZF3KuyidAXpt0OnJeZo/E7/oFO6DwqmnW/7VPNx9yoHuuno43bVPSiGtjg==" ], - "certificate" : [ "MIIClzCCAX8CBgGMHVjkPTANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDARja2FuMB4XDTIzMTEyOTIzMDgzNFoXDTMzMTEyOTIzMTAxNFowDzENMAsGA1UEAwwEY2thbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK/YuafeRxwCIA9MnzX/GfH9Js073yX2tz6FjoZSTsFxpjHHKZLqBv6pQljMgDHhR/lArq6IqX1VTZq1c76Ez/acukw3JaFCW1FKof6QJ2qsUm8l3hqBICyQ5D20GM2ZKddKSY2Ux2Fl5HibCx5a8k7YMZZPSCT+mOfagWJvsqGqp9k1Za7vKKpvB0W+8MzRV+hQnBuSVujVfx0uMT9DSBoLIuyhT8LYblFt8ys+QKmr/GK+I0hyiQBHq2LwF61xwOXo/hQYR/3S2KE5qMT+PN0rNiykg9AZhX7QWHc62dKXA67mnTOR+T0utw1a2uTT3T/ppTtj4gwFLJ+J5wiib4ECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAc494XGxjSw8yRicpnk00jIdbZ3SgeJadkXhAm13yeX+YYgUgk08MDIr4laPY4I6zBb/L3bz6j132TUBYDXriJ1EokHp6kOM2bN9UDMFQEmsaMs2wcFPDNu8p/fbMoljeGF3D5YiQPJUlBb1AX/3HWK6qFIJlQRdppUneJ2ANM2vBRN5mjX0Ss2dG0dXaM9NrTK5EmGc4io9yevWagK6/BNSgKVzZN6Sr0Yi5DX/NW8V43aGfUAxRZdLgTpbM1i/TKZGxYsL3KPquIYRn+SB9+U0uX7D6+5hKq5CJG4HAdawCtHqMGwLKlBkv2+Wj//zpM0LHv2vrmObUl3nJfDCU7A==" ], - "priority" : [ "100" ], - "algorithm" : [ "RSA-OAEP" ] - } - }, { - "id" : "22cbb94c-4328-4b8b-be5c-da82b2d221e6", - "name" : "aes-generated", - "providerId" : "aes-generated", - "subComponents" : { }, - "config" : { - "kid" : [ "734358e6-0b32-4ead-ab4c-3c5db4e9626d" ], - "secret" : [ "2H-mDD3LuqVZYS1tp76EOA" ], - "priority" : [ "100" ] - } - } ] - }, - "internationalizationEnabled" : false, - "supportedLocales" : [ ], - "authenticationFlows" : [ { - "id" : "c9aa61d3-5d87-4cb2-83a9-fc164f2b5930", - "alias" : "Account verification options", - "description" : "Method with which to verity the existing account", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "idp-email-verification", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "ALTERNATIVE", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "Verify Existing Account by Re-authentication", - "userSetupAllowed" : false - } ] - }, { - "id" : "9e3de326-f007-442f-9696-4ed6677f90e3", - "alias" : "Browser - Conditional OTP", - "description" : "Flow to determine if the OTP is required for the authentication", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "conditional-user-configured", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "auth-otp-form", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "629c59ac-909c-4c3b-8d36-d9cb8d177f3f", - "alias" : "Direct Grant - Conditional OTP", - "description" : "Flow to determine if the OTP is required for the authentication", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "conditional-user-configured", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "direct-grant-validate-otp", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "c79256c5-d215-4ea7-b68c-b3a0d966930c", - "alias" : "First broker login - Conditional OTP", - "description" : "Flow to determine if the OTP is required for the authentication", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "conditional-user-configured", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "auth-otp-form", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "1ad3ab9e-54e4-4397-88a6-9fdec6501b19", - "alias" : "Handle Existing Account", - "description" : "Handle what to do if there is existing account with same email/username like authenticated identity provider", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "idp-confirm-link", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "Account verification options", - "userSetupAllowed" : false - } ] - }, { - "id" : "71157dfc-793e-4614-9256-a4ee5eedfef1", - "alias" : "Reset - Conditional OTP", - "description" : "Flow to determine if the OTP should be reset or not. Set to REQUIRED to force.", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "conditional-user-configured", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "reset-otp", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "46f9b776-700b-4abd-8286-b4b23438c5a3", - "alias" : "User creation or linking", - "description" : "Flow for the existing/non-existing user alternatives", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticatorConfig" : "create unique user config", - "authenticator" : "idp-create-user-if-unique", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "ALTERNATIVE", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "Handle Existing Account", - "userSetupAllowed" : false - } ] - }, { - "id" : "e952c5c6-8849-4d75-b74e-2d2bdf8ac50f", - "alias" : "Verify Existing Account by Re-authentication", - "description" : "Reauthentication of existing account", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "idp-username-password-form", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "CONDITIONAL", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "First broker login - Conditional OTP", - "userSetupAllowed" : false - } ] - }, { - "id" : "d53e6878-4a08-4737-8ec8-a893c1a25055", - "alias" : "browser", - "description" : "browser based authentication", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "auth-cookie", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "auth-spnego", - "authenticatorFlow" : false, - "requirement" : "DISABLED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "identity-provider-redirector", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 25, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "ALTERNATIVE", - "priority" : 30, - "autheticatorFlow" : true, - "flowAlias" : "forms", - "userSetupAllowed" : false - } ] - }, { - "id" : "27b45afc-dacc-42d2-b505-1cde88d20135", - "alias" : "clients", - "description" : "Base authentication for clients", - "providerId" : "client-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "client-secret", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "client-jwt", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "client-secret-jwt", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 30, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "client-x509", - "authenticatorFlow" : false, - "requirement" : "ALTERNATIVE", - "priority" : 40, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "d9478b18-9639-449e-85d6-56540f0803a1", - "alias" : "direct grant", - "description" : "OpenID Connect Resource Owner Grant", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "direct-grant-validate-username", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "direct-grant-validate-password", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "CONDITIONAL", - "priority" : 30, - "autheticatorFlow" : true, - "flowAlias" : "Direct Grant - Conditional OTP", - "userSetupAllowed" : false - } ] - }, { - "id" : "2c65eda3-a182-4a11-9ade-f61b78d78c6d", - "alias" : "docker auth", - "description" : "Used by Docker clients to authenticate against the IDP", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "docker-http-basic-authenticator", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "c4a0ed65-c0be-4a58-b0a1-a68873949032", - "alias" : "first broker login", - "description" : "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticatorConfig" : "review profile config", - "authenticator" : "idp-review-profile", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "User creation or linking", - "userSetupAllowed" : false - } ] - }, { - "id" : "604aafa0-254a-4ed4-a531-f83b47487901", - "alias" : "forms", - "description" : "Username, password, otp and other auth forms.", - "providerId" : "basic-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "auth-username-password-form", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "CONDITIONAL", - "priority" : 20, - "autheticatorFlow" : true, - "flowAlias" : "Browser - Conditional OTP", - "userSetupAllowed" : false - } ] - }, { - "id" : "3be806e8-49ce-4751-9818-4fbfb7027ccc", - "alias" : "registration", - "description" : "registration flow", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "registration-page-form", - "authenticatorFlow" : true, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : true, - "flowAlias" : "registration form", - "userSetupAllowed" : false - } ] - }, { - "id" : "bb0a7b2c-c1d4-44fa-87ce-12fa5d617994", - "alias" : "registration form", - "description" : "registration form", - "providerId" : "form-flow", - "topLevel" : false, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "registration-user-creation", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "registration-password-action", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 50, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "registration-recaptcha-action", - "authenticatorFlow" : false, - "requirement" : "DISABLED", - "priority" : 60, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - }, { - "id" : "f31bc3bf-8954-4ede-a514-84264864e7e3", - "alias" : "reset credentials", - "description" : "Reset credentials for a user if they forgot their password or something", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "reset-credentials-choose-user", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "reset-credential-email", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 20, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticator" : "reset-password", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 30, - "autheticatorFlow" : false, - "userSetupAllowed" : false - }, { - "authenticatorFlow" : true, - "requirement" : "CONDITIONAL", - "priority" : 40, - "autheticatorFlow" : true, - "flowAlias" : "Reset - Conditional OTP", - "userSetupAllowed" : false - } ] - }, { - "id" : "5c6cd2f4-83af-40ff-988b-062581eb15db", - "alias" : "saml ecp", - "description" : "SAML ECP Profile Authentication Flow", - "providerId" : "basic-flow", - "topLevel" : true, - "builtIn" : true, - "authenticationExecutions" : [ { - "authenticator" : "http-basic-authenticator", - "authenticatorFlow" : false, - "requirement" : "REQUIRED", - "priority" : 10, - "autheticatorFlow" : false, - "userSetupAllowed" : false - } ] - } ], - "authenticatorConfig" : [ { - "id" : "cd71993a-b422-4a88-843a-415f62c820c9", - "alias" : "create unique user config", - "config" : { - "require.password.update.after.registration" : "false" - } - }, { - "id" : "24be9259-6ac1-4e0b-b776-5c8ec1d783ed", - "alias" : "review profile config", - "config" : { - "update.profile.on.first.login" : "missing" - } - } ], - "requiredActions" : [ { - "alias" : "CONFIGURE_TOTP", - "name" : "Configure OTP", - "providerId" : "CONFIGURE_TOTP", - "enabled" : true, - "defaultAction" : false, - "priority" : 10, - "config" : { } - }, { - "alias" : "TERMS_AND_CONDITIONS", - "name" : "Terms and Conditions", - "providerId" : "TERMS_AND_CONDITIONS", - "enabled" : false, - "defaultAction" : false, - "priority" : 20, - "config" : { } - }, { - "alias" : "UPDATE_PASSWORD", - "name" : "Update Password", - "providerId" : "UPDATE_PASSWORD", - "enabled" : true, - "defaultAction" : false, - "priority" : 30, - "config" : { } - }, { - "alias" : "UPDATE_PROFILE", - "name" : "Update Profile", - "providerId" : "UPDATE_PROFILE", - "enabled" : true, - "defaultAction" : false, - "priority" : 40, - "config" : { } - }, { - "alias" : "VERIFY_EMAIL", - "name" : "Verify Email", - "providerId" : "VERIFY_EMAIL", - "enabled" : true, - "defaultAction" : false, - "priority" : 50, - "config" : { } - }, { - "alias" : "delete_account", - "name" : "Delete Account", - "providerId" : "delete_account", - "enabled" : false, - "defaultAction" : false, - "priority" : 60, - "config" : { } - }, { - "alias" : "webauthn-register", - "name" : "Webauthn Register", - "providerId" : "webauthn-register", - "enabled" : true, - "defaultAction" : false, - "priority" : 70, - "config" : { } - }, { - "alias" : "webauthn-register-passwordless", - "name" : "Webauthn Register Passwordless", - "providerId" : "webauthn-register-passwordless", - "enabled" : true, - "defaultAction" : false, - "priority" : 80, - "config" : { } - }, { - "alias" : "update_user_locale", - "name" : "Update User Locale", - "providerId" : "update_user_locale", - "enabled" : true, - "defaultAction" : false, - "priority" : 1000, - "config" : { } - } ], - "browserFlow" : "browser", - "registrationFlow" : "registration", - "directGrantFlow" : "direct grant", - "resetCredentialsFlow" : "reset credentials", - "clientAuthenticationFlow" : "clients", - "dockerAuthenticationFlow" : "docker auth", - "attributes" : { - "cibaBackchannelTokenDeliveryMode" : "poll", - "cibaExpiresIn" : "120", - "cibaAuthRequestedUserHint" : "login_hint", - "oauth2DeviceCodeLifespan" : "600", - "clientOfflineSessionMaxLifespan" : "0", - "oauth2DevicePollingInterval" : "5", - "clientSessionIdleTimeout" : "0", - "parRequestUriLifespan" : "60", - "clientSessionMaxLifespan" : "0", - "clientOfflineSessionIdleTimeout" : "0", - "cibaInterval" : "5", - "realmReusableOtpCode" : "false" - }, - "keycloakVersion" : "23.0.3", - "userManagedAccessAllowed" : false, - "clientProfiles" : { - "profiles" : [ ] - }, - "clientPolicies" : { - "policies" : [ ] - } -} \ No newline at end of file diff --git a/keycloak/realms/ckan-realm.json.license b/keycloak/realms/ckan-realm.json.license deleted file mode 100644 index 767ca7901..000000000 --- a/keycloak/realms/ckan-realm.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024 PNED G.I.E. - -SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh b/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh deleted file mode 100644 index 7d9831ecf..000000000 --- a/postgresql/docker-entrypoint-initdb.d/2_create_keycloakdb.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2024 PNED G.I.E. -# -# SPDX-License-Identifier: AGPL-3.0-only - -set -e - -echo "Creating $KC_DB_NAME for $KC_DB_USERNAME" - -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE ROLE "$KC_DB_USERNAME" NOSUPERUSER CREATEDB CREATEROLE LOGIN PASSWORD '$KC_DB_PASSWORD'; - CREATE DATABASE "$KC_DB_NAME" OWNER "$KC_DB_USERNAME" ENCODING 'utf-8'; -EOSQL diff --git a/postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh similarity index 100% rename from postgresql/docker-entrypoint-initdb.d/3_setup_test_databases.sh rename to postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh From 9af6a95c1947a9d20ea5a639ddb5653d64588771 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 4 Apr 2024 16:41:35 +0200 Subject: [PATCH 100/284] chore: upgrade ckanext-gdi-userportal --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 001682525..9645ae131 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.1#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.2#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 7ab964a9a..7261973fa 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 7ab964a9ae624df9d7bb7ff267dd7b6304c03a68 +Subproject commit 7261973fafdce87ab07ee46797870b5148de8c3c From 6b3900cafffdbae7e143018accf40ab4d28d64d7 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Thu, 11 Apr 2024 11:53:36 +0200 Subject: [PATCH 101/284] fix: set up profiles to fix parsing from file bug --- ckan/docker-entrypoint.d/setup_scheming.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 6b2e414da..672fc70e2 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -9,4 +9,6 @@ echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/gdi_userportal.json"\ "scheming.presets = ckanext.scheming:presets.json"\ - "scheming.dataset_fallback = false" + "scheming.dataset_fallback = false"\ + "ckanext.dcat.rdf.profiles = euro_dcat_ap_2 fairdatapoint_dcat_ap"\ + "ckanext.dcat.compatibility_mode = true" From 6ee07de416839d93ff6362e3052f3ed9b68745ef Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Tue, 16 Apr 2024 09:34:22 +0200 Subject: [PATCH 102/284] update gdi-userportal reference --- ckan/Dockerfile | 4 ++-- src/ckanext-gdi-userportal | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9645ae131..c2d985015 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.1.2#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ @@ -58,7 +58,7 @@ ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets s COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # TODO -# 1. Remove this comand once the issue is fixed +# 1. Remove this command once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 RUN mkdir /var/lib/ckan/storage RUN mkdir /var/lib/ckan/storage/uploads diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 7261973fa..15482079e 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 7261973fafdce87ab07ee46797870b5148de8c3c +Subproject commit 15482079eb016c71b54a6300397ad3fab0d29c59 From 77a96ed8e3269a816ad9b8bf75df4ccc2de89bdb Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Tue, 16 Apr 2024 11:06:33 +0200 Subject: [PATCH 103/284] fix: update term translations table and sql script to re-new terms --- ckan/docker-entrypoint.d/common_vocabulary_tags.csv | 9 ++++++++- ckan/docker-entrypoint.d/upload_vocabulary.sh | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 7654e4ba6..ae0e10eec 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1073,4 +1073,11 @@ http://purl.org/zonmw/covid19/10006,regional,en http://purl.org/zonmw/generic/10006,other,en https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,Invasive Breast Carcinoma,en https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,Invasive Breast Carcinoma,en -http://purl.bioontology.org/ontology/ICD10CM/J96.2,Acute and chronic respiratory failure,en \ No newline at end of file +http://purl.bioontology.org/ontology/ICD10CM/J96.2,Acute and chronic respiratory failure,en +access_rights,Access Rights,en +organization,Catalogues,en +publisher_name,Publishers,en +res_format,File Formats,en +spatial,Spatial Coverage,en +tags,Keywords,en +theme,Themes,en \ No newline at end of file diff --git a/ckan/docker-entrypoint.d/upload_vocabulary.sh b/ckan/docker-entrypoint.d/upload_vocabulary.sh index 88c0d1ca3..40518dfbc 100644 --- a/ckan/docker-entrypoint.d/upload_vocabulary.sh +++ b/ckan/docker-entrypoint.d/upload_vocabulary.sh @@ -12,7 +12,12 @@ psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB EXISTS(SELECT 1 FROM public.term_translation) as table_not_empty \gset \if :table_not_empty - \echo 'term_translation table is not empty, skipping' + \echo 'term_translation table is not empty, updating' + create table public.temp (term text, term_translation text, lang_code text); + \copy public.temp FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); + delete from public.term_translation using public.temp where public.term_translation.term = public.temp.term and public.term_translation.term_translation = public.temp.term_translation and public.term_translation.lang_code = public.temp.lang_code; + insert into public.term_translation (term, term_translation, lang_code) select term, term_translation, lang_code from public.temp; + drop table public.temp; \else \copy public.term_translation FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); \echo 'term_translation initialized with common_vocabulary_tags.csv' From a34da4b32cfe08b921e00b7caaee50f58448389a Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 16 Apr 2024 11:29:32 +0200 Subject: [PATCH 104/284] chore: update ckanext-gdi-userportal commit HEAD --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 15482079e..69455ec4d 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 15482079eb016c71b54a6300397ad3fab0d29c59 +Subproject commit 69455ec4dece943afc88c7e1b0b1eea0efba8299 From 70bf421c6c49e5731227eb29910a6a3524f4a2a9 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Tue, 16 Apr 2024 15:30:33 +0200 Subject: [PATCH 105/284] fix: update gdi-userportal reference --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c2d985015..c563f5fd8 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 15482079e..940df071c 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 15482079eb016c71b54a6300397ad3fab0d29c59 +Subproject commit 940df071c49f374a4c4014de6d7a123fc3e44fb7 From dc568c16f42bfdd162603796f534105d1ef98459 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 17 Apr 2024 14:49:44 +0200 Subject: [PATCH 106/284] fix: upgrade ckanext-gdi-userportal version --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c563f5fd8..50539ddfe 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.1#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.2#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 940df071c..2545e99d1 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 940df071c49f374a4c4014de6d7a123fc3e44fb7 +Subproject commit 2545e99d1e3204a089250341e5067c7167b26518 From 06d8151c80b91958fcdda15e7bffdbd6516ab135 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 17 Apr 2024 21:42:05 +0200 Subject: [PATCH 107/284] ci: fix registry push permissions for releases --- .github/workflows/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5c0d2d70c..7b7449dfd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,6 +31,7 @@ jobs: needs: ort permissions: contents: read + packages: write steps: - name: Checkout repository uses: actions/checkout@v4 From 8a9beb92d1d19958fe46dfa261507f09761ac13c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 18 Apr 2024 14:24:32 +0200 Subject: [PATCH 108/284] chore: add more labels --- .../common_vocabulary_tags.csv | 628 +++++++++++++++++- .../common_vocabulary_tags.csv.license | 1 + uri_label_extractor.py | 62 ++ 3 files changed, 690 insertions(+), 1 deletion(-) create mode 100644 uri_label_extractor.py diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index ae0e10eec..12b797b62 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1080,4 +1080,630 @@ publisher_name,Publishers,en res_format,File Formats,en spatial,Spatial Coverage,en tags,Keywords,en -theme,Themes,en \ No newline at end of file +theme,Themes,en +https://publications.europa.eu/resource/authority/dataset-type/APROF,Application profile,en +https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,ATTO table - EUR-Lex domain,en +https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,ATTO table - Publications domain,en +https://publications.europa.eu/resource/authority/dataset-type/CODE_LIST,Code list,en +https://publications.europa.eu/resource/authority/dataset-type/CORE_COMP,Core component,en +https://publications.europa.eu/resource/authority/resource-type/DATABASE,Database,en +https://publications.europa.eu/resource/authority/dataset-type/DIRECTORY,Directory,en +https://publications.europa.eu/resource/authority/resource-type/DOC,Document,en +https://publications.europa.eu/resource/authority/dataset-type/DOMAIN_MODEL,Domain model,en +https://publications.europa.eu/resource/authority/dataset-type/GEOSPATIAL,Geospatial data,en +https://publications.europa.eu/resource/authority/dataset-type/GLOSSARY,Glossary,en +https://publications.europa.eu/resource/authority/dataset-type/HVD,High-value dataset,en +https://publications.europa.eu/resource/authority/dataset-type/IEPD,Information exchange package description,en +https://publications.europa.eu/resource/authority/dataset-type/MAPPING,Mapping,en +https://publications.europa.eu/resource/authority/dataset-type/NAL,Name authority list,en +https://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY,Ontology,en +https://publications.europa.eu/resource/authority/resource-type/REPORT_PERIOD,Periodic report,en +https://publications.europa.eu/resource/authority/dataset-type/OP_DATPRO,Provisional data,en +http://purl.obolibrary.org/obo/T4FS_0000109,Raw data,en +https://publications.europa.eu/resource/authority/dataset-type/RELEASE,Release,en +http://publications.europa.eu/resource/authority/resource-type/REPORT,Report,en +http://publications.europa.eu/resource/authority/resource-type/REPOSITORY,Repository,en +https://publications.europa.eu/resource/authority/dataset-type/SCHEMA,Schema,en +https://publications.europa.eu/resource/authority/dataset-type/DSCRP_SERV,Service description,en +https://publications.europa.eu/resource/authority/dataset-type/STATISTICAL,Statistical data,en +https://publications.europa.eu/resource/authority/dataset-type/STYLES,Styles sheets,en +https://publications.europa.eu/resource/authority/dataset-type/SYNTAX_ECD_SCHEME,Syntax encoding scheme,en +https://publications.europa.eu/resource/authority/dataset-type/SYNTHETIC_DATA,Synthetic data,en +https://publications.europa.eu/resource/authority/dataset-type/TAXONOMY,Taxonomy,en +https://publications.europa.eu/resource/authority/dataset-type/TEST_DATA,Test data,en +https://publications.europa.eu/resource/authority/dataset-type/THESAURUS,Thesaurus,en +https://publications.europa.eu/resource/authority/access-right/CONFIDENTIAL,confidential,en +https://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,non-public,en +https://publications.europa.eu/resource/authority/access-right/NORMAL,normal,en +https://publications.europa.eu/resource/authority/access-right/PUBLIC,public,en +https://publications.europa.eu/resource/authority/access-right/RESTRICTED,restricted,en +https://publications.europa.eu/resource/authority/access-right/SENSITIVE,sensitive,en +https://publications.europa.eu/resource/authority/frequency/ANNUAL,annual,en +https://publications.europa.eu/resource/authority/frequency/BIDECENNIAL,bidecennial,en +https://publications.europa.eu/resource/authority/frequency/BIENNIAL,biennial,en +https://publications.europa.eu/resource/authority/frequency/BIHOURLY,bihourly,en +https://publications.europa.eu/resource/authority/frequency/BIMONTHLY,bimonthly,en +https://publications.europa.eu/resource/authority/frequency/BIWEEKLY,biweekly,en +https://publications.europa.eu/resource/authority/frequency/CONT,cont,en +https://publications.europa.eu/resource/authority/frequency/UPDATE_CONT,continuously updated,en +https://publications.europa.eu/resource/authority/frequency/DAILY,daily,en +https://publications.europa.eu/resource/authority/frequency/DECENNIAL,decennial,en +https://publications.europa.eu/resource/authority/frequency/HOURLY,hourly,en +https://publications.europa.eu/resource/authority/frequency/IRREG,irregular,en +https://publications.europa.eu/resource/authority/frequency/MONTHLY,monthly,en +https://publications.europa.eu/resource/authority/frequency/NEVER,never,en +https://publications.europa.eu/resource/authority/frequency/OTHER,other,en +https://publications.europa.eu/resource/authority/frequency/OP_DATPRO,Provisional data,en +https://publications.europa.eu/resource/authority/frequency/QUADRENNIAL,quadrennial,en +https://publications.europa.eu/resource/authority/frequency/QUARTERLY,quarterly,en +https://publications.europa.eu/resource/authority/frequency/QUINQUENNIAL,quinquennial,en +https://publications.europa.eu/resource/authority/frequency/ANNUAL_2,semiannual,en +https://publications.europa.eu/resource/authority/frequency/MONTHLY_2,semimonthly,en +https://publications.europa.eu/resource/authority/frequency/WEEKLY_2,semiweekly,en +https://publications.europa.eu/resource/authority/frequency/MONTHLY_3,three times a month,en +https://publications.europa.eu/resource/authority/frequency/WEEKLY_3,three times a week,en +https://publications.europa.eu/resource/authority/frequency/ANNUAL_3,three times a year,en +https://publications.europa.eu/resource/authority/frequency/TRIDECENNIAL,tridecennial,en +https://publications.europa.eu/resource/authority/frequency/TRIENNIAL,triennial,en +https://publications.europa.eu/resource/authority/frequency/TRIHOURLY,trihourly,en +https://publications.europa.eu/resource/authority/frequency/DAILY_2,twice a day,en +https://publications.europa.eu/resource/authority/frequency/UNKNOWN,unknown,en +https://publications.europa.eu/resource/authority/frequency/WEEKLY,weekly,en +https://publications.europa.eu/resource/authority/data-theme/AGRI,"Agriculture, fisheries, forestry and food",en +https://publications.europa.eu/resource/authority/data-theme/ECON,Economy and finance,en +https://publications.europa.eu/resource/authority/data-theme/EDUC,"Education, culture and sport",en +https://publications.europa.eu/resource/authority/data-theme/ENER,Energy,en +https://publications.europa.eu/resource/authority/data-theme/ENVI,Environment,en +https://publications.europa.eu/resource/authority/data-theme/GOVE,Government and public sector,en +https://publications.europa.eu/resource/authority/data-theme/HEAL,Health,en +https://publications.europa.eu/resource/authority/data-theme/INTR,International issues,en +https://publications.europa.eu/resource/authority/data-theme/JUST,"Justice, legal system and public safety",en +https://publications.europa.eu/resource/authority/data-theme/SOCI,Population and society,en +https://publications.europa.eu/resource/authority/data-theme/OP_DATPRO,Provisional data,en +https://publications.europa.eu/resource/authority/data-theme/REGI,Regions and cities,en +https://publications.europa.eu/resource/authority/data-theme/TECH,Science and technology,en +https://publications.europa.eu/resource/authority/data-theme/TRAN,Transport,en +https://publications.europa.eu/resource/authority/file-type/7Z,7z,en +https://publications.europa.eu/resource/authority/file-type/AAB,AAB,en +https://publications.europa.eu/resource/authority/file-type/AAC,AAC,en +https://publications.europa.eu/resource/authority/file-type/AKN4EU,AKN4EU file,en +https://publications.europa.eu/resource/authority/file-type/AKN4EU_ZIP,AKN4EU ZIP,en +https://publications.europa.eu/resource/authority/file-type/AZW,Amazon Kindle eBook,en +https://publications.europa.eu/resource/authority/file-type/APK,APK,en +https://publications.europa.eu/resource/authority/file-type/APPX,AppX,en +https://publications.europa.eu/resource/authority/file-type/ARC_GZ,ARC GZ,en +https://publications.europa.eu/resource/authority/file-type/ARC,ARC,en +https://publications.europa.eu/resource/authority/file-type/MAP_PRVW,ArcGIS Map Preview,en +https://publications.europa.eu/resource/authority/file-type/MAP_SRVC,ArcGIS Map Service,en +https://publications.europa.eu/resource/authority/file-type/ARCINFO_COV,ArcInfo coverage,en +https://publications.europa.eu/resource/authority/file-type/ARJ,ARJ,en +https://publications.europa.eu/resource/authority/file-type/ATOM,Atom Feed,en +https://publications.europa.eu/resource/authority/file-type/BIN,Binary Data,en +https://publications.europa.eu/resource/authority/file-type/BMP,Bitmap Image File,en +https://publications.europa.eu/resource/authority/file-type/BITS,BITS XML,en +https://publications.europa.eu/resource/authority/file-type/BWF,BWF,en +https://publications.europa.eu/resource/authority/file-type/BZIP2,bzip2,en +https://publications.europa.eu/resource/authority/file-type/LAZ,Compressed LAS file,en +https://publications.europa.eu/resource/authority/file-type/CSS,CSS,en +https://publications.europa.eu/resource/authority/file-type/CSV,CSV,en +https://publications.europa.eu/resource/authority/file-type/DAPK,DAPK,en +https://publications.europa.eu/resource/authority/file-type/DBF,DBF,en +https://publications.europa.eu/resource/authority/file-type/DCR,DCR File,en +https://publications.europa.eu/resource/authority/file-type/DEB,deb,en +https://publications.europa.eu/resource/authority/file-type/DGN,DGN,en +https://publications.europa.eu/resource/authority/file-type/DMG,DMG,en +https://publications.europa.eu/resource/authority/file-type/DWCA,DwC-A,en +https://publications.europa.eu/resource/authority/file-type/DWG,DWG,en +https://publications.europa.eu/resource/authority/file-type/DXF,DXF,en +https://publications.europa.eu/resource/authority/file-type/E00,E00,en +https://publications.europa.eu/resource/authority/file-type/EAR,EAR,en +https://publications.europa.eu/resource/authority/file-type/ECW,ECW,en +https://publications.europa.eu/resource/authority/file-type/EFORMS_XML,eForms XML,en +https://publications.europa.eu/resource/authority/file-type/EPS,Encapsulated Postscript,en +https://publications.europa.eu/resource/authority/file-type/EPUB,EPUB,en +https://publications.europa.eu/resource/authority/file-type/GRID_ASCII,Esri ASCII grid,en +https://publications.europa.eu/resource/authority/file-type/GRID,Esri binary grid,en +https://publications.europa.eu/resource/authority/file-type/GDB,Esri File Geodatabase,en +https://publications.europa.eu/resource/authority/file-type/REST,Esri REST,en +https://publications.europa.eu/resource/authority/file-type/SHP,Esri Shape,en +https://publications.europa.eu/resource/authority/file-type/ETSI_XML,ETSI signature validation report,en +https://publications.europa.eu/resource/authority/file-type/XLS,Excel XLS,en +https://publications.europa.eu/resource/authority/file-type/XLSX,Excel XLSX,en +https://publications.europa.eu/resource/authority/file-type/EXE,EXE,en +https://publications.europa.eu/resource/authority/file-type/FMX4_ZIP,FMX4 ZIP,en +https://publications.europa.eu/resource/authority/file-type/FMX2,Formex 2,en +https://publications.europa.eu/resource/authority/file-type/FMX3,Formex 3,en +https://publications.europa.eu/resource/authority/file-type/FMX4,Formex 4,en +https://publications.europa.eu/resource/authority/file-type/GEOJSON,GeoJSON,en +https://publications.europa.eu/resource/authority/file-type/GPKG,GeoPackage,en +https://publications.europa.eu/resource/authority/file-type/GEOTIFF,GeoTIFF,en +https://publications.europa.eu/resource/authority/file-type/GIF,GIF,en +https://publications.europa.eu/resource/authority/file-type/GML,GML,en +https://publications.europa.eu/resource/authority/file-type/GZIP,GNU zip,en +https://publications.europa.eu/resource/authority/file-type/GTFS,GTFS,en +https://publications.europa.eu/resource/authority/file-type/HDF,HDF,en +https://publications.europa.eu/resource/authority/file-type/HDT,HDT,en +https://publications.europa.eu/resource/authority/file-type/HTML_SIMPL,HTML simplified,en +https://publications.europa.eu/resource/authority/file-type/HTML,HTML,en +https://publications.europa.eu/resource/authority/file-type/HTML5,HTML5,en +https://publications.europa.eu/resource/authority/file-type/MSG_HTTP,HTTP Message,en +https://publications.europa.eu/resource/authority/file-type/ICS,ICalendar,en +https://publications.europa.eu/resource/authority/file-type/IMMC_XML,IMMC XML message,en +https://publications.europa.eu/resource/authority/file-type/INDD,INDD,en +https://publications.europa.eu/resource/authority/file-type/IPA,IPA,en +https://publications.europa.eu/resource/authority/file-type/ISO,ISO image,en +https://publications.europa.eu/resource/authority/file-type/JAR,JAR,en +https://publications.europa.eu/resource/authority/file-type/JATS,JATS XML,en +https://publications.europa.eu/resource/authority/file-type/JS,JavaScript,en +https://publications.europa.eu/resource/authority/file-type/JPEG2000,JPEG 2000,en +https://publications.europa.eu/resource/authority/file-type/JPEG,JPEG,en +https://publications.europa.eu/resource/authority/file-type/JSON_LD,JSON-LD,en +https://publications.europa.eu/resource/authority/file-type/JSON,JSON,en +https://publications.europa.eu/resource/authority/file-type/KML,KML,en +https://publications.europa.eu/resource/authority/file-type/KMZ,KMZ,en +https://publications.europa.eu/resource/authority/file-type/LAS,LASer file,en +https://publications.europa.eu/resource/authority/file-type/LPK,Layer package,en +https://publications.europa.eu/resource/authority/file-type/LEG,LEG,en +https://publications.europa.eu/resource/authority/file-type/LHA,LHA,en +https://publications.europa.eu/resource/authority/file-type/LZIP,lzip,en +https://publications.europa.eu/resource/authority/file-type/LZMA,lzma,en +https://publications.europa.eu/resource/authority/file-type/LZO,lzo,en +https://publications.europa.eu/resource/authority/file-type/TAB,MapInfo TAB file,en +https://publications.europa.eu/resource/authority/file-type/TAB_RSTR,MapInfo TAB raster file,en +https://publications.europa.eu/resource/authority/file-type/MATHML,MathML,en +https://publications.europa.eu/resource/authority/file-type/MBOX,MBOX,en +https://publications.europa.eu/resource/authority/file-type/MDB,MDB,en +https://publications.europa.eu/resource/authority/file-type/METS_ZIP,METS package,en +https://publications.europa.eu/resource/authority/file-type/METS,METS XML,en +https://publications.europa.eu/resource/authority/file-type/MHTML,MHTML,en +https://publications.europa.eu/resource/authority/file-type/MIF_MID,MIF/MID,en +https://publications.europa.eu/resource/authority/file-type/MOBI,Mobipocket eBook,en +https://publications.europa.eu/resource/authority/file-type/MOP,MOP,en +https://publications.europa.eu/resource/authority/file-type/MOV,MOV,en +https://publications.europa.eu/resource/authority/file-type/MP3,MP3,en +https://publications.europa.eu/resource/authority/file-type/MPEG2,MPEG-2,en +https://publications.europa.eu/resource/authority/file-type/MPEG4_AVC,MPEG-4 AVC,en +https://publications.europa.eu/resource/authority/file-type/MPEG4,MPEG-4,en +https://publications.europa.eu/resource/authority/file-type/MRSID,MrSID,en +https://publications.europa.eu/resource/authority/file-type/MSI,MSI,en +https://publications.europa.eu/resource/authority/file-type/MXD,MXD,en +https://publications.europa.eu/resource/authority/file-type/N3,N3,en +https://publications.europa.eu/resource/authority/file-type/NETCDF,NetCDF,en +https://publications.europa.eu/resource/authority/file-type/OAPK,OAPK,en +https://publications.europa.eu/resource/authority/file-type/OCTET,Octet Stream,en +https://publications.europa.eu/resource/authority/file-type/ODF,ODF,en +https://publications.europa.eu/resource/authority/file-type/ODP,ODP,en +https://publications.europa.eu/resource/authority/file-type/ODS,ODS,en +https://publications.europa.eu/resource/authority/file-type/ODT,ODT,en +https://publications.europa.eu/resource/authority/file-type/ODC,OpenDocument Chart,en +https://publications.europa.eu/resource/authority/file-type/ODB,OpenDocument Database,en +https://publications.europa.eu/resource/authority/file-type/ODG,OpenDocument Image,en +https://publications.europa.eu/resource/authority/file-type/DMP,Oracle Dump,en +https://publications.europa.eu/resource/authority/file-type/OVF,OVF,en +https://publications.europa.eu/resource/authority/file-type/OWL,OWL,en +https://publications.europa.eu/resource/authority/file-type/PDF,PDF,en +https://publications.europa.eu/resource/authority/file-type/PDFA1A,PDF/A-1a,en +https://publications.europa.eu/resource/authority/file-type/PDFA1B,PDF/A-1b,en +https://publications.europa.eu/resource/authority/file-type/PDFA2A,PDF/A-2a,en +https://publications.europa.eu/resource/authority/file-type/PDFA2B,PDF/A-2b,en +https://publications.europa.eu/resource/authority/file-type/PDFUA,PDF/UA,en +https://publications.europa.eu/resource/authority/file-type/PDFX1A,PDF/X-1a,en +https://publications.europa.eu/resource/authority/file-type/PDFX2A,PDF/X-2a,en +https://publications.europa.eu/resource/authority/file-type/PDFX4,PDF/X-4,en +https://publications.europa.eu/resource/authority/file-type/PDFX,PDF/X,en +https://publications.europa.eu/resource/authority/file-type/PDF1X,PDF1X,en +https://publications.europa.eu/resource/authority/file-type/PDFA3,PDFA-3,en +https://publications.europa.eu/resource/authority/file-type/PL,Perl script,en +https://publications.europa.eu/resource/authority/file-type/TXT,Plain text,en +https://publications.europa.eu/resource/authority/file-type/PNG,PNG,en +https://publications.europa.eu/resource/authority/file-type/PPSX,PowerPoint PPSX,en +https://publications.europa.eu/resource/authority/file-type/PPT,PowerPoint PPT,en +https://publications.europa.eu/resource/authority/file-type/PPTX,PowerPoint PPTX,en +https://publications.europa.eu/resource/authority/file-type/PPS,PowerPoint Slide Show,en +https://publications.europa.eu/resource/authority/file-type/PS,PS,en +https://publications.europa.eu/resource/authority/file-type/PSD,PSD,en +https://publications.europa.eu/resource/authority/file-type/PWP,PWP,en +https://publications.europa.eu/resource/authority/file-type/QGS,QGS,en +https://publications.europa.eu/resource/authority/file-type/RAR,RAR,en +https://publications.europa.eu/resource/authority/file-type/RDF_N_QUADS,RDF N-Quads,en +https://publications.europa.eu/resource/authority/file-type/RDF_N_TRIPLES,RDF N-Triples,en +https://publications.europa.eu/resource/authority/file-type/RDF_THRIFT,RDF Thrift,en +https://publications.europa.eu/resource/authority/file-type/RDF_TRIG,RDF TriG,en +https://publications.europa.eu/resource/authority/file-type/RDF_TRIX,RDF TriX,en +https://publications.europa.eu/resource/authority/file-type/RDF_TURTLE,RDF Turtle,en +https://publications.europa.eu/resource/authority/file-type/RDF_XML,RDF XML,en +https://publications.europa.eu/resource/authority/file-type/RDF,RDF,en +https://publications.europa.eu/resource/authority/file-type/RDFA,RDFa,en +https://publications.europa.eu/resource/authority/file-type/RPM,RPM,en +https://publications.europa.eu/resource/authority/file-type/RSS,RSS feed,en +https://publications.europa.eu/resource/authority/file-type/RTF,RTF,en +https://publications.europa.eu/resource/authority/file-type/SB3,sb3,en +https://publications.europa.eu/resource/authority/file-type/SDMX,SDMX,en +https://publications.europa.eu/resource/authority/file-type/DTD_SGML,SGML DTD,en +https://publications.europa.eu/resource/authority/file-type/SGML,SGML,en +https://publications.europa.eu/resource/authority/file-type/SKOS_XML,SKOS,en +https://publications.europa.eu/resource/authority/file-type/SPARQLQRES,SPARQL results,en +https://publications.europa.eu/resource/authority/file-type/SPARQLQ,SPARQL,en +https://publications.europa.eu/resource/authority/file-type/SQL,SQL,en +https://publications.europa.eu/resource/authority/file-type/STL,StL,en +https://publications.europa.eu/resource/authority/file-type/SVG,SVG,en +https://publications.europa.eu/resource/authority/file-type/SWM,SWM,en +https://publications.europa.eu/resource/authority/file-type/TAR_GZ,TAR GZ,en +https://publications.europa.eu/resource/authority/file-type/TAR_XZ,TAR XZ,en +https://publications.europa.eu/resource/authority/file-type/TAR,TAR,en +https://publications.europa.eu/resource/authority/file-type/TIFF_FX,TIFF FX,en +https://publications.europa.eu/resource/authority/file-type/TIFF,TIFF,en +https://publications.europa.eu/resource/authority/file-type/TMX,TMX,en +https://publications.europa.eu/resource/authority/file-type/TSV,TSV,en +https://publications.europa.eu/resource/authority/file-type/UNGEN,Ungen,en +https://publications.europa.eu/resource/authority/file-type/WAR,WAR,en +https://publications.europa.eu/resource/authority/file-type/WARC_GZ,WARC GZ,en +https://publications.europa.eu/resource/authority/file-type/WARC,WARC,en +https://publications.europa.eu/resource/authority/file-type/WAV,WAV,en +https://publications.europa.eu/resource/authority/file-type/WCS_SRVC,WCS,en +https://publications.europa.eu/resource/authority/file-type/WEBP,WebP,en +https://publications.europa.eu/resource/authority/file-type/WFS_SRVC,WFS,en +https://publications.europa.eu/resource/authority/file-type/WIM,WIM,en +https://publications.europa.eu/resource/authority/file-type/WMS_SRVC,WMS,en +https://publications.europa.eu/resource/authority/file-type/WMTS_SRVC,WMTS,en +https://publications.europa.eu/resource/authority/file-type/DOC,Word DOC,en +https://publications.europa.eu/resource/authority/file-type/DOCX,Word DOCX,en +https://publications.europa.eu/resource/authority/file-type/WORLD,World file,en +https://publications.europa.eu/resource/authority/file-type/XHTML_SIMPL,XHTML simplified,en +https://publications.europa.eu/resource/authority/file-type/XHTML,XHTML,en +https://publications.europa.eu/resource/authority/file-type/XHTML5,XHTML5,en +https://publications.europa.eu/resource/authority/file-type/XLIFF,XLIFF,en +https://publications.europa.eu/resource/authority/file-type/XLSB,XLSB,en +https://publications.europa.eu/resource/authority/file-type/XLSM,XLSM,en +https://publications.europa.eu/resource/authority/file-type/DTD_XML,XML DTD,en +https://publications.europa.eu/resource/authority/file-type/SCHEMA_XML,XML schema,en +https://publications.europa.eu/resource/authority/file-type/XML,XML,en +https://publications.europa.eu/resource/authority/file-type/XSLFO,XSL-FO,en +https://publications.europa.eu/resource/authority/file-type/XSLT,XSLT,en +https://publications.europa.eu/resource/authority/file-type/XYZ,XYZ Chemical File,en +https://publications.europa.eu/resource/authority/file-type/XZ,xz,en +https://publications.europa.eu/resource/authority/file-type/YAML,YAML,en +https://publications.europa.eu/resource/authority/file-type/Z,Z,en +https://publications.europa.eu/resource/authority/file-type/ZIP,ZIP,en +https://publications.europa.eu/resource/authority/file-type/GMZ,Zipped GML,en +https://publications.europa.eu/resource/authority/file-type/ISO_ZIP,Zipped ISO image,en +http://publications.europa.eu/resource/authority/country/GRL,"Greenland",en +http://publications.europa.eu/resource/authority/country/BDI,"Burundi",en +http://publications.europa.eu/resource/authority/country/BEN,"Benin",en +http://publications.europa.eu/resource/authority/country/CAF,"Central African Republic",en +http://publications.europa.eu/resource/authority/country/ZR0,"Zaire",en +http://publications.europa.eu/resource/authority/country/BHR,"Bahrain",en +http://publications.europa.eu/resource/authority/country/KWT,"Kuwait",en +http://publications.europa.eu/resource/authority/country/OMN,"Oman",en +http://publications.europa.eu/resource/authority/country/QAT,"Qatar",en +http://publications.europa.eu/resource/authority/country/AFG,"Afghanistan",en +http://publications.europa.eu/resource/authority/country/TUV,"Tuvalu",en +http://publications.europa.eu/resource/authority/country/1A0,"Kosovo",en +http://publications.europa.eu/resource/authority/country/WSM,"Samoa",en +http://publications.europa.eu/resource/authority/country/COD,"Democratic Republic of the Congo",en +http://publications.europa.eu/resource/authority/country/SLB,"Solomon Islands",en +http://publications.europa.eu/resource/authority/country/BEL,"Belgium",en +http://publications.europa.eu/resource/authority/country/DEU,"Germany",en +http://publications.europa.eu/resource/authority/country/DNK,"Denmark",en +http://publications.europa.eu/resource/authority/country/FRA,"France",en +http://publications.europa.eu/resource/authority/country/GBR,"United Kingdom",en +http://publications.europa.eu/resource/authority/country/GRC,"Greece",en +http://publications.europa.eu/resource/authority/country/HRV,"Croatia",en +http://publications.europa.eu/resource/authority/country/HUN,"Hungary",en +http://publications.europa.eu/resource/authority/country/ITA,"Italy",en +http://publications.europa.eu/resource/authority/country/LTU,"Lithuania",en +http://publications.europa.eu/resource/authority/country/MEX,"Mexico",en +http://publications.europa.eu/resource/authority/country/NLD,"Netherlands",en +http://publications.europa.eu/resource/authority/country/OP_DATPRO,"Provisional data",en +http://publications.europa.eu/resource/authority/country/POL,"Poland",en +http://publications.europa.eu/resource/authority/country/PRT,"Portugal",en +http://publications.europa.eu/resource/authority/country/SWE,"Sweden",en +http://publications.europa.eu/resource/authority/country/AUT,"Austria",en +http://publications.europa.eu/resource/authority/country/BGR,"Bulgaria",en +http://publications.europa.eu/resource/authority/country/CYP,"Cyprus",en +http://publications.europa.eu/resource/authority/country/ESP,"Spain",en +http://publications.europa.eu/resource/authority/country/IRL,"Ireland",en +http://publications.europa.eu/resource/authority/country/MAR,"Morocco",en +http://publications.europa.eu/resource/authority/country/MLT,"Malta",en +http://publications.europa.eu/resource/authority/country/MYS,"Malaysia",en +http://publications.europa.eu/resource/authority/country/CZE,"Czechia",en +http://publications.europa.eu/resource/authority/country/EST,"Estonia",en +http://publications.europa.eu/resource/authority/country/FIN,"Finland",en +http://publications.europa.eu/resource/authority/country/LVA,"Latvia",en +http://publications.europa.eu/resource/authority/country/SVK,"Slovakia",en +http://publications.europa.eu/resource/authority/country/SVN,"Slovenia",en +http://publications.europa.eu/resource/authority/country/CHE,"Switzerland",en +http://publications.europa.eu/resource/authority/country/LUX,"Luxembourg",en +http://publications.europa.eu/resource/authority/country/ROU,"Romania",en +http://publications.europa.eu/resource/authority/country,"Countries and territories",en +http://publications.europa.eu/resource/authority/country/VNM,"Viet Nam",en +http://publications.europa.eu/resource/authority/country/SEN,"Senegal",en +http://publications.europa.eu/resource/authority/country/SYC,"Seychelles",en +http://publications.europa.eu/resource/authority/country/ZAF,"South Africa",en +http://publications.europa.eu/resource/authority/country/KOR,"South Korea",en +http://publications.europa.eu/resource/authority/country/LBN,"Lebanon",en +http://publications.europa.eu/resource/authority/country/SAU,"Saudi Arabia",en +http://publications.europa.eu/resource/authority/country/JOR,"Jordan",en +http://publications.europa.eu/resource/authority/country/COM,"Comoros",en +http://publications.europa.eu/resource/authority/country/PAK,"Pakistan",en +http://publications.europa.eu/resource/authority/country/TUN,"Tunisia",en +http://publications.europa.eu/resource/authority/country/MKD,"North Macedonia",en +http://publications.europa.eu/resource/authority/country/GNQ,"Equatorial Guinea",en +http://publications.europa.eu/resource/authority/country/AUS,"Australia",en +http://publications.europa.eu/resource/authority/country/GIN,"Guinea",en +http://publications.europa.eu/resource/authority/country/DZA,"Algeria",en +http://publications.europa.eu/resource/authority/country/CYM,"Cayman Islands",en +http://publications.europa.eu/resource/authority/country/TKM,"Turkmenistan",en +http://publications.europa.eu/resource/authority/country/IRN,"Iran",en +http://publications.europa.eu/resource/authority/country/ARG,"Argentina",en +http://publications.europa.eu/resource/authority/country/EGY,"Egypt",en +http://publications.europa.eu/resource/authority/country/IDN,"Indonesia",en +http://publications.europa.eu/resource/authority/country/CHL,"Chile",en +http://publications.europa.eu/resource/authority/country/BGD,"Bangladesh",en +http://publications.europa.eu/resource/authority/country/URY,"Uruguay",en +http://publications.europa.eu/resource/authority/country/BMU,"Bermuda",en +http://publications.europa.eu/resource/authority/country/MUS,"Mauritius",en +http://publications.europa.eu/resource/authority/country/BLZ,"Belize",en +http://publications.europa.eu/resource/authority/country/BRB,"Barbados",en +http://publications.europa.eu/resource/authority/country/CIV,"Côte d’Ivoire",en +http://publications.europa.eu/resource/authority/country/COG,"Congo",en +http://publications.europa.eu/resource/authority/country/GUY,"Guyana",en +http://publications.europa.eu/resource/authority/country/JAM,"Jamaica",en +http://publications.europa.eu/resource/authority/country/KEN,"Kenya",en +http://publications.europa.eu/resource/authority/country/MDG,"Madagascar",en +http://publications.europa.eu/resource/authority/country/MWI,"Malawi",en +http://publications.europa.eu/resource/authority/country/SUR,"Suriname",en +http://publications.europa.eu/resource/authority/country/SWZ,"Eswatini",en +http://publications.europa.eu/resource/authority/country/TTO,"Trinidad and Tobago",en +http://publications.europa.eu/resource/authority/country/TZA,"Tanzania",en +http://publications.europa.eu/resource/authority/country/UGA,"Uganda",en +http://publications.europa.eu/resource/authority/country/ZMB,"Zambia",en +http://publications.europa.eu/resource/authority/country/ZWE,"Zimbabwe",en +http://publications.europa.eu/resource/authority/country/KGZ,"Kyrgyzstan",en +http://publications.europa.eu/resource/authority/country/MRT,"Mauritania",en +http://publications.europa.eu/resource/authority/country/SLE,"Sierra Leone",en +http://publications.europa.eu/resource/authority/country/GMB,"The Gambia",en +http://publications.europa.eu/resource/authority/country/LBY,"Libya",en +http://publications.europa.eu/resource/authority/country/PAN,"Panama",en +http://publications.europa.eu/resource/authority/country/AND,"Andorra",en +http://publications.europa.eu/resource/authority/country/LIE,"Liechtenstein",en +http://publications.europa.eu/resource/authority/country/NOR,"Norway",en +http://publications.europa.eu/resource/authority/country/RUS,"Russia",en +http://publications.europa.eu/resource/authority/country/SMR,"San Marino",en +http://publications.europa.eu/resource/authority/country/STP,"São Tomé and Príncipe",en +http://publications.europa.eu/resource/authority/country/TUR,"Türkiye",en +http://publications.europa.eu/resource/authority/country/ISL,"Iceland",en +http://publications.europa.eu/resource/authority/country/GNB,"Guinea-Bissau",en +http://publications.europa.eu/resource/authority/country/CHN,"China",en +http://publications.europa.eu/resource/authority/country/NPL,"Nepal",en +http://publications.europa.eu/resource/authority/country/USA,"United States",en +http://publications.europa.eu/resource/authority/country/ISR,"Israel",en +http://publications.europa.eu/resource/authority/country/JPN,"Japan",en +http://publications.europa.eu/resource/authority/country/CAN,"Canada",en +http://publications.europa.eu/resource/authority/country/YUG,"Yugoslavia",en +http://publications.europa.eu/resource/authority/country/IND,"India",en +http://publications.europa.eu/resource/authority/country/MDA,"Moldova",en +http://publications.europa.eu/resource/authority/country/KNA,"Saint Kitts and Nevis",en +http://publications.europa.eu/resource/authority/country/MCO,"Monaco",en +http://publications.europa.eu/resource/authority/country/TCD,"Chad",en +http://publications.europa.eu/resource/authority/country/VUT,"Vanuatu",en +http://publications.europa.eu/resource/authority/country/LAO,"Laos",en +http://publications.europa.eu/resource/authority/country/MLI,"Mali",en +http://publications.europa.eu/resource/authority/country/TGO,"Togo",en +http://publications.europa.eu/resource/authority/country/BRN,"Brunei",en +http://publications.europa.eu/resource/authority/country/COL,"Colombia",en +http://publications.europa.eu/resource/authority/country/PNG,"Papua New Guinea",en +http://publications.europa.eu/resource/authority/country/SUN,"Soviet Union",en +http://publications.europa.eu/resource/authority/country/GIB,"Gibraltar",en +http://publications.europa.eu/resource/authority/country/THA,"Thailand",en +http://publications.europa.eu/resource/authority/country/BRA,"Brazil",en +http://publications.europa.eu/resource/authority/country/NZL,"New Zealand",en +http://publications.europa.eu/resource/authority/country/CPV,"Cabo Verde",en +http://publications.europa.eu/resource/authority/country/NER,"Niger",en +http://publications.europa.eu/resource/authority/country/ABW,"Aruba",en +http://publications.europa.eu/resource/authority/country/UZB,"Uzbekistan",en +http://publications.europa.eu/resource/authority/country/MOZ,"Mozambique",en +http://publications.europa.eu/resource/authority/country/ANT,"Netherlands Antilles",en +http://publications.europa.eu/resource/authority/country/TWN,"Taiwan",en +http://publications.europa.eu/resource/authority/country/GTM,"Guatemala",en +http://publications.europa.eu/resource/authority/country/BLR,"Belarus",en +http://publications.europa.eu/resource/authority/country/BIH,"Bosnia and Herzegovina",en +http://publications.europa.eu/resource/authority/country/LKA,"Sri Lanka",en +http://publications.europa.eu/resource/authority/country/FSM,"Micronesia",en +http://publications.europa.eu/resource/authority/country/CSK,"Czechoslovakia",en +http://publications.europa.eu/resource/authority/country/BHS,"Bahamas",en +http://publications.europa.eu/resource/authority/country/ARM,"Armenia",en +http://publications.europa.eu/resource/authority/country/DMA,"Dominica",en +http://publications.europa.eu/resource/authority/country/EUR,"European Union",en +http://publications.europa.eu/resource/authority/country/ALB,"Albania",en +http://publications.europa.eu/resource/authority/country/BFA,"Burkina Faso",en +http://publications.europa.eu/resource/authority/country/KAZ,"Kazakhstan",en +http://publications.europa.eu/resource/authority/country/UKR,"Ukraine",en +http://publications.europa.eu/resource/authority/country/SGP,"Singapore",en +http://publications.europa.eu/resource/authority/country/CMR,"Cameroon",en +http://publications.europa.eu/resource/authority/country/AGO,"Angola",en +http://publications.europa.eu/resource/authority/country/ARE,"United Arab Emirates",en +http://publications.europa.eu/resource/authority/country/GEO,"Georgia",en +http://publications.europa.eu/resource/authority/country/DOM,"Dominican Republic",en +http://publications.europa.eu/resource/authority/country/ATG,"Antigua and Barbuda",en +http://publications.europa.eu/resource/authority/country/BOL,"Bolivia",en +http://publications.europa.eu/resource/authority/country/CRI,"Costa Rica",en +http://publications.europa.eu/resource/authority/country/CUB,"Cuba",en +http://publications.europa.eu/resource/authority/country/ECU,"Ecuador",en +http://publications.europa.eu/resource/authority/country/GRD,"Grenada",en +http://publications.europa.eu/resource/authority/country/HTI,"Haiti",en +http://publications.europa.eu/resource/authority/country/LCA,"Saint Lucia",en +http://publications.europa.eu/resource/authority/country/NIC,"Nicaragua",en +http://publications.europa.eu/resource/authority/country/PER,"Peru",en +http://publications.europa.eu/resource/authority/country/PRY,"Paraguay",en +http://publications.europa.eu/resource/authority/country/SLV,"El Salvador",en +http://publications.europa.eu/resource/authority/country/VCT,"Saint Vincent and the Grenadines",en +http://publications.europa.eu/resource/authority/country/VEN,"Venezuela",en +http://publications.europa.eu/resource/authority/country/DDR,"German Democratic Republic",en +http://publications.europa.eu/resource/authority/country/SOM,"Somalia",en +http://publications.europa.eu/resource/authority/country/FJI,"Fiji",en +http://publications.europa.eu/resource/authority/country/HKG,"Hong Kong",en +http://publications.europa.eu/resource/authority/country/PLW,"Palau",en +http://publications.europa.eu/resource/authority/country/MNG,"Mongolia",en +http://publications.europa.eu/resource/authority/country/SRB,"Serbia",en +http://publications.europa.eu/resource/authority/country/MNE,"Montenegro",en +http://publications.europa.eu/resource/authority/country/SYR,"Syria",en +http://publications.europa.eu/resource/authority/country/GAB,"Gabon",en +http://publications.europa.eu/resource/authority/country/HND,"Honduras",en +http://publications.europa.eu/resource/authority/country/LBR,"Liberia",en +http://publications.europa.eu/resource/authority/country/PHL,"Philippines",en +http://publications.europa.eu/resource/authority/country/TJK,"Tajikistan",en +http://publications.europa.eu/resource/authority/country/MDV,"Maldives",en +http://publications.europa.eu/resource/authority/country/MAC,"Macao",en +http://publications.europa.eu/resource/authority/country/RWA,"Rwanda",en +http://publications.europa.eu/resource/authority/country/AZE,"Azerbaijan",en +http://publications.europa.eu/resource/authority/country/KIR,"Kiribati",en +http://publications.europa.eu/resource/authority/country/SDN,"Sudan",en +http://publications.europa.eu/resource/authority/country/GHA,"Ghana",en +http://publications.europa.eu/resource/authority/country/YMD,"North Yemen",en +http://publications.europa.eu/resource/authority/country/BWA,"Botswana",en +http://publications.europa.eu/resource/authority/country/LSO,"Lesotho",en +http://publications.europa.eu/resource/authority/country/NAM,"Namibia",en +http://publications.europa.eu/resource/authority/country/VAT,"Holy See",en +http://publications.europa.eu/resource/authority/country/IRQ,"Iraq",en +http://publications.europa.eu/resource/authority/country/NGA,"Nigeria",en +http://publications.europa.eu/resource/authority/country/FRO,"Faroes",en +http://publications.europa.eu/resource/authority/country/DJI,"Djibouti",en +http://publications.europa.eu/resource/authority/country/COK,"Cook Islands",en +http://publications.europa.eu/resource/authority/country/YEM,"Yemen",en +http://publications.europa.eu/resource/authority/country/KHM,"Cambodia",en +http://publications.europa.eu/resource/authority/country/TLS,"Timor-Leste",en +http://publications.europa.eu/resource/authority/country/TON,"Tonga",en +http://publications.europa.eu/resource/authority/country/PSE,"Palestine*",en +http://publications.europa.eu/resource/authority/country/SCG,"Serbia and Montenegro",en +http://publications.europa.eu/resource/authority/country/BYS,"Belarus",en +http://publications.europa.eu/resource/authority/country/MHL,"Marshall Islands",en +http://publications.europa.eu/resource/authority/country/AFI,"French Afar and Issas",en +http://publications.europa.eu/resource/authority/country/AIA,"Anguilla",en +http://publications.europa.eu/resource/authority/country/ALA,"Åland Islands",en +http://publications.europa.eu/resource/authority/country/ASM,"American Samoa",en +http://publications.europa.eu/resource/authority/country/ATA,"Antarctica",en +http://publications.europa.eu/resource/authority/country/ATB,"British Antarctic Territory",en +http://publications.europa.eu/resource/authority/country/ATF,"French Southern and Antarctic Lands",en +http://publications.europa.eu/resource/authority/country/ATN,"Dronning Maud Land",en +http://publications.europa.eu/resource/authority/country/BES,"Bonaire, Sint Eustatius and Saba",en +http://publications.europa.eu/resource/authority/country/BLM,"Saint Barthélemy",en +http://publications.europa.eu/resource/authority/country/BTN,"Bhutan",en +http://publications.europa.eu/resource/authority/country/BUR,"Burma",en +http://publications.europa.eu/resource/authority/country/BVT,"Bouvet Island",en +http://publications.europa.eu/resource/authority/country/CCK,"Cocos (Keeling) Islands",en +http://publications.europa.eu/resource/authority/country/CPT,"Clipperton",en +http://publications.europa.eu/resource/authority/country/CTE,"Canton and Enderbury Islands",en +http://publications.europa.eu/resource/authority/country/CUW,"Curaçao",en +http://publications.europa.eu/resource/authority/country/CXR,"Christmas Island",en +http://publications.europa.eu/resource/authority/country/DHY,"Dahomey",en +http://publications.europa.eu/resource/authority/country/ERI,"Eritrea",en +http://publications.europa.eu/resource/authority/country/ESH,"Western Sahara",en +http://publications.europa.eu/resource/authority/country/ETH,"Ethiopia",en +http://publications.europa.eu/resource/authority/country/FLK,"Falkland Islands",en +http://publications.europa.eu/resource/authority/country/FQ0,"French Southern and Antarctic Lands",en +http://publications.europa.eu/resource/authority/country/FXX,"Metropolitan France",en +http://publications.europa.eu/resource/authority/country/GEL,"Gilbert and Ellice Islands",en +http://publications.europa.eu/resource/authority/country/GGY,"Guernsey",en +http://publications.europa.eu/resource/authority/country/GLP,"Guadeloupe",en +http://publications.europa.eu/resource/authority/country/GUF,"French Guiana",en +http://publications.europa.eu/resource/authority/country/GUM,"Guam",en +http://publications.europa.eu/resource/authority/country/HMD,"Heard Island and McDonald Islands",en +http://publications.europa.eu/resource/authority/country/HVO,"Upper Volta",en +http://publications.europa.eu/resource/authority/country/IMN,"Isle of Man",en +http://publications.europa.eu/resource/authority/country/IOT,"British Indian Ocean Territory",en +http://publications.europa.eu/resource/authority/country/JEY,"Jersey",en +http://publications.europa.eu/resource/authority/country/JTN,"Johnston Island",en +http://publications.europa.eu/resource/authority/country/MAF,"Saint Martin",en +http://publications.europa.eu/resource/authority/country/MID,"Midway Islands",en +http://publications.europa.eu/resource/authority/country/MMR,"Myanmar/Burma",en +http://publications.europa.eu/resource/authority/country/MNP,"Northern Mariana Islands",en +http://publications.europa.eu/resource/authority/country/MSR,"Montserrat",en +http://publications.europa.eu/resource/authority/country/MTQ,"Martinique",en +http://publications.europa.eu/resource/authority/country/MYT,"Mayotte",en +http://publications.europa.eu/resource/authority/country/NCL,"New Caledonia",en +http://publications.europa.eu/resource/authority/country/NFK,"Norfolk Island",en +http://publications.europa.eu/resource/authority/country/NHB,"New Hebrides",en +http://publications.europa.eu/resource/authority/country/NIU,"Niue",en +http://publications.europa.eu/resource/authority/country/NRU,"Nauru",en +http://publications.europa.eu/resource/authority/country/NTZ,"Neutral Zone",en +http://publications.europa.eu/resource/authority/country/PCI,"Trust Territory of the Pacific Islands",en +http://publications.europa.eu/resource/authority/country/PCN,"Pitcairn Islands",en +http://publications.europa.eu/resource/authority/country/PCZ,"Panama Canal Zone",en +http://publications.europa.eu/resource/authority/country/PRI,"Puerto Rico",en +http://publications.europa.eu/resource/authority/country/PRK,"North Korea",en +http://publications.europa.eu/resource/authority/country/PUS,"US Miscellaneous Pacific Islands",en +http://publications.europa.eu/resource/authority/country/PYF,"French Polynesia",en +http://publications.europa.eu/resource/authority/country/REU,"Réunion",en +http://publications.europa.eu/resource/authority/country/RHO,"Southern Rhodesia",en +http://publications.europa.eu/resource/authority/country/SGS,"South Georgia and the South Sandwich Islands",en +http://publications.europa.eu/resource/authority/country/SHN,"Saint Helena, Ascension and Tristan da Cunha",en +http://publications.europa.eu/resource/authority/country/SJM,"Svalbard and Jan Mayen",en +http://publications.europa.eu/resource/authority/country/SKM,"Sikkim",en +http://publications.europa.eu/resource/authority/country/SPM,"Saint Pierre and Miquelon",en +http://publications.europa.eu/resource/authority/country/SSD,"South Sudan",en +http://publications.europa.eu/resource/authority/country/SXM,"Sint Maarten",en +http://publications.europa.eu/resource/authority/country/TCA,"Turks and Caicos Islands",en +http://publications.europa.eu/resource/authority/country/TKL,"Tokelau",en +http://publications.europa.eu/resource/authority/country/TMP,"East Timor",en +http://publications.europa.eu/resource/authority/country/UMI,"United States Minor Outlying Islands",en +http://publications.europa.eu/resource/authority/country/VDR,"Democratic Republic of Vietnam",en +http://publications.europa.eu/resource/authority/country/VGB,"British Virgin Islands",en +http://publications.europa.eu/resource/authority/country/VIR,"US Virgin Islands",en +http://publications.europa.eu/resource/authority/country/WAK,"Wake Island",en +http://publications.europa.eu/resource/authority/country/WLF,"Wallis and Futuna",en +http://publications.europa.eu/resource/authority/country/XSL,"Somaliland",en +http://publications.europa.eu/resource/authority/country/XLF,"Fezzan (Libya)",en +http://publications.europa.eu/resource/authority/country/XEU,"EU Waters",en +http://publications.europa.eu/resource/authority/country/XMAZ,"Marine zone",en +http://publications.europa.eu/resource/authority/country/XNY,"Nyasaland",en +http://publications.europa.eu/resource/authority/country/XLI,"Livigno",en +http://publications.europa.eu/resource/authority/country/XIC,"Canary Islands",en +http://publications.europa.eu/resource/authority/country/XNC,"areas of the Republic of Cyprus in which the Government of the Republic of Cyprus does not exercise effective control",en +http://publications.europa.eu/resource/authority/country/XSC,"Ceuta",en +http://publications.europa.eu/resource/authority/country/XSM,"Melilla",en +http://publications.europa.eu/resource/authority/country/XDST,"Disputed region",en +http://publications.europa.eu/resource/authority/country/XQP,"Colombia/Jamaica (joint regime)",en +http://publications.europa.eu/resource/authority/country/XXA,"Paracel Islands (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XKA,"Democratic Kampuchea",en +http://publications.europa.eu/resource/authority/country/XKM,"People’s Republic of Kampuchea",en +http://publications.europa.eu/resource/authority/country/ZAR,"Zaire",en +http://publications.europa.eu/resource/authority/country/XXB,"Spratly Islands (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XLL,"Italian waters of Lake Lugano",en +http://publications.europa.eu/resource/authority/country/XQR,"Japan/South Korea (joint regime)",en +http://publications.europa.eu/resource/authority/country/XXC,"Aksai Chin (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XCI,"Campione d’Italia",en +http://publications.europa.eu/resource/authority/country/XXD,"Arunashal Pradesh (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XBA,"Basutoland",en +http://publications.europa.eu/resource/authority/country/XXE,"China/India (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXF,"Hala'Ib Triangle (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XHS,"High seas",en +http://publications.europa.eu/resource/authority/country/XPM,"Madeira",en +http://publications.europa.eu/resource/authority/country/XXG,"Ilemi Triangle (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXH,"Jammu Kashmir (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXI,"Northern Ireland",en +http://publications.europa.eu/resource/authority/country/XXJ,"Liancourt Rock (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXO,"Juan de Nova, Glorioso, Europa, Tromelin, Bassas da India",en +http://publications.europa.eu/resource/authority/country/XBH,"Büsingen am Hochrhein",en +http://publications.europa.eu/resource/authority/country/XXL,"Navassa Island (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XBI,"Biafra",en +http://publications.europa.eu/resource/authority/country/XXM,"Scarborough Reef (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XSG,"Joint area between Senegal and Guinea-Bissau",en +http://publications.europa.eu/resource/authority/country/XPA,"Azores",en +http://publications.europa.eu/resource/authority/country/XXN,"Senkaku Islands (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XIN,"International Waters",en +http://publications.europa.eu/resource/authority/country/XJM,"Fisheries zone around Jan Mayen",en +http://publications.europa.eu/resource/authority/country/XME,"Melanesia",en +http://publications.europa.eu/resource/authority/country/XSV,"Fisheries Protection Zone around Svalbard",en +http://publications.europa.eu/resource/authority/country/XXP,"China/Philippines/Viet Nam/Taiwan/Malaysia (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXZ,"Kuril Islands (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XAC,"Ashmore and Cartier Islands",en +http://publications.europa.eu/resource/authority/country/XKX,"Kosovo*",en +http://publications.europa.eu/resource/authority/country/XGS,"Gaza Strip",en +http://publications.europa.eu/resource/authority/country/CRQ,"Sark",en +http://publications.europa.eu/resource/authority/country/XAD,"UK Sovereign Base Areas of Akrotiri and Dhekelia",en +http://publications.europa.eu/resource/authority/country/XIH,"Heligoland",en +http://publications.europa.eu/resource/authority/country/XMA,"Mount Athos",en +http://publications.europa.eu/resource/authority/country/XWS,"Western Samoa",en +http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disputed territory)",en +http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license index d6964a809..62fd8897e 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license @@ -1,3 +1,4 @@ # SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: Stichting Health-RI +# SPDX-FileContributor: PNED G.I.E. # SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/uri_label_extractor.py b/uri_label_extractor.py new file mode 100644 index 000000000..95d0b5660 --- /dev/null +++ b/uri_label_extractor.py @@ -0,0 +1,62 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +import xml.etree.ElementTree as ET +import requests + + +def get_rdf_about(url): + """ + Function that reads a XML file from url, and lists the attribute `rdf:about` of all `rdf:Description`. + """ + response = requests.get(url) + root = ET.fromstring(response.content) + rdf_about = [] + for description in root.findall( + ".//rdf:Description", {"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#"} + ): + rdf_about.append( + description.attrib.get("{http://www.w3.org/1999/02/22-rdf-syntax-ns#}about") + ) + return rdf_about + + +def get_rdf_prefLabel(url): + """ + Function that reads a XML file from url, and retrieves all childs `skos:prefLabel` of `rdf:Description`, where the key is `xml:lang` and text of the tag as value. + """ + response = requests.get(url) + root = ET.fromstring(response.content) + rdf_prefLabel = {} + for description in root.findall( + ".//rdf:Description", {"rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#"} + ): + for prefLabel in description.findall( + ".//skos:prefLabel", {"skos": "http://www.w3.org/2004/02/skos/core#"} + ): + rdf_prefLabel[ + prefLabel.attrib.get("{http://www.w3.org/XML/1998/namespace}lang") + ] = prefLabel.text + return rdf_prefLabel + + +def write_file(file_name, data): + """ + Function that writes into a file a list of strings + """ + with open(file_name, "w") as f: + for line in data: + f.write(line + "\n") + + +if __name__ == "__main__": + url = "https://publications.europa.eu/resource/authority/country" + rdf_about = get_rdf_about(url) + lines = [] + for i in rdf_about: + labels = get_rdf_prefLabel(i) + for k, v in labels.items(): + if k == "en": + lines.append(f'{i},"{v}",{k}') + write_file("uri_labels.csv", lines) From 1ea05cd1cdb8d84e5ee41a6aaf87bc655a64a622 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Thu, 18 Apr 2024 16:26:01 +0200 Subject: [PATCH 109/284] fix: update fairdatapoint harvester reference --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 50539ddfe..163ab45a9 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 672345a0e..5c546bc78 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 97049c878ef26dd9b3562e04365d6069a066d772 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 19 Apr 2024 14:23:03 +0200 Subject: [PATCH 110/284] chore: add extra labels --- .../common_vocabulary_tags.csv | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 12b797b62..0e33f0405 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -32,6 +32,7 @@ https://publications.europa.eu/resource/authority/language/POR,portugalski,sh https://publications.europa.eu/resource/authority/language/POR,portugalština,cs https://publications.europa.eu/resource/authority/language/POR,portekizce,tr https://publications.europa.eu/resource/authority/language/POR,portugalščina,sl +http://lexvo.org/id/iso639-3/por,Portuguese,en https://www.wikidata.org/wiki/Q57262078,food consumption,en https://www.wikidata.org/wiki/Q4014799,medical visit,en http://purl.obolibrary.org/obo/NCIT_C18002,Home,en @@ -73,6 +74,7 @@ https://publications.europa.eu/resource/authority/language/EST,estonă,ro https://publications.europa.eu/resource/authority/language/EST,estų kalba,lt https://publications.europa.eu/resource/authority/language/EST,estisk,da https://publications.europa.eu/resource/authority/language/EST,estonščina,sl +http://lexvo.org/id/iso639-3/est,Estonian,en https://www.wikidata.org/wiki/Q26305989,blood-borne transmission,en https://publications.europa.eu/resource/authority/language/HYE,armenska,is https://publications.europa.eu/resource/authority/language/HYE,armenski,hr @@ -107,6 +109,7 @@ https://publications.europa.eu/resource/authority/language/HYE,arménien,fr https://publications.europa.eu/resource/authority/language/HYE,αρμενικά,el https://publications.europa.eu/resource/authority/language/HYE,örmény,hu https://publications.europa.eu/resource/authority/language/HYE,armenski,sh +http://lexvo.org/id/iso639-3/hye,Armenian,en http://semanticscience.org/resource/SIO_000713,doctor role,en http://purl.obolibrary.org/obo/OMIT_0010784,Obesity,en https://www.wikidata.org/wiki/Property:P106,occupation,en @@ -148,6 +151,7 @@ https://publications.europa.eu/resource/authority/language/BOS,боснійсь https://publications.europa.eu/resource/authority/language/BOS,bosniacă,ro https://publications.europa.eu/resource/authority/language/BOS,bosnio,es https://publications.europa.eu/resource/authority/language/BOS,bošnjački,hr +http://lexvo.org/id/iso639-3/bos,Bosnian,en http://purl.obolibrary.org/obo/OMIT_0008309,Income,en https://publications.europa.eu/resource/authority/language/CES,tšekki,fi https://publications.europa.eu/resource/authority/language/CES,tékkneska,is @@ -182,6 +186,7 @@ https://publications.europa.eu/resource/authority/language/CES,češčina,sl https://publications.europa.eu/resource/authority/language/CES,čeština,cs https://publications.europa.eu/resource/authority/language/CES,Czech,en https://publications.europa.eu/resource/authority/language/CES,tjeckiska,sv +http://lexvo.org/id/iso639-3/ces,Czech,en http://purl.obolibrary.org/obo/NCIT_C173558,Contact Tracing,en http://purl.obolibrary.org/obo/NCIT_C16669,Health Status,en https://www.wikidata.org/wiki/Q182672,zoonosis,en @@ -218,6 +223,7 @@ https://publications.europa.eu/resource/authority/language/DEU,vācu valoda,lv https://publications.europa.eu/resource/authority/language/DEU,germană,ro https://publications.europa.eu/resource/authority/language/DEU,германски,mk https://publications.europa.eu/resource/authority/language/DEU,Deutsch,de +http://lexvo.org/id/iso639-3/deu,German,en http://vivoweb.org/ontology/core#Hospital,Hospital,en http://purl.obolibrary.org/obo/GSSO_007925,pharmaceutical drug,en https://www.wikidata.org/wiki/Q18123741,infectious disease,en @@ -260,6 +266,7 @@ https://publications.europa.eu/resource/authority/language/LIT,литовськ https://publications.europa.eu/resource/authority/language/LIT,Liotuáinis,ga https://publications.europa.eu/resource/authority/language/LIT,litevština,cs https://publications.europa.eu/resource/authority/language/LIT,litvanski,sh +http://lexvo.org/id/iso639-3/lit,Lithuanian,en https://www.wikidata.org/wiki/Q12206,diabetes,en https://www.wikidata.org/wiki/Q12078,cancer,en https://www.wikidata.org/wiki/Q2006636,waterborne disease,en @@ -307,6 +314,7 @@ https://publications.europa.eu/resource/authority/language/ROM,ромски,sr https://publications.europa.eu/resource/authority/language/ROM,Romani,en https://publications.europa.eu/resource/authority/language/ROM,romani,ro https://publications.europa.eu/resource/authority/language/ROM,ρομανικά,el +http://lexvo.org/id/iso639-3/rom,Romani,en https://www.wikidata.org/wiki/Q93815163,Cancer Survival Rates,en http://purl.obolibrary.org/obo/OMIT_0015761,Work,en https://publications.europa.eu/resource/authority/language/ENG,engleză,ro @@ -342,6 +350,7 @@ https://publications.europa.eu/resource/authority/language/ENG,angleščina,sl https://publications.europa.eu/resource/authority/language/ENG,англиски,mk https://publications.europa.eu/resource/authority/language/ENG,englanti,fi https://publications.europa.eu/resource/authority/language/ENG,English,en +http://lexvo.org/id/iso639-3/eng,English,en https://www.wikidata.org/wiki/Q622527,self-injury,en https://www.wikidata.org/wiki/Q2715623,social network,en https://publications.europa.eu/resource/authority/language/RUS,Russisch,de @@ -377,6 +386,7 @@ https://publications.europa.eu/resource/authority/language/RUS,orosz,hu https://publications.europa.eu/resource/authority/language/RUS,rusų kalba,lt https://publications.europa.eu/resource/authority/language/RUS,rússneska,is https://publications.europa.eu/resource/authority/language/RUS,rušćina,hsb +http://lexvo.org/id/iso639-3/rus,Russian,en https://www.wikidata.org/wiki/Q1519843,health technology,en http://purl.obolibrary.org/obo/NCIT_C17009,Poverty,en http://purl.obolibrary.org/obo/SCDO_0000948,Quality of Health Care,en @@ -417,6 +427,7 @@ https://publications.europa.eu/resource/authority/language/NNO,norvégien nynors https://publications.europa.eu/resource/authority/language/NNO,novonorveščina,sl https://publications.europa.eu/resource/authority/language/NNO,uusnorra keel,et https://publications.europa.eu/resource/authority/language/NNO,норвезька нюнорська мова,uk +http://lexvo.org/id/iso639-3/nno,Norwegian Nynorsk,en https://www.wikidata.org/wiki/Q96482267,vaccination coverage,en https://www.wikidata.org/wiki/Q6784043,mass gathering,en https://www.wikidata.org/wiki/Q193078,injury,en @@ -469,6 +480,7 @@ https://publications.europa.eu/resource/authority/language/NLD,hollandi keel,et https://publications.europa.eu/resource/authority/language/NLD,нидерландский,ru https://publications.europa.eu/resource/authority/language/NLD,neerlandese,it https://publications.europa.eu/resource/authority/language/NLD,hollanti,fi +http://lexvo.org/id/iso639-3/nld,Dutch,en http://purl.obolibrary.org/obo/SCDO_0000493,Health Service Utilization,en https://www.wikidata.org/wiki/Q389735,cardiovascular disease,en https://www.wikidata.org/wiki/Q105252400,vaccine acceptance,en @@ -545,6 +557,7 @@ https://publications.europa.eu/resource/authority/language/SRP,serbišćina,hsb https://publications.europa.eu/resource/authority/language/SRP,serbia keel,et https://publications.europa.eu/resource/authority/language/SRP,σερβικά,el https://publications.europa.eu/resource/authority/language/SRP,српски,sr +http://lexvo.org/id/iso639-3/srp,Serbian,en http://purl.obolibrary.org/obo/OMIT_0007885,Hospital Bed Capacity,en http://purl.obolibrary.org/obo/OPMI_0000482,medical visit,en http://purl.obolibrary.org/obo/APOLLO_SV_00000550,contact tracing,en @@ -583,6 +596,7 @@ https://publications.europa.eu/resource/authority/language/MLT,Maltees,nl https://publications.europa.eu/resource/authority/language/MLT,мальтійська мова,uk https://publications.europa.eu/resource/authority/language/MLT,Máltais,ga https://publications.europa.eu/resource/authority/language/MLT,Maltesisch,de +http://lexvo.org/id/iso639-3/mlt,Maltese,en http://purl.obolibrary.org/obo/NCIT_C15406,Cancer Screening,en https://publications.europa.eu/resource/authority/language/SWE,шведски,bg https://publications.europa.eu/resource/authority/language/SWE,Schwedisch,de @@ -617,6 +631,7 @@ https://publications.europa.eu/resource/authority/language/SWE,zviedru valoda,lv https://publications.europa.eu/resource/authority/language/SWE,σουηδικά,el https://publications.europa.eu/resource/authority/language/SWE,sueco,es https://publications.europa.eu/resource/authority/language/SWE,svensk,no +http://lexvo.org/id/iso639-3/swe,Swedish,en http://purl.obolibrary.org/obo/OMIT_0004449,Communicable Diseases,en https://www.wikidata.org/wiki/Q84263196,COVID-19,en http://purl.obolibrary.org/obo/NCIT_C16205,Healthcare Activity,en @@ -661,6 +676,7 @@ https://publications.europa.eu/resource/authority/language/SLV,szlovén,hu https://publications.europa.eu/resource/authority/language/SLV,slovène,fr https://publications.europa.eu/resource/authority/language/SLV,slovenščina,sl https://publications.europa.eu/resource/authority/language/SLV,sloveeni,fi +http://lexvo.org/id/iso639-3/slv,Slovenian,en https://www.wikidata.org/wiki/Q1128437,contact tracing,en https://www.wikidata.org/wiki/Q3044843,cancer screening,en https://publications.europa.eu/resource/authority/language/POL,Polainnis,ga @@ -696,6 +712,7 @@ https://publications.europa.eu/resource/authority/language/POL,poljski,hr https://publications.europa.eu/resource/authority/language/POL,polska,sv https://publications.europa.eu/resource/authority/language/POL,Pollakk,mt https://publications.europa.eu/resource/authority/language/POL,Polish,en +http://lexvo.org/id/iso639-3/pol,Polish,en https://www.wikidata.org/wiki/Q39631,physician,en https://www.wikidata.org/wiki/Q82642,blood pressure,en http://purl.obolibrary.org/obo/OBI_0000844,obsolete hospital,en @@ -735,6 +752,7 @@ https://publications.europa.eu/resource/authority/language/HUN,maghiară,ro https://publications.europa.eu/resource/authority/language/HUN,венгерский,ru https://publications.europa.eu/resource/authority/language/HUN,ungerska,sv https://publications.europa.eu/resource/authority/language/HUN,madžarščina,sl +http://lexvo.org/id/iso639-3/hun,Hungarian,en http://purl.obolibrary.org/obo/OMIT_0012168,Poverty,en http://purl.obolibrary.org/obo/OMIT_0008353,Infant Mortality,en http://purl.obolibrary.org/obo/MFOMD_0000001,mental disease,en @@ -776,6 +794,7 @@ https://publications.europa.eu/resource/authority/language/HRV,hrvatski,sh https://publications.europa.eu/resource/authority/language/HRV,chorvatština,cs https://publications.europa.eu/resource/authority/language/HRV,hrvatski,hr https://publications.europa.eu/resource/authority/language/HRV,Croatian,en +http://lexvo.org/id/iso639-3/hrv,Croatian,en http://purl.obolibrary.org/obo/GSSO_009380,health care quality,en https://www.wikidata.org/wiki/Q94298961,Medical Appointment,en https://www.wikidata.org/wiki/Q3137154,non-communicable disease,en @@ -818,6 +837,7 @@ https://publications.europa.eu/resource/authority/language/ITA,itāļu valoda,lv https://publications.europa.eu/resource/authority/language/ITA,италијански,mk https://publications.europa.eu/resource/authority/language/ITA,Italienisch,de https://publications.europa.eu/resource/authority/language/ITA,italiană,ro +http://lexvo.org/id/iso639-3/ita,Italian,en http://purl.obolibrary.org/obo/SCDO_0001082,Social Environment,en https://www.wikidata.org/wiki/Q7981051,well-being,en https://www.wikidata.org/wiki/Q1367554,morbidity,en @@ -866,6 +886,7 @@ https://publications.europa.eu/resource/authority/language/SPA,ισπανικά, https://publications.europa.eu/resource/authority/language/SPA,espagnol,fr https://publications.europa.eu/resource/authority/language/SPA,ıspanyolca,tr https://publications.europa.eu/resource/authority/language/SPA,Spáinnis,ga +http://lexvo.org/id/iso639-3/spa,Spanish,en https://www.wikidata.org/wiki/Q12198,sexually transmitted infection,en http://purl.obolibrary.org/obo/NCIT_C16273,Alcohol Consumption,en http://purl.obolibrary.org/obo/APOLLO_SV_00000239,infectious disease,en @@ -910,6 +931,7 @@ https://publications.europa.eu/resource/authority/language/LAV,λετονικά, https://publications.europa.eu/resource/authority/language/LAV,latvijski,hr https://publications.europa.eu/resource/authority/language/LAV,латвиски,mk https://publications.europa.eu/resource/authority/language/LAV,Lettisch,de +http://lexvo.org/id/iso639-3/lav,Latvian,en http://purl.obolibrary.org/obo/GSSO_006601,substance use,en http://id.loc.gov/vocabulary/iso639-1/en,English,en http://id.loc.gov/vocabulary/iso639-1/en,anglais,fr @@ -950,6 +972,7 @@ https://publications.europa.eu/resource/authority/language/FRA,francošćina,hsb https://publications.europa.eu/resource/authority/language/FRA,français,fr https://publications.europa.eu/resource/authority/language/FRA,prantsuse keel,et https://publications.europa.eu/resource/authority/language/FRA,francoščina,sl +http://lexvo.org/id/iso639-3/fra,French,en https://www.wikidata.org/wiki/Q332428,overweight,en https://www.wikidata.org/wiki/Q7907939,vaccine-preventable diseases,en https://www.wikidata.org/wiki/Q1247867,housing,en @@ -989,6 +1012,7 @@ https://publications.europa.eu/resource/authority/language/FIN,finščina,sl https://publications.europa.eu/resource/authority/language/FIN,finnois,fr https://publications.europa.eu/resource/authority/language/FIN,finn,hu https://publications.europa.eu/resource/authority/language/FIN,Fionlainnis,ga +http://lexvo.org/id/iso639-3/fin,Finnish,en https://www.wikidata.org/wiki/Q1527264,income,en https://www.wikidata.org/wiki/Q5259414,tooth pathology,en http://purl.obolibrary.org/obo/NCIT_C2893,Psychiatric Disorder,en @@ -1060,6 +1084,7 @@ http://purl.org/cld/freq/daily,daily,en http://purl.org/cld/freq/continuous,continuous,en http://purl.org/cld/freq/irregular,irregular,en https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en +http://lexvo.org/id/iso639-3/ltz,Luxembourgish,en http://purl.org/zonmw/covid19/10007,national,en http://purl.org/zonmw/covid19/10083,people by COVID-19 risk factors,en http://purl.org/zonmw/covid19/10091,COVID-19 patient grouping,en @@ -1707,3 +1732,5 @@ http://publications.europa.eu/resource/authority/country/XMA,"Mount Athos",en http://publications.europa.eu/resource/authority/country/XWS,"Western Samoa",en http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disputed territory)",en http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en +https://gdi.onemilliongenomes.eu,GDI,en +https://en.wikipedia.org/wiki/Colorectal_cancer,Colorectal cancer,en From b802247a10779fbc3456ac362c2d7aba111b9db4 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Fri, 3 May 2024 12:08:18 +0200 Subject: [PATCH 111/284] fix: update fairdatapoint harvester reference --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 163ab45a9..68551e353 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 5c546bc78..12ff9243d 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 1888da46c1a57ead05512eafaf2a5f204e69e01f Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 3 May 2024 13:39:27 +0200 Subject: [PATCH 112/284] fix(ci): login into docker registry --- .github/workflows/release.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7b7449dfd..1fb7cdc5c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,6 +36,13 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 From 4cb6f1e391ac557fe4072d28afa5d543eb61698c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 3 May 2024 13:39:27 +0200 Subject: [PATCH 113/284] fix(ci): login into docker registry --- .github/workflows/release.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7b7449dfd..1fb7cdc5c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,6 +36,13 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker id: meta uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 From 6b4415fc91bdec3504dd506623b488220136b2a6 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Thu, 23 May 2024 15:49:15 +0200 Subject: [PATCH 114/284] chore: change versions of fairdatapoint harvester and gdi extensions --- ckan/Dockerfile | 4 ++-- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 68551e353..d109564d5 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -9,7 +9,7 @@ FROM ckan/ckan-base:2.10.4 # Install any extensions needed by your CKAN instance # See Dockerfile.dev for more details and examples -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.2#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.3#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 12ff9243d..19619118a 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.0.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 2545e99d1..468453964 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 2545e99d1e3204a089250341e5067c7167b26518 +Subproject commit 46845396496451139ba64b5ea8985d56122ceb5d From d34f0956d11a614b2cd835d6133905294f30bf22 Mon Sep 17 00:00:00 2001 From: anastasianayden Date: Sun, 26 May 2024 09:40:39 +0200 Subject: [PATCH 115/284] feat: update vocabulary with complete list of ZonMW Generic terms v 1.5.0; ZonMW Covid-19 terms v2,4,0; ZonMW ID-AMR terms v1.2.1 --- .../common_vocabulary_tags.csv | 698 +++++++++++++++++- 1 file changed, 687 insertions(+), 11 deletions(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 0e33f0405..5aa166149 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1085,17 +1085,6 @@ http://purl.org/cld/freq/continuous,continuous,en http://purl.org/cld/freq/irregular,irregular,en https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en http://lexvo.org/id/iso639-3/ltz,Luxembourgish,en -http://purl.org/zonmw/covid19/10007,national,en -http://purl.org/zonmw/covid19/10083,people by COVID-19 risk factors,en -http://purl.org/zonmw/covid19/10091,COVID-19 patient grouping,en -http://purl.org/zonmw/covid19/10018,health care phase,en -http://purl.org/zonmw/covid19/10014,hospital care,en -http://purl.org/zonmw/generic/10095,Individual after first infection,en -http://purl.org/zonmw/covid19/10012,GP care,en -http://purl.org/zonmw/covid19/10033,COVID-19 phase,en -http://purl.org/zonmw/covid19/10003,urban,en -http://purl.org/zonmw/covid19/10006,regional,en -http://purl.org/zonmw/generic/10006,other,en https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,Invasive Breast Carcinoma,en https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,Invasive Breast Carcinoma,en http://purl.bioontology.org/ontology/ICD10CM/J96.2,Acute and chronic respiratory failure,en @@ -1734,3 +1723,690 @@ http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disp http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en https://gdi.onemilliongenomes.eu,GDI,en https://en.wikipedia.org/wiki/Colorectal_cancer,Colorectal cancer,en +http://purl.bioontology.org/ontology/ICD10CM/B34.2,Coronavirus infection, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/B95-B97,Bacterial and viral infectious agents (B95-B97),en +http://purl.bioontology.org/ontology/ICD10CM/B97.21,SARS-associated coronavirus as the cause of diseases classified elsewhere,en +http://purl.bioontology.org/ontology/ICD10CM/D65-D69,Coagulation defects, purpura and other hemorrhagic conditions (D65-D69),en +http://purl.bioontology.org/ontology/ICD10CM/F03,Unspecified dementia,en +http://purl.bioontology.org/ontology/ICD10CM/G30,Alzheimer's disease,en +http://purl.bioontology.org/ontology/ICD10CM/G93.3,Postviral and related fatigue syndromes,en +http://purl.bioontology.org/ontology/ICD10CM/G93.31,Postviral fatigue syndrome,en +http://purl.bioontology.org/ontology/ICD10CM/I21,Acute myocardial infarction,en +http://purl.bioontology.org/ontology/ICD10CM/I26-I28,Pulmonary heart disease and diseases of pulmonary circulation (I26-I28),en +http://purl.bioontology.org/ontology/ICD10CM/I49.9,Cardiac arrhythmia, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/I50,Heart failure,en +http://purl.bioontology.org/ontology/ICD10CM/I51.4,Myocarditis, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/I60-I69,Cerebrovascular diseases (I60-I69),en +http://purl.bioontology.org/ontology/ICD10CM/I63,Cerebral infarction,en +http://purl.bioontology.org/ontology/ICD10CM/I67.6,Nonpyogenic thrombosis of intracranial venous system,en +http://purl.bioontology.org/ontology/ICD10CM/I80-I89,Diseases of veins, lymphatic vessels and lymph nodes, not elsewhere classified (I80-I89),en +http://purl.bioontology.org/ontology/ICD10CM/I82,Other venous embolism and thrombosis,en +http://purl.bioontology.org/ontology/ICD10CM/J00-J99,Diseases of the respiratory system (J00-J99),en +http://purl.bioontology.org/ontology/ICD10CM/J06.9,Acute upper respiratory infection, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/J12.81,Pneumonia due to SARS-associated coronavirus,en +http://purl.bioontology.org/ontology/ICD10CM/J12.82,Pneumonia due to coronavirus disease 2019,en +http://purl.bioontology.org/ontology/ICD10CM/M30.3,Mucocutaneous lymph node syndrome [Kawasaki],en +http://purl.bioontology.org/ontology/ICD10CM/M35.81,Multisystem inflammatory syndrome,en +http://purl.bioontology.org/ontology/ICD10CM/R53,Malaise and fatigue,en +http://purl.bioontology.org/ontology/ICD10CM/R53.82,Chronic fatigue, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/T83.510S,Infection and inflammatory reaction due to cystostomy catheter, sequela,en +http://purl.bioontology.org/ontology/ICD10CM/U00-U85,Codes for special purposes (U00-U85),en +http://purl.bioontology.org/ontology/ICD10CM/U07.1,COVID-19,en +http://purl.bioontology.org/ontology/ICD10CM/U09,Post COVID-19 condition,en +http://purl.bioontology.org/ontology/ICD10CM/U09.9,Post COVID-19 condition, unspecified,en +http://purl.bioontology.org/ontology/ICD10CM/Z01.89,Encounter for other specified special examinations,en +http://purl.bioontology.org/ontology/ICD10CM/Z11.52,Encounter for screening for COVID-19,en +http://purl.org/zonmw/covid19/10121,ultrasound,en +http://purl.org/zonmw/covid19/10127,environmental data,en +http://purl.org/zonmw/covid19/10125,survey data,en +http://purl.org/zonmw/covid19/10129,aerial photography,en +http://purl.org/zonmw/covid19/10124,social data,en +http://purl.org/zonmw/covid19/10123,infrared thermography,en +http://purl.org/zonmw/covid19/10122,computed tomography,en +http://purl.org/zonmw/covid19/10128,geographical data,en +http://purl.org/zonmw/covid19/10120,X-ray imaging,en +http://purl.org/zonmw/covid19/10126,COVID policy and prevention measures,en +http://purl.org/zonmw/covid19/10174,nasopharyngeal swab specimen,en +http://purl.org/zonmw/covid19/10176,tissue specimen,en +http://purl.org/zonmw/covid19/10175,oropharyngeal swab specimen,en +http://purl.org/zonmw/covid19/10172,frozen specimen,en +http://purl.org/zonmw/covid19/10173,nasal swab,en +http://purl.org/zonmw/covid19/10178,FFPE tissue specimen,en +http://purl.org/zonmw/covid19/10179,glutaraldehyde fixed tissue specimen,en +http://purl.org/zonmw/covid19/10171,fresh specimen,en +http://purl.org/zonmw/covid19/10170,cell line,en +http://purl.org/zonmw/covid19/10177,vaginal swab specimen,en +http://purl.org/zonmw/covid19/10198,animal facility (breeding/transgenesis),en +http://purl.org/zonmw/covid19/10190,ML-3 laboratory,en +http://purl.org/zonmw/covid19/10195,antibody facility,en +http://purl.org/zonmw/covid19/10194,BSL-4 laboratory,en +http://purl.org/zonmw/covid19/10191,BSL-1 laboratory,en +http://purl.org/zonmw/covid19/10193,BSL-3 laboratory,en +http://purl.org/zonmw/covid19/10196,proteomics facility,en +http://purl.org/zonmw/covid19/10192,BSL-2 laboratory,en +http://purl.org/zonmw/covid19/10199,flow cytometry facility,en +http://purl.org/zonmw/covid19/10197,metabolomics facility,en +http://purl.org/zonmw/covid19/10158,saliva,en +http://purl.org/zonmw/covid19/10157,plasma,en +http://purl.org/zonmw/covid19/10154,blood,en +http://purl.org/zonmw/covid19/10159,semen,en +http://purl.org/zonmw/covid19/10156,feces,en +http://purl.org/zonmw/covid19/10155,breath,en +http://purl.org/zonmw/covid19/10240,behaviour,en +http://purl.org/zonmw/covid19/10249,predictive diagnostics and treatment - risk analysis and prognostics,en +http://purl.org/zonmw/covid19/10246,cloacal swab,en +http://purl.org/zonmw/covid19/10245,perineal swab,en +http://purl.org/zonmw/covid19/10244,genomics data,en +http://purl.org/zonmw/covid19/10148,mouse,en +http://purl.org/zonmw/covid19/10146,human,en +http://purl.org/zonmw/covid19/10147,mink,en +http://purl.org/zonmw/covid19/10140,interview data,en +http://purl.org/zonmw/covid19/10143,prototype description,en +http://purl.org/zonmw/covid19/10142,study design,en +http://purl.org/zonmw/covid19/10149,rat,en +http://purl.org/zonmw/covid19/10023,surveillance phase,en +http://purl.org/zonmw/covid19/10021,palliative care,en +http://purl.org/zonmw/covid19/10028,lockdown phase,en +http://purl.org/zonmw/covid19/10024,short-term impact on emotional wellbeing,en +http://purl.org/zonmw/covid19/10029,prevention phase,en +http://purl.org/zonmw/covid19/10022,rehabilitation,en +http://purl.org/zonmw/covid19/10026,long COVID,en +http://purl.org/zonmw/covid19/10020,post-covid care,en +http://purl.org/zonmw/covid19/10025,long-term impact on emotional wellbeing,en +http://purl.org/zonmw/covid19/10027,regulation phase,en +http://purl.org/zonmw/covid19/10232,Diagnostiek,en +http://purl.org/zonmw/covid19/10233,impact of measures and strategies,en +http://purl.org/zonmw/covid19/10236,therapy,en +http://purl.org/zonmw/covid19/10235,education,en +http://purl.org/zonmw/covid19/10238,Prognose,en +http://purl.org/zonmw/covid19/10237,risk analysis,en +http://purl.org/zonmw/covid19/10231,organisation of care and prevention,en +http://purl.org/zonmw/covid19/10239,Immunologie,en +http://purl.org/zonmw/covid19/10234,healthcare,en +http://purl.org/zonmw/covid19/10274,viral infection,en +http://purl.org/zonmw/covid19/10276,base call quality score,en +http://purl.org/zonmw/covid19/10271,viral epidemiology,en +http://purl.org/zonmw/covid19/10273,viral transmission,en +http://purl.org/zonmw/covid19/10272,viral evolution,en +http://purl.org/zonmw/covid19/10270,COVID-19,en +http://purl.org/zonmw/covid19/10275,base calls,en +http://purl.org/zonmw/covid19/10132,audiovisual data,en +http://purl.org/zonmw/covid19/10134,video recording,en +http://purl.org/zonmw/covid19/10136,field note,en +http://purl.org/zonmw/covid19/10135,qualitative data,en +http://purl.org/zonmw/covid19/10133,picture,en +http://purl.org/zonmw/covid19/10131,GIS data,en +http://purl.org/zonmw/covid19/10130,map,en +http://purl.org/zonmw/covid19/10138,social media data,en +http://purl.org/zonmw/covid19/10139,diaries,en +http://purl.org/zonmw/covid19/10137,focus group discussion,en +http://purl.org/zonmw/covid19/10030,social distancing phase,en +http://purl.org/zonmw/covid19/10035,second wave,en +http://purl.org/zonmw/covid19/10038,people by age,en +http://purl.org/zonmw/covid19/10036,third wave,en +http://purl.org/zonmw/covid19/10032,curefew,en +http://purl.org/zonmw/covid19/10039,prematures,en +http://purl.org/zonmw/covid19/10033,COVID-19 phase,en +http://purl.org/zonmw/covid19/10031,restricted shopping phase,en +http://purl.org/zonmw/covid19/10034,first wave,en +http://purl.org/zonmw/covid19/10061,preschooler,en +http://purl.org/zonmw/covid19/10064,secondary school student,en +http://purl.org/zonmw/covid19/10067,people by employment,en +http://purl.org/zonmw/covid19/10065,vocational school student,en +http://purl.org/zonmw/covid19/10062,daycare child,en +http://purl.org/zonmw/covid19/10063,primary school student,en +http://purl.org/zonmw/covid19/10060,people by education,en +http://purl.org/zonmw/covid19/10066,university student,en +http://purl.org/zonmw/covid19/10069,individual with high socio-economic status,en +http://purl.org/zonmw/covid19/10068,individual with low socio-economic status,en +http://purl.org/zonmw/covid19/10220,COVID-19 vaccination grouping,en +http://purl.org/zonmw/covid19/10227,"virus, immunity and immune response - vaccine studies",en +http://purl.org/zonmw/covid19/10226,predictive diagnostics and treatment - treatment,en +http://purl.org/zonmw/covid19/10221,political data,en +http://purl.org/zonmw/covid19/10223,socio-economic data,en +http://purl.org/zonmw/covid19/10222,economic data,en +http://purl.org/zonmw/covid19/10228,care and prevention - organisation of care and prevention,en +http://purl.org/zonmw/covid19/10229,effects on society - impacts of measurements and strategies,en +http://purl.org/zonmw/covid19/10093,non-hospitalised covid-19 patient,en +http://purl.org/zonmw/covid19/10095,Individual after first infection,en +http://purl.org/zonmw/covid19/10091,COVID-19 patient grouping,en +http://purl.org/zonmw/covid19/10092,hospitalised covid-19 patient,en +http://purl.org/zonmw/covid19/10098,target group of policy interventions,en +http://purl.org/zonmw/covid19/10099,homeless,en +http://purl.org/zonmw/covid19/10090,blood donor,en +http://purl.org/zonmw/covid19/10094,long-covid-19 patient,en +http://purl.org/zonmw/covid19/10096,individual with SARS-CoV-2 vaccination,en +http://purl.org/zonmw/covid19/10097,individual refusing SARS-CoV-2 vaccination,en +http://purl.org/zonmw/covid19/10000,deprecated,en +http://purl.org/zonmw/covid19/10005,provincial,en +http://purl.org/zonmw/covid19/10006,regional,en +http://purl.org/zonmw/covid19/10003,urban,en +http://purl.org/zonmw/covid19/10008,international,en +http://purl.org/zonmw/covid19/10007,national,en +http://purl.org/zonmw/covid19/10002,area,en +http://purl.org/zonmw/covid19/10004,rural,en +http://purl.org/zonmw/covid19/10001,spatial scope,en +http://purl.org/zonmw/covid19/10009,care setting,en +http://purl.org/zonmw/covid19/10100,victim of domestic violence,en +http://purl.org/zonmw/covid19/10101,illiterate people,en +http://purl.org/zonmw/covid19/10108,health data,en +http://purl.org/zonmw/covid19/10103,intellectual disabled,en +http://purl.org/zonmw/covid19/10109,health record data,en +http://purl.org/zonmw/covid19/10106,single household person,en +http://purl.org/zonmw/covid19/10102,physical disabled,en +http://purl.org/zonmw/covid19/10105,policy-maker,en +http://purl.org/zonmw/covid19/10104,mental health patient,en +http://purl.org/zonmw/covid19/10187,laboratory service,en +http://purl.org/zonmw/covid19/10182,DNA,en +http://purl.org/zonmw/covid19/10181,cDNA,en +http://purl.org/zonmw/covid19/10183,RNA,en +http://purl.org/zonmw/covid19/10185,antibody,en +http://purl.org/zonmw/covid19/10188,ML-1 laboratory,en +http://purl.org/zonmw/covid19/10184,protein,en +http://purl.org/zonmw/covid19/10189,ML-2 laboratory,en +http://purl.org/zonmw/covid19/10078,individual with a migration background,en +http://purl.org/zonmw/covid19/10070,employed person,en +http://purl.org/zonmw/covid19/10071,self-employed individual,en +http://purl.org/zonmw/covid19/10076,tourist,en +http://purl.org/zonmw/covid19/10077,people with migration background,en +http://purl.org/zonmw/covid19/10075,individual living in a care home,en +http://purl.org/zonmw/covid19/10079,statushouder,en +http://purl.org/zonmw/covid19/10074,professional care provider,en +http://purl.org/zonmw/covid19/10072,employee with a temporary contract,en +http://purl.org/zonmw/covid19/10073,informal care provider,en +http://purl.org/zonmw/covid19/10012,GP care,en +http://purl.org/zonmw/covid19/10011,transmural,en +http://purl.org/zonmw/covid19/10013,nursing home care,en +http://purl.org/zonmw/covid19/10014,hospital care,en +http://purl.org/zonmw/covid19/10010,home care,en +http://purl.org/zonmw/covid19/10017,local,en +http://purl.org/zonmw/covid19/10015,informal care,en +http://purl.org/zonmw/covid19/10016,residential care,en +http://purl.org/zonmw/covid19/10019,acute care,en +http://purl.org/zonmw/covid19/10018,health care phase,en +http://purl.org/zonmw/covid19/10059,not specified,en +http://purl.org/zonmw/covid19/10052,male,en +http://purl.org/zonmw/covid19/10057,woman,en +http://purl.org/zonmw/covid19/10053,female,en +http://purl.org/zonmw/covid19/10050,very elderly,en +http://purl.org/zonmw/covid19/10056,man,en +http://purl.org/zonmw/covid19/10055,people by gender,en +http://purl.org/zonmw/covid19/10058,non-binary,en +http://purl.org/zonmw/covid19/10051,people by sex,en +http://purl.org/zonmw/covid19/10054,intersex,en +http://purl.org/zonmw/covid19/10207,pharmacy,en +http://purl.org/zonmw/covid19/10209,biobank,en +http://purl.org/zonmw/covid19/10201,sequencing facility,en +http://purl.org/zonmw/covid19/10204,data analytics facility,en +http://purl.org/zonmw/covid19/10202,hiPSC facility,en +http://purl.org/zonmw/covid19/10200,microscopy facility,en +http://purl.org/zonmw/covid19/10203,GMP facility,en +http://purl.org/zonmw/covid19/10206,viral vector facility,en +http://purl.org/zonmw/covid19/10205,biobank facility,en +http://purl.org/zonmw/covid19/10208,repository,en +http://purl.org/zonmw/covid19/10044,primary school children,en +http://purl.org/zonmw/covid19/10047,young adults,en +http://purl.org/zonmw/covid19/10042,babies,en +http://purl.org/zonmw/covid19/10045,teenager,en +http://purl.org/zonmw/covid19/10040,newborns,en +http://purl.org/zonmw/covid19/10049,elderly,en +http://purl.org/zonmw/covid19/10046,young people,en +http://purl.org/zonmw/covid19/10041,neonates,en +http://purl.org/zonmw/covid19/10043,small children,en +http://purl.org/zonmw/covid19/10048,adults,en +http://purl.org/zonmw/covid19/10161,sewage,en +http://purl.org/zonmw/covid19/10164,tissue,en +http://purl.org/zonmw/covid19/10162,sputum,en +http://purl.org/zonmw/covid19/10160,serum,en +http://purl.org/zonmw/covid19/10163,tear,en +http://purl.org/zonmw/covid19/10165,urine,en +http://purl.org/zonmw/covid19/10167,nutrition,en +http://purl.org/zonmw/covid19/10166,peripheral blood mononuclear cell,en +http://purl.org/zonmw/covid19/10168,cervicovaginal secretion,en +http://purl.org/zonmw/covid19/10080,asylum seeker,en +http://purl.org/zonmw/covid19/10081,undocumented migrant,en +http://purl.org/zonmw/covid19/10082,season labour migrant,en +http://purl.org/zonmw/covid19/10083,people by COVID-19 risk factors,en +http://purl.org/zonmw/covid19/10088,patient using anticoagulants,en +http://purl.org/zonmw/covid19/10086,patient with (covid-19 associated) thrombosis,en +http://purl.org/zonmw/covid19/10087,individual with obesity,en +http://purl.org/zonmw/covid19/10085,individual with underlying disease(s),en +http://purl.org/zonmw/covid19/10084,individual with a chronic illness,en +http://purl.org/zonmw/covid19/10089,surgical patient,en +http://purl.org/zonmw/covid19/10264,genomics,en +http://purl.org/zonmw/covid19/10268,performed by a certified laboratory,en +http://purl.org/zonmw/covid19/10265,sequence length,en +http://purl.org/zonmw/covid19/10269,SARS-CoV-2,en +http://purl.org/zonmw/covid19/10267,date of last PRC test,en +http://purl.org/zonmw/covid19/10262,personal information data,en +http://purl.org/zonmw/covid19/10263,neighbourhood,en +http://purl.org/zonmw/covid19/10260,"virus, immunity and immune response - immune compromised",en +http://purl.org/zonmw/covid19/10261,"virus, immunity and immune response - safety and side effects",en +http://purl.org/zonmw/covid19/10266,genetic variation,en +http://purl.org/zonmw/covid19/10257,effects on society - ethical issues,en +http://purl.org/zonmw/covid19/10252,predictive diagnostics and treatment - Long COVID,en +http://purl.org/zonmw/covid19/10251,predictive diagnostics and treatment - recovery and rehabilitation,en +http://purl.org/zonmw/covid19/10255,care and prevention - palliative care and bereavement,en +http://purl.org/zonmw/covid19/10254,care and prevention - transmission and epidemiology,en +http://purl.org/zonmw/covid19/10259,"virus, immunity and immune response - immunology",en +http://purl.org/zonmw/covid19/10250,predictive diagnostics and treatment - studies into clinical treatments,en +http://purl.org/zonmw/covid19/10253,care and prevention - care and prevention for vulnerable citizens,en +http://purl.org/zonmw/covid19/10258,"virus, immunity and immune response - animal free innovations",en +http://purl.org/zonmw/covid19/10256,effects on society - economic resilience,en +http://purl.org/zonmw/covid19/10211,ELSI service,en +http://purl.org/zonmw/covid19/10210,data catalogue,en +http://purl.org/zonmw/covid19/10111,diagnostic data,en +http://purl.org/zonmw/covid19/10114,treatment data,en +http://purl.org/zonmw/covid19/10119,magnetic resonance imaging,en +http://purl.org/zonmw/covid19/10112,physiological data,en +http://purl.org/zonmw/covid19/10115,medication data,en +http://purl.org/zonmw/covid19/10116,molecular data,en +http://purl.org/zonmw/covid19/10118,diagnostic imaging,en +http://purl.org/zonmw/covid19/10110,medical history data,en +http://purl.org/zonmw/covid19/10113,laboratory data,en +http://purl.org/zonmw/covid19/10117,genetic data,en +http://purl.org/zonmw/id-amr/10022,screening phase,en +http://purl.org/zonmw/id-amr/10044,wastewater,en +http://purl.org/zonmw/id-amr/10139,"plasma, single spun",en +http://purl.org/zonmw/id-amr/10237,open only through collaboration,en +http://purl.org/zonmw/id-amr/10010,vector-borne disease,en +http://purl.org/zonmw/id-amr/10167,amplifiablility of nucleic acids,en +http://purl.org/zonmw/id-amr/10250,sensitive information,en +http://purl.org/zonmw/id-amr/10100,fruit,en +http://purl.org/zonmw/id-amr/10112,bone marrow aspirate,en +http://purl.org/zonmw/id-amr/10000,deprecated,en +http://purl.org/zonmw/id-amr/10105,pulse - bean,en +http://purl.org/zonmw/id-amr/10104,oil seed,en +http://purl.org/zonmw/id-amr/10024,disease phase,en +http://purl.org/zonmw/id-amr/10262,storage,en +http://purl.org/zonmw/id-amr/10060,poultry,en +http://purl.org/zonmw/id-amr/10061,insect,en +http://purl.org/zonmw/id-amr/10073,health status data,en +http://purl.org/zonmw/id-amr/10201,data integration,en +http://purl.org/zonmw/id-amr/10045,water,en +http://purl.org/zonmw/id-amr/10200,data analysis,en +http://purl.org/zonmw/id-amr/10047,livestock,en +http://purl.org/zonmw/id-amr/10207,training,en +http://purl.org/zonmw/id-amr/10110,blood (whole),en +http://purl.org/zonmw/id-amr/10236,open in response to specific calls,en +http://purl.org/zonmw/id-amr/10035,subject having antimicrobial treatment,en +http://purl.org/zonmw/id-amr/10097,synovial fluid specimen,en +http://purl.org/zonmw/id-amr/10151,"urine, 24 h",en +http://purl.org/zonmw/id-amr/10127,"disrupted tissue, non-viable",en +http://purl.org/zonmw/id-amr/10253,viral disease,en +http://purl.org/zonmw/id-amr/10102,crop,en +http://purl.org/zonmw/id-amr/10192,clinical records,en +http://purl.org/zonmw/id-amr/10255,fungal disease,en +http://purl.org/zonmw/id-amr/10071,imaging data,en +http://purl.org/zonmw/id-amr/10052,sheep (wool),en +http://purl.org/zonmw/id-amr/10179,quality control of microbiological material,en +http://purl.org/zonmw/id-amr/10117,cells from laser capture microdissected tissue,en +http://purl.org/zonmw/id-amr/10223,in progress,en +http://purl.org/zonmw/id-amr/10132,hair,en +http://purl.org/zonmw/id-amr/10011,prion disease,en +http://purl.org/zonmw/id-amr/10258,disease caused by insects,en +http://purl.org/zonmw/id-amr/10145,solid tissue,en +http://purl.org/zonmw/id-amr/10015,human domain,en +http://purl.org/zonmw/id-amr/10251,"yes, and it is GDPR compliant",en +http://purl.org/zonmw/id-amr/10240,closed to access,en +http://purl.org/zonmw/id-amr/10004,transmission,en +http://purl.org/zonmw/id-amr/10048,diary cattle,en +http://purl.org/zonmw/id-amr/10257,phytoplasma disease,en +http://purl.org/zonmw/id-amr/10170,type of primary container,en +http://purl.org/zonmw/id-amr/10123,cord blood,en +http://purl.org/zonmw/id-amr/10229,genetic analysis restriction,en +http://purl.org/zonmw/id-amr/10265,centrifugation information,en +http://purl.org/zonmw/id-amr/10147,stool,en +http://purl.org/zonmw/id-amr/10008,stewardship,en +http://purl.org/zonmw/id-amr/10137,placenta,en +http://purl.org/zonmw/id-amr/10066,aquaculture,en +http://purl.org/zonmw/id-amr/10141,red blood cells,en +http://purl.org/zonmw/id-amr/10103,cereal,en +http://purl.org/zonmw/id-amr/10217,company department,en +http://purl.org/zonmw/id-amr/10058,broiler,en +http://purl.org/zonmw/id-amr/10129,enriched (physicochemically) circulating tumor cells,en +http://purl.org/zonmw/id-amr/10030,subject with a viral infection,en +http://purl.org/zonmw/id-amr/10085,protein,en +http://purl.org/zonmw/id-amr/10126,dental pulp,en +http://purl.org/zonmw/id-amr/10051,buffalo,en +http://purl.org/zonmw/id-amr/10209,national registries data,en +http://purl.org/zonmw/id-amr/10036,subject having vaccination,en +http://purl.org/zonmw/id-amr/10122,cerebrospinal fluid,en +http://purl.org/zonmw/id-amr/10120,"cells from non-blood specimen type (e.g. dissociated tissue), non-viable",en +http://purl.org/zonmw/id-amr/10094,specimen from geinital system,en +http://purl.org/zonmw/id-amr/10118,"cells from non blood specimen type (e.g. ascites, amniotic), non-viable",en +http://purl.org/zonmw/id-amr/10018,environmental domain,en +http://purl.org/zonmw/id-amr/10161,biomedical device,en +http://purl.org/zonmw/id-amr/10228,export restriction,en +http://purl.org/zonmw/id-amr/10107,detailed type of specimen,en +http://purl.org/zonmw/id-amr/10050,beef cattle,en +http://purl.org/zonmw/id-amr/10213,laboratory,en +http://purl.org/zonmw/id-amr/10256,nematode disease,en +http://purl.org/zonmw/id-amr/10152,"urine, first morning",en +http://purl.org/zonmw/id-amr/10041,infectious agent having antimicrobial resistance,en +http://purl.org/zonmw/id-amr/10162,quality control of biomaterials,en +http://purl.org/zonmw/id-amr/10186,less frequently,en +http://purl.org/zonmw/id-amr/10029,subject with a bacterial infection,en +http://purl.org/zonmw/id-amr/10149,tears,en +http://purl.org/zonmw/id-amr/10243,up to one year,en +http://purl.org/zonmw/id-amr/10157,animal material,en +http://purl.org/zonmw/id-amr/10184,every two years,en +http://purl.org/zonmw/id-amr/10171,pre-centrifugation conditions,en +http://purl.org/zonmw/id-amr/10033,subject with risk of bacterial infection,en +http://purl.org/zonmw/id-amr/10128,dried whole blood (e.g. guthrie cards),en +http://purl.org/zonmw/id-amr/10172,centrifugation conditions,en +http://purl.org/zonmw/id-amr/10266,viability frequency,en +http://purl.org/zonmw/id-amr/10108,amniotic fluid,en +http://purl.org/zonmw/id-amr/10165,concentration of molecular or cellular derivatives,en +http://purl.org/zonmw/id-amr/10009,zoonotic disease,en +http://purl.org/zonmw/id-amr/10225,consent restriction,en +http://purl.org/zonmw/id-amr/10241,time frame,en +http://purl.org/zonmw/id-amr/10227,disease area restriction,en +http://purl.org/zonmw/id-amr/10062,wildlife,en +http://purl.org/zonmw/id-amr/10072,data regarding antimicrobial resistance,en +http://purl.org/zonmw/id-amr/10246,data quality,en +http://purl.org/zonmw/id-amr/10089,blood specimen,en +http://purl.org/zonmw/id-amr/10185,every five years,en +http://purl.org/zonmw/id-amr/10059,layer,en +http://purl.org/zonmw/id-amr/10087,outbreak,en +http://purl.org/zonmw/id-amr/10219,private funding,en +http://purl.org/zonmw/id-amr/10040,infectious agent,en +http://purl.org/zonmw/id-amr/10106,tree nut,en +http://purl.org/zonmw/id-amr/10125,"density-gradient-centrifugation-separated mononuclear cells, viable",en +http://purl.org/zonmw/id-amr/10115,buccal cells,en +http://purl.org/zonmw/id-amr/10046,air,en +http://purl.org/zonmw/id-amr/10135,"non-density-gradient-centrifugation-separated buffy coat, non-viable",en +http://purl.org/zonmw/id-amr/10242,up to one month,en +http://purl.org/zonmw/id-amr/10053,sheep (milk),en +http://purl.org/zonmw/id-amr/10034,subject with risk of viral infection,en +http://purl.org/zonmw/id-amr/10037,subject having other treatments,en +http://purl.org/zonmw/id-amr/10208,communication,en +http://purl.org/zonmw/id-amr/10101,vegetable,en +http://purl.org/zonmw/id-amr/10049,veal calve,en +http://purl.org/zonmw/id-amr/10013,prudent use,en +http://purl.org/zonmw/id-amr/10216,reference centre,en +http://purl.org/zonmw/id-amr/10160,solution,en +http://purl.org/zonmw/id-amr/10001,therapeutics,en +http://purl.org/zonmw/id-amr/10038,subject by age,en +http://purl.org/zonmw/id-amr/10063,companion animal,en +http://purl.org/zonmw/id-amr/10021,diagnostic phase,en +http://purl.org/zonmw/id-amr/10109,ascites fluid,en +http://purl.org/zonmw/id-amr/10131,fresh cells from non-blood specimen type (e.g. biopsy),en +http://purl.org/zonmw/id-amr/10111,bone,en +http://purl.org/zonmw/id-amr/10196,patient ethnicity data,en +http://purl.org/zonmw/id-amr/10005,intervention,en +http://purl.org/zonmw/id-amr/10057,pig,en +http://purl.org/zonmw/id-amr/10218,public funding,en +http://purl.org/zonmw/id-amr/10133,nails,en +http://purl.org/zonmw/id-amr/10222,not started,en +http://purl.org/zonmw/id-amr/10006,preparedness and response,en +http://purl.org/zonmw/id-amr/10191,sequencing - genotyping data,en +http://purl.org/zonmw/id-amr/10164,quality management of pre-analytical data,en +http://purl.org/zonmw/id-amr/10181,purity of microbiological material,en +http://purl.org/zonmw/id-amr/10264,storage information,en +http://purl.org/zonmw/id-amr/10090,bronchoalveolar lavage fluid sample,en +http://purl.org/zonmw/id-amr/10263,centrifugation,en +http://purl.org/zonmw/id-amr/10025,free-from-disease phase,en +http://purl.org/zonmw/id-amr/10252,"yes, but it is not (yet) GDPR compliant",en +http://purl.org/zonmw/id-amr/10210,organisation level,en +http://purl.org/zonmw/id-amr/10198,experimental data,en +http://purl.org/zonmw/id-amr/10221,collection status,en +http://purl.org/zonmw/id-amr/10043,soil-waste,en +http://purl.org/zonmw/id-amr/10142,saliva,en +http://purl.org/zonmw/id-amr/10182,viability of microbiological material,en +http://purl.org/zonmw/id-amr/10204,providing reference materials,en +http://purl.org/zonmw/id-amr/10224,completed,en +http://purl.org/zonmw/id-amr/10193,follow-up records,en +http://purl.org/zonmw/id-amr/10017,environment,en +http://purl.org/zonmw/id-amr/10158,specimen from environment,en +http://purl.org/zonmw/id-amr/10247,data plausibility,en +http://purl.org/zonmw/id-amr/10195,surveillance data,en +http://purl.org/zonmw/id-amr/10113,breast milk,en +http://purl.org/zonmw/id-amr/10220,charity of philanthropic funding,en +http://purl.org/zonmw/id-amr/10174,storage temperature for long-term preservation,en +http://purl.org/zonmw/id-amr/10084,domain,en +http://purl.org/zonmw/id-amr/10150,teeth,en +http://purl.org/zonmw/id-amr/10121,"cells from non-blood specimen type (e.g. dissociated tissue), viable",en +http://purl.org/zonmw/id-amr/10173,post-centrifugation conditions,en +http://purl.org/zonmw/id-amr/10146,sputum,en +http://purl.org/zonmw/id-amr/10114,bronchoalveolar lavage,en +http://purl.org/zonmw/id-amr/10055,goat (milk),en +http://purl.org/zonmw/id-amr/10154,"urine, timed",en +http://purl.org/zonmw/id-amr/10134,nasal washing,en +http://purl.org/zonmw/id-amr/10143,semen,en +http://purl.org/zonmw/id-amr/10116,cells from fine needle aspirate,en +http://purl.org/zonmw/id-amr/10119,"cells from non blood specimen type (e.g. ascites, amniotic), viable",en +http://purl.org/zonmw/id-amr/10245,three years or longer,en +http://purl.org/zonmw/id-amr/10159,plant specimen,en +http://purl.org/zonmw/id-amr/10234,open to everyone,en +http://purl.org/zonmw/id-amr/10202,digital imaging,en +http://purl.org/zonmw/id-amr/10248,data completeness,en +http://purl.org/zonmw/id-amr/10260,non-infectious disease,en +http://purl.org/zonmw/id-amr/10140,pleural fluid,en +http://purl.org/zonmw/id-amr/10093,skin swab,en +http://purl.org/zonmw/id-amr/10183,once every year,en +http://purl.org/zonmw/id-amr/10148,synovial fluid,en +http://purl.org/zonmw/id-amr/10002,surveillance,en +http://purl.org/zonmw/id-amr/10068,epidemiological data,en +http://purl.org/zonmw/id-amr/10016,animal domain,en +http://purl.org/zonmw/id-amr/10042,soil,en +http://purl.org/zonmw/id-amr/10070,complete medical records,en +http://purl.org/zonmw/id-amr/10259,parasite disease,en +http://purl.org/zonmw/id-amr/10092,respiratory sample,en +http://purl.org/zonmw/id-amr/10086,antibody,en +http://purl.org/zonmw/id-amr/10194,monitoring data,en +http://purl.org/zonmw/id-amr/10197,quality data,en +http://purl.org/zonmw/id-amr/10187,integrity of nucleic acids,en +http://purl.org/zonmw/id-amr/10074,taxonomical data,en +http://purl.org/zonmw/id-amr/10205,quality control,en +http://purl.org/zonmw/id-amr/10231,project specific restriction,en +http://purl.org/zonmw/id-amr/10069,diagnostics usage data,en +http://purl.org/zonmw/id-amr/10156,human material,en +http://purl.org/zonmw/id-amr/10214,research group,en +http://purl.org/zonmw/id-amr/10136,"non-density-gradient-centrifugation-separated buffy coat, viable",en +http://purl.org/zonmw/id-amr/10211,university faculty,en +http://purl.org/zonmw/id-amr/10096,stool specimen,en +http://purl.org/zonmw/id-amr/10007,infection prevention,en +http://purl.org/zonmw/id-amr/10215,specific research project,en +http://purl.org/zonmw/id-amr/10190,physiological - biochemical measurement,en +http://purl.org/zonmw/id-amr/10166,purity of nucleic acids,en +http://purl.org/zonmw/id-amr/10254,bacterial disease,en +http://purl.org/zonmw/id-amr/10163,pre-analytical data,en +http://purl.org/zonmw/id-amr/10212,university hospital,en +http://purl.org/zonmw/id-amr/10232,scope of use restriction,en +http://purl.org/zonmw/id-amr/10031,subject with an unknown infection,en +http://purl.org/zonmw/id-amr/10233,access condition,en +http://purl.org/zonmw/id-amr/10056,horse,en +http://purl.org/zonmw/id-amr/10153,"urine, random",en +http://purl.org/zonmw/id-amr/10023,intervention phase,en +http://purl.org/zonmw/id-amr/10091,cerebrospinal fluid sample,en +http://purl.org/zonmw/id-amr/10095,specimen of unknown material,en +http://purl.org/zonmw/id-amr/10032,subject with risk of infection,en +http://purl.org/zonmw/id-amr/10155,isolation source,en +http://purl.org/zonmw/id-amr/10168,storage format for long-term preservation,en +http://purl.org/zonmw/id-amr/10012,microbiome,en +http://purl.org/zonmw/id-amr/10144,serum,en +http://purl.org/zonmw/id-amr/10230,human genetic analysis restriction,en +http://purl.org/zonmw/id-amr/10203,FAIRification service,en +http://purl.org/zonmw/id-amr/10138,"plasma, double spun",en +http://purl.org/zonmw/id-amr/10239,access restricted at present,en +http://purl.org/zonmw/id-amr/10180,authenticity of microbiological material,en +http://purl.org/zonmw/id-amr/10199,biospecimen processing,en +http://purl.org/zonmw/id-amr/10065,fungus,en +http://purl.org/zonmw/id-amr/10244,up to three years,en +http://purl.org/zonmw/id-amr/10235,open to applicants,en +http://purl.org/zonmw/id-amr/10188,food specimen,en +http://purl.org/zonmw/id-amr/10206,regulatory,en +http://purl.org/zonmw/id-amr/10249,data accuracy,en +http://purl.org/zonmw/id-amr/10099,body fluid sample,en +http://purl.org/zonmw/id-amr/10124,"density-gradient-centrifugation-separated mononuclear cells, non viable",en +http://purl.org/zonmw/id-amr/10054,goat (meat),en +http://purl.org/zonmw/id-amr/10226,commerial resctriction,en +http://purl.org/zonmw/id-amr/10028,subject with an infection,en +http://purl.org/zonmw/id-amr/10238,data access only,en +http://purl.org/zonmw/id-amr/10130,fresh cells from non-blood specimen type,en +http://purl.org/zonmw/id-amr/10261,funding type,en +http://purl.org/zonmw/id-amr/10039,subject by sex,en +http://purl.org/zonmw/id-amr/10088,biopsy sample,en +http://purl.org/zonmw/id-amr/10098,urine specimen,en +http://purl.org/zonmw/generic/10082,project manager,en +http://purl.org/zonmw/generic/10089,contact person,en +http://purl.org/zonmw/generic/10084,reseacher,en +http://purl.org/zonmw/generic/10087,supervisor,en +http://purl.org/zonmw/generic/10083,project member,en +http://purl.org/zonmw/generic/10086,rights holder,en +http://purl.org/zonmw/generic/10080,distributor,en +http://purl.org/zonmw/generic/10085,editor,en +http://purl.org/zonmw/generic/10081,project leader,en +http://purl.org/zonmw/generic/10088,work package leader,en +http://purl.org/zonmw/generic/10042,IKNL - Netherlands Comprehensive Cancer Organisation,en +http://purl.org/zonmw/generic/10048,Netherlands Heart Institute,en +http://purl.org/zonmw/generic/10044,Leiden University Medical Center,en +http://purl.org/zonmw/generic/10040,Hogeschool Leiden - University of Applied Sciences Leiden,en +http://purl.org/zonmw/generic/10047,Netherlands Comprehensive Cancer Organisation,en +http://purl.org/zonmw/generic/10046,Maastricht University Medical Centre,en +http://purl.org/zonmw/generic/10045,Maastricht University,en +http://purl.org/zonmw/generic/10041,Hogeschool van Amsterdam - Amsterdam University of Applied Sciences,en +http://purl.org/zonmw/generic/10043,Leiden University,en +http://purl.org/zonmw/generic/10049,NIVEL - Netherlands Institute for Health Services Research,en +http://purl.org/zonmw/generic/10111,RTF - Rich Text File,en +http://purl.org/zonmw/generic/10115,HTML - Hypertext Markup Language,en +http://purl.org/zonmw/generic/10114,XML - eXtensivle Markup Language,en +http://purl.org/zonmw/generic/10116,CSS - Cascading Style Sheets,en +http://purl.org/zonmw/generic/10119,ES - ECMAScript,en +http://purl.org/zonmw/generic/10117,XSLT - Extensible Stylesheet Language Transformations,en +http://purl.org/zonmw/generic/10113,TXT - Non-Unicode text,en +http://purl.org/zonmw/generic/10110,DOCX - Office Open XML,en +http://purl.org/zonmw/generic/10118,JS - JavaScript,en +http://purl.org/zonmw/generic/10112,TXT - Unicode text,en +http://purl.org/zonmw/generic/10022,property,en +http://purl.org/zonmw/generic/10027,institution,en +http://purl.org/zonmw/generic/10025,animal,en +http://purl.org/zonmw/generic/10023,constraint,en +http://purl.org/zonmw/generic/10021,variable,en +http://purl.org/zonmw/generic/10029,Amsterdam Health and Technology Institute - AHTI,en +http://purl.org/zonmw/generic/10028,Academic Medical Center - Amsterdam UMC,en +http://purl.org/zonmw/generic/10026,disease,en +http://purl.org/zonmw/generic/10020,framework,en +http://purl.org/zonmw/generic/10024,microorganism,en +http://purl.org/zonmw/generic/10077,data manager,en +http://purl.org/zonmw/generic/10078,data curator,en +http://purl.org/zonmw/generic/10073,Wageningen University & Research,en +http://purl.org/zonmw/generic/10075,contributor type,en +http://purl.org/zonmw/generic/10071,VU Amsterdam,en +http://purl.org/zonmw/generic/10072,VU University Medical Center,en +http://purl.org/zonmw/generic/10070,Veiligheids- en Gezondheidsregio Gelderland-Midden,en +http://purl.org/zonmw/generic/10074,ZonMw - Netherlands Organisation for Health Research and Development,en +http://purl.org/zonmw/generic/10076,data collector,en +http://purl.org/zonmw/generic/10079,sponsor,en +http://purl.org/zonmw/generic/10130,SIARD - Software Independent Archiving of Relational Databases,en +http://purl.org/zonmw/generic/10131,Microsoft Access,en +http://purl.org/zonmw/generic/10137,JPEG - Joint Photographic Expert Group,en +http://purl.org/zonmw/generic/10133,HDF5 - Hierarchical Data Format,en +http://purl.org/zonmw/generic/10132,DBF - dBase,en +http://purl.org/zonmw/generic/10134,SPSS,en +http://purl.org/zonmw/generic/10139,TIFF - Tagged Image File Format,en +http://purl.org/zonmw/generic/10138,JPEG 2000,en +http://purl.org/zonmw/generic/10136,R,en +http://purl.org/zonmw/generic/10135,STATA,en +http://purl.org/zonmw/generic/10158,Turtle,en +http://purl.org/zonmw/generic/10155,Polygon file format,en +http://purl.org/zonmw/generic/10157,TriG,en +http://purl.org/zonmw/generic/10159,NTriples,en +http://purl.org/zonmw/generic/10152,GeoTIFF,en +http://purl.org/zonmw/generic/10151,GeoJSON,en +http://purl.org/zonmw/generic/10156,RDF - Resource Description Framework,en +http://purl.org/zonmw/generic/10150,MIF/MID - MapInfo Interchange Format,en +http://purl.org/zonmw/generic/10153,ASCII GRID,en +http://purl.org/zonmw/generic/10154,WaveFront Object,en +http://purl.org/zonmw/generic/10038,GGD Zuid Holland Zuid,en +http://purl.org/zonmw/generic/10037,GGD Amsterdam - Public Health Service of Amsterdam,en +http://purl.org/zonmw/generic/10033,Erasmus MC,en +http://purl.org/zonmw/generic/10039,GO FAIR Foundation,en +http://purl.org/zonmw/generic/10030,Delft University of Technology,en +http://purl.org/zonmw/generic/10031,Eindhoven University of Technology,en +http://purl.org/zonmw/generic/10034,Erasmus University Rotterdam,en +http://purl.org/zonmw/generic/10035,Expertisecentrum Nederlands,en +http://purl.org/zonmw/generic/10036,Federal University of Rio de Janeiro,en +http://purl.org/zonmw/generic/10032,Erasmus Centrum voor Zorgbestuur,en +http://purl.org/zonmw/generic/10142,SVG - Scalable Vector Graphics,en +http://purl.org/zonmw/generic/10147,OPUS,en +http://purl.org/zonmw/generic/10144,MXF - Material Exchange Format,en +http://purl.org/zonmw/generic/10140,PNG - Portable Network Graphics,en +http://purl.org/zonmw/generic/10146,FLAC - Free Lossless Audio Codec,en +http://purl.org/zonmw/generic/10141,DICOM - Digital Imaging and Communications in Medicine,en +http://purl.org/zonmw/generic/10148,DXF - AutoCAD DXF version R12 (ASCII),en +http://purl.org/zonmw/generic/10143,BWF - Broadcast Wave Format,en +http://purl.org/zonmw/generic/10145,MKA - Matroska,en +http://purl.org/zonmw/generic/10149,GML - Geography Markup Language,en +http://purl.org/zonmw/generic/10094,none,en +http://purl.org/zonmw/generic/10090,bacterium,en +http://purl.org/zonmw/generic/10093,fungus,en +http://purl.org/zonmw/generic/10096,animal disease,en +http://purl.org/zonmw/generic/10097,plant disease,en +http://purl.org/zonmw/generic/10095,human disease,en +http://purl.org/zonmw/generic/10091,prion,en +http://purl.org/zonmw/generic/10099,generic answer options,en +http://purl.org/zonmw/generic/10092,virus,en +http://purl.org/zonmw/generic/10098,plant,en +http://purl.org/zonmw/generic/10005,data,en +http://purl.org/zonmw/generic/10006,other,en +http://purl.org/zonmw/generic/10000,deprecated,en +http://purl.org/zonmw/generic/10002,subject,en +http://purl.org/zonmw/generic/10004,population group,en +http://purl.org/zonmw/generic/10008,organism,en +http://purl.org/zonmw/generic/10009,specimen,en +http://purl.org/zonmw/generic/10003,temporal scope,en +http://purl.org/zonmw/generic/10001,focus area,en +http://purl.org/zonmw/generic/10007,biomaterial,en +http://purl.org/zonmw/generic/10160,JSON-LD,en +http://purl.org/zonmw/generic/10161,REFI-QDA - Qualitative Data Analysis,en +http://purl.org/zonmw/generic/10052,Public Procurement Research Centre - PPRC,en +http://purl.org/zonmw/generic/10057,Sanquin,en +http://purl.org/zonmw/generic/10055,Reade Research BV,en +http://purl.org/zonmw/generic/10054,Radboud University Nijmegen Medical Centre,en +http://purl.org/zonmw/generic/10056,RIVM - National Institute for Public Health and the Environment,en +http://purl.org/zonmw/generic/10051,Public Health Service of Amsterdam,en +http://purl.org/zonmw/generic/10059,SEO Economisch Onderzoek,en +http://purl.org/zonmw/generic/10050,NSCR - Netherlands Institute for the Study of Crime and Law Enforcement,en +http://purl.org/zonmw/generic/10058,Saxion University of Applied Sciences,en +http://purl.org/zonmw/generic/10053,Radboud University Nijmegen,en +http://purl.org/zonmw/generic/10129,SQL - Structured Query Language,en +http://purl.org/zonmw/generic/10123,NetCDF - Network Common Data Form,en +http://purl.org/zonmw/generic/10122,MATLAB,en +http://purl.org/zonmw/generic/10121,MD - Markdown,en +http://purl.org/zonmw/generic/10126,CSV - Comma Separated Values,en +http://purl.org/zonmw/generic/10125,ODS,en +http://purl.org/zonmw/generic/10120,SGML - Standard Generalized Markup Language,en +http://purl.org/zonmw/generic/10127,XLS - Microsoft Excel,en +http://purl.org/zonmw/generic/10124,TF - Text-Fabric,en +http://purl.org/zonmw/generic/10128,XLSX - Office Open XML Workbook,en +http://purl.org/zonmw/generic/10019,guideline,en +http://purl.org/zonmw/generic/10010,substance,en +http://purl.org/zonmw/generic/10017,technical standard,en +http://purl.org/zonmw/generic/10015,metadata standard,en +http://purl.org/zonmw/generic/10018,conceptual model,en +http://purl.org/zonmw/generic/10011,macromolecule,en +http://purl.org/zonmw/generic/10016,semantic artefact,en +http://purl.org/zonmw/generic/10013,service,en +http://purl.org/zonmw/generic/10014,standard,en +http://purl.org/zonmw/generic/10062,TNO - Netherlands Organisation for Applied Scientific Research,en +http://purl.org/zonmw/generic/10064,University Medical Center Utrecht,en +http://purl.org/zonmw/generic/10069,Utrecht University,en +http://purl.org/zonmw/generic/10068,University of Twente,en +http://purl.org/zonmw/generic/10061,Tilburg University,en +http://purl.org/zonmw/generic/10060,Spaarne Gasthuis - Spaarne Ziekenhuis,en +http://purl.org/zonmw/generic/10066,University of Groningen,en +http://purl.org/zonmw/generic/10063,University Medical Center Groningen,en +http://purl.org/zonmw/generic/10065,University of Amsterdam,en +http://purl.org/zonmw/generic/10067,University of Humanistic Studies,en +http://purl.org/zonmw/generic/10101,no,en +http://purl.org/zonmw/generic/10108,ODT - Open Document,en +http://purl.org/zonmw/generic/10100,yes,en +http://purl.org/zonmw/generic/10109,DOC - Microsoft Word,en +http://purl.org/zonmw/generic/10103,unknown,en +http://purl.org/zonmw/generic/10106,PDF/A - Portable Document Format for archiving,en +http://purl.org/zonmw/generic/10107,PDF - Portable Document Format,en +http://purl.org/zonmw/generic/10105,media type,en +http://purl.org/zonmw/generic/10104,protozoa,en +http://purl.org/zonmw/generic/10102,funder institution,en From f0ab68f8ca5726486aeb394468ee0dbf4c279914 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 27 May 2024 12:57:52 +0200 Subject: [PATCH 116/284] fix: ignore tags longer than 100 characters or shorter than 2 characters --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index d109564d5..e0fa60f29 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 19619118a..93ea4a6ea 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 3a80dac0d2096a711bf6b931faad613da24d988b Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 31 May 2024 12:02:14 +0200 Subject: [PATCH 117/284] fix(csv): resolve "extra data after last expected column" error Enclosed fields containing commas in double quotes to ensure proper CSV parsing. This fix addresses the issue where extra data was detected after the last expected column. --- .../common_vocabulary_tags.csv | 1330 ++++++++--------- 1 file changed, 665 insertions(+), 665 deletions(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 5aa166149..7790bd35b 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1723,690 +1723,690 @@ http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disp http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en https://gdi.onemilliongenomes.eu,GDI,en https://en.wikipedia.org/wiki/Colorectal_cancer,Colorectal cancer,en -http://purl.bioontology.org/ontology/ICD10CM/B34.2,Coronavirus infection, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/B95-B97,Bacterial and viral infectious agents (B95-B97),en -http://purl.bioontology.org/ontology/ICD10CM/B97.21,SARS-associated coronavirus as the cause of diseases classified elsewhere,en -http://purl.bioontology.org/ontology/ICD10CM/D65-D69,Coagulation defects, purpura and other hemorrhagic conditions (D65-D69),en -http://purl.bioontology.org/ontology/ICD10CM/F03,Unspecified dementia,en -http://purl.bioontology.org/ontology/ICD10CM/G30,Alzheimer's disease,en -http://purl.bioontology.org/ontology/ICD10CM/G93.3,Postviral and related fatigue syndromes,en -http://purl.bioontology.org/ontology/ICD10CM/G93.31,Postviral fatigue syndrome,en -http://purl.bioontology.org/ontology/ICD10CM/I21,Acute myocardial infarction,en -http://purl.bioontology.org/ontology/ICD10CM/I26-I28,Pulmonary heart disease and diseases of pulmonary circulation (I26-I28),en -http://purl.bioontology.org/ontology/ICD10CM/I49.9,Cardiac arrhythmia, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/I50,Heart failure,en -http://purl.bioontology.org/ontology/ICD10CM/I51.4,Myocarditis, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/I60-I69,Cerebrovascular diseases (I60-I69),en -http://purl.bioontology.org/ontology/ICD10CM/I63,Cerebral infarction,en -http://purl.bioontology.org/ontology/ICD10CM/I67.6,Nonpyogenic thrombosis of intracranial venous system,en -http://purl.bioontology.org/ontology/ICD10CM/I80-I89,Diseases of veins, lymphatic vessels and lymph nodes, not elsewhere classified (I80-I89),en -http://purl.bioontology.org/ontology/ICD10CM/I82,Other venous embolism and thrombosis,en -http://purl.bioontology.org/ontology/ICD10CM/J00-J99,Diseases of the respiratory system (J00-J99),en -http://purl.bioontology.org/ontology/ICD10CM/J06.9,Acute upper respiratory infection, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/J12.81,Pneumonia due to SARS-associated coronavirus,en -http://purl.bioontology.org/ontology/ICD10CM/J12.82,Pneumonia due to coronavirus disease 2019,en -http://purl.bioontology.org/ontology/ICD10CM/M30.3,Mucocutaneous lymph node syndrome [Kawasaki],en -http://purl.bioontology.org/ontology/ICD10CM/M35.81,Multisystem inflammatory syndrome,en -http://purl.bioontology.org/ontology/ICD10CM/R53,Malaise and fatigue,en -http://purl.bioontology.org/ontology/ICD10CM/R53.82,Chronic fatigue, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/T83.510S,Infection and inflammatory reaction due to cystostomy catheter, sequela,en -http://purl.bioontology.org/ontology/ICD10CM/U00-U85,Codes for special purposes (U00-U85),en -http://purl.bioontology.org/ontology/ICD10CM/U07.1,COVID-19,en -http://purl.bioontology.org/ontology/ICD10CM/U09,Post COVID-19 condition,en -http://purl.bioontology.org/ontology/ICD10CM/U09.9,Post COVID-19 condition, unspecified,en -http://purl.bioontology.org/ontology/ICD10CM/Z01.89,Encounter for other specified special examinations,en -http://purl.bioontology.org/ontology/ICD10CM/Z11.52,Encounter for screening for COVID-19,en -http://purl.org/zonmw/covid19/10121,ultrasound,en -http://purl.org/zonmw/covid19/10127,environmental data,en -http://purl.org/zonmw/covid19/10125,survey data,en -http://purl.org/zonmw/covid19/10129,aerial photography,en -http://purl.org/zonmw/covid19/10124,social data,en -http://purl.org/zonmw/covid19/10123,infrared thermography,en -http://purl.org/zonmw/covid19/10122,computed tomography,en -http://purl.org/zonmw/covid19/10128,geographical data,en -http://purl.org/zonmw/covid19/10120,X-ray imaging,en -http://purl.org/zonmw/covid19/10126,COVID policy and prevention measures,en -http://purl.org/zonmw/covid19/10174,nasopharyngeal swab specimen,en -http://purl.org/zonmw/covid19/10176,tissue specimen,en -http://purl.org/zonmw/covid19/10175,oropharyngeal swab specimen,en -http://purl.org/zonmw/covid19/10172,frozen specimen,en -http://purl.org/zonmw/covid19/10173,nasal swab,en -http://purl.org/zonmw/covid19/10178,FFPE tissue specimen,en -http://purl.org/zonmw/covid19/10179,glutaraldehyde fixed tissue specimen,en -http://purl.org/zonmw/covid19/10171,fresh specimen,en -http://purl.org/zonmw/covid19/10170,cell line,en -http://purl.org/zonmw/covid19/10177,vaginal swab specimen,en -http://purl.org/zonmw/covid19/10198,animal facility (breeding/transgenesis),en -http://purl.org/zonmw/covid19/10190,ML-3 laboratory,en -http://purl.org/zonmw/covid19/10195,antibody facility,en -http://purl.org/zonmw/covid19/10194,BSL-4 laboratory,en -http://purl.org/zonmw/covid19/10191,BSL-1 laboratory,en -http://purl.org/zonmw/covid19/10193,BSL-3 laboratory,en -http://purl.org/zonmw/covid19/10196,proteomics facility,en -http://purl.org/zonmw/covid19/10192,BSL-2 laboratory,en -http://purl.org/zonmw/covid19/10199,flow cytometry facility,en -http://purl.org/zonmw/covid19/10197,metabolomics facility,en -http://purl.org/zonmw/covid19/10158,saliva,en -http://purl.org/zonmw/covid19/10157,plasma,en -http://purl.org/zonmw/covid19/10154,blood,en -http://purl.org/zonmw/covid19/10159,semen,en -http://purl.org/zonmw/covid19/10156,feces,en -http://purl.org/zonmw/covid19/10155,breath,en -http://purl.org/zonmw/covid19/10240,behaviour,en -http://purl.org/zonmw/covid19/10249,predictive diagnostics and treatment - risk analysis and prognostics,en -http://purl.org/zonmw/covid19/10246,cloacal swab,en -http://purl.org/zonmw/covid19/10245,perineal swab,en -http://purl.org/zonmw/covid19/10244,genomics data,en -http://purl.org/zonmw/covid19/10148,mouse,en -http://purl.org/zonmw/covid19/10146,human,en -http://purl.org/zonmw/covid19/10147,mink,en -http://purl.org/zonmw/covid19/10140,interview data,en -http://purl.org/zonmw/covid19/10143,prototype description,en -http://purl.org/zonmw/covid19/10142,study design,en -http://purl.org/zonmw/covid19/10149,rat,en -http://purl.org/zonmw/covid19/10023,surveillance phase,en -http://purl.org/zonmw/covid19/10021,palliative care,en -http://purl.org/zonmw/covid19/10028,lockdown phase,en -http://purl.org/zonmw/covid19/10024,short-term impact on emotional wellbeing,en -http://purl.org/zonmw/covid19/10029,prevention phase,en -http://purl.org/zonmw/covid19/10022,rehabilitation,en -http://purl.org/zonmw/covid19/10026,long COVID,en -http://purl.org/zonmw/covid19/10020,post-covid care,en -http://purl.org/zonmw/covid19/10025,long-term impact on emotional wellbeing,en -http://purl.org/zonmw/covid19/10027,regulation phase,en -http://purl.org/zonmw/covid19/10232,Diagnostiek,en -http://purl.org/zonmw/covid19/10233,impact of measures and strategies,en -http://purl.org/zonmw/covid19/10236,therapy,en -http://purl.org/zonmw/covid19/10235,education,en -http://purl.org/zonmw/covid19/10238,Prognose,en -http://purl.org/zonmw/covid19/10237,risk analysis,en -http://purl.org/zonmw/covid19/10231,organisation of care and prevention,en -http://purl.org/zonmw/covid19/10239,Immunologie,en -http://purl.org/zonmw/covid19/10234,healthcare,en -http://purl.org/zonmw/covid19/10274,viral infection,en -http://purl.org/zonmw/covid19/10276,base call quality score,en -http://purl.org/zonmw/covid19/10271,viral epidemiology,en -http://purl.org/zonmw/covid19/10273,viral transmission,en -http://purl.org/zonmw/covid19/10272,viral evolution,en -http://purl.org/zonmw/covid19/10270,COVID-19,en -http://purl.org/zonmw/covid19/10275,base calls,en -http://purl.org/zonmw/covid19/10132,audiovisual data,en -http://purl.org/zonmw/covid19/10134,video recording,en -http://purl.org/zonmw/covid19/10136,field note,en -http://purl.org/zonmw/covid19/10135,qualitative data,en -http://purl.org/zonmw/covid19/10133,picture,en -http://purl.org/zonmw/covid19/10131,GIS data,en -http://purl.org/zonmw/covid19/10130,map,en -http://purl.org/zonmw/covid19/10138,social media data,en -http://purl.org/zonmw/covid19/10139,diaries,en -http://purl.org/zonmw/covid19/10137,focus group discussion,en -http://purl.org/zonmw/covid19/10030,social distancing phase,en -http://purl.org/zonmw/covid19/10035,second wave,en -http://purl.org/zonmw/covid19/10038,people by age,en -http://purl.org/zonmw/covid19/10036,third wave,en -http://purl.org/zonmw/covid19/10032,curefew,en -http://purl.org/zonmw/covid19/10039,prematures,en -http://purl.org/zonmw/covid19/10033,COVID-19 phase,en -http://purl.org/zonmw/covid19/10031,restricted shopping phase,en -http://purl.org/zonmw/covid19/10034,first wave,en -http://purl.org/zonmw/covid19/10061,preschooler,en -http://purl.org/zonmw/covid19/10064,secondary school student,en -http://purl.org/zonmw/covid19/10067,people by employment,en -http://purl.org/zonmw/covid19/10065,vocational school student,en -http://purl.org/zonmw/covid19/10062,daycare child,en -http://purl.org/zonmw/covid19/10063,primary school student,en -http://purl.org/zonmw/covid19/10060,people by education,en -http://purl.org/zonmw/covid19/10066,university student,en -http://purl.org/zonmw/covid19/10069,individual with high socio-economic status,en -http://purl.org/zonmw/covid19/10068,individual with low socio-economic status,en -http://purl.org/zonmw/covid19/10220,COVID-19 vaccination grouping,en +http://purl.bioontology.org/ontology/ICD10CM/B34.2,"Coronavirus infection, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/B95-B97,"Bacterial and viral infectious agents (B95-B97)",en +http://purl.bioontology.org/ontology/ICD10CM/B97.21,"SARS-associated coronavirus as the cause of diseases classified elsewhere",en +http://purl.bioontology.org/ontology/ICD10CM/D65-D69,"Coagulation defects, purpura and other hemorrhagic conditions (D65-D69)",en +http://purl.bioontology.org/ontology/ICD10CM/F03,"Unspecified dementia",en +http://purl.bioontology.org/ontology/ICD10CM/G30,"Alzheimer's disease",en +http://purl.bioontology.org/ontology/ICD10CM/G93.3,"Postviral and related fatigue syndromes",en +http://purl.bioontology.org/ontology/ICD10CM/G93.31,"Postviral fatigue syndrome",en +http://purl.bioontology.org/ontology/ICD10CM/I21,"Acute myocardial infarction",en +http://purl.bioontology.org/ontology/ICD10CM/I26-I28,"Pulmonary heart disease and diseases of pulmonary circulation (I26-I28)",en +http://purl.bioontology.org/ontology/ICD10CM/I49.9,"Cardiac arrhythmia, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/I50,"Heart failure",en +http://purl.bioontology.org/ontology/ICD10CM/I51.4,"Myocarditis, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/I60-I69,"Cerebrovascular diseases (I60-I69)",en +http://purl.bioontology.org/ontology/ICD10CM/I63,"Cerebral infarction",en +http://purl.bioontology.org/ontology/ICD10CM/I67.6,"Nonpyogenic thrombosis of intracranial venous system",en +http://purl.bioontology.org/ontology/ICD10CM/I80-I89,"Diseases of veins, lymphatic vessels and lymph nodes, not elsewhere classified (I80-I89)",en +http://purl.bioontology.org/ontology/ICD10CM/I82,"Other venous embolism and thrombosis",en +http://purl.bioontology.org/ontology/ICD10CM/J00-J99,"Diseases of the respiratory system (J00-J99)",en +http://purl.bioontology.org/ontology/ICD10CM/J06.9,"Acute upper respiratory infection, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/J12.81,"Pneumonia due to SARS-associated coronavirus",en +http://purl.bioontology.org/ontology/ICD10CM/J12.82,"Pneumonia due to coronavirus disease 2019",en +http://purl.bioontology.org/ontology/ICD10CM/M30.3,"Mucocutaneous lymph node syndrome [Kawasaki]",en +http://purl.bioontology.org/ontology/ICD10CM/M35.81,"Multisystem inflammatory syndrome",en +http://purl.bioontology.org/ontology/ICD10CM/R53,"Malaise and fatigue",en +http://purl.bioontology.org/ontology/ICD10CM/R53.82,"Chronic fatigue, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/T83.510S,"Infection and inflammatory reaction due to cystostomy catheter, sequela",en +http://purl.bioontology.org/ontology/ICD10CM/U00-U85,"Codes for special purposes (U00-U85)",en +http://purl.bioontology.org/ontology/ICD10CM/U07.1,"COVID-19",en +http://purl.bioontology.org/ontology/ICD10CM/U09,"Post COVID-19 condition",en +http://purl.bioontology.org/ontology/ICD10CM/U09.9,"Post COVID-19 condition, unspecified",en +http://purl.bioontology.org/ontology/ICD10CM/Z01.89,"Encounter for other specified special examinations",en +http://purl.bioontology.org/ontology/ICD10CM/Z11.52,"Encounter for screening for COVID-19",en +http://purl.org/zonmw/covid19/10121,"ultrasound",en +http://purl.org/zonmw/covid19/10127,"environmental data",en +http://purl.org/zonmw/covid19/10125,"survey data",en +http://purl.org/zonmw/covid19/10129,"aerial photography",en +http://purl.org/zonmw/covid19/10124,"social data",en +http://purl.org/zonmw/covid19/10123,"infrared thermography",en +http://purl.org/zonmw/covid19/10122,"computed tomography",en +http://purl.org/zonmw/covid19/10128,"geographical data",en +http://purl.org/zonmw/covid19/10120,"X-ray imaging",en +http://purl.org/zonmw/covid19/10126,"COVID policy and prevention measures",en +http://purl.org/zonmw/covid19/10174,"nasopharyngeal swab specimen",en +http://purl.org/zonmw/covid19/10176,"tissue specimen",en +http://purl.org/zonmw/covid19/10175,"oropharyngeal swab specimen",en +http://purl.org/zonmw/covid19/10172,"frozen specimen",en +http://purl.org/zonmw/covid19/10173,"nasal swab",en +http://purl.org/zonmw/covid19/10178,"FFPE tissue specimen",en +http://purl.org/zonmw/covid19/10179,"glutaraldehyde fixed tissue specimen",en +http://purl.org/zonmw/covid19/10171,"fresh specimen",en +http://purl.org/zonmw/covid19/10170,"cell line",en +http://purl.org/zonmw/covid19/10177,"vaginal swab specimen",en +http://purl.org/zonmw/covid19/10198,"animal facility (breeding/transgenesis)",en +http://purl.org/zonmw/covid19/10190,"ML-3 laboratory",en +http://purl.org/zonmw/covid19/10195,"antibody facility",en +http://purl.org/zonmw/covid19/10194,"BSL-4 laboratory",en +http://purl.org/zonmw/covid19/10191,"BSL-1 laboratory",en +http://purl.org/zonmw/covid19/10193,"BSL-3 laboratory",en +http://purl.org/zonmw/covid19/10196,"proteomics facility",en +http://purl.org/zonmw/covid19/10192,"BSL-2 laboratory",en +http://purl.org/zonmw/covid19/10199,"flow cytometry facility",en +http://purl.org/zonmw/covid19/10197,"metabolomics facility",en +http://purl.org/zonmw/covid19/10158,"saliva",en +http://purl.org/zonmw/covid19/10157,"plasma",en +http://purl.org/zonmw/covid19/10154,"blood",en +http://purl.org/zonmw/covid19/10159,"semen",en +http://purl.org/zonmw/covid19/10156,"feces",en +http://purl.org/zonmw/covid19/10155,"breath",en +http://purl.org/zonmw/covid19/10240,"behaviour",en +http://purl.org/zonmw/covid19/10249,"predictive diagnostics and treatment - risk analysis and prognostics",en +http://purl.org/zonmw/covid19/10246,"cloacal swab",en +http://purl.org/zonmw/covid19/10245,"perineal swab",en +http://purl.org/zonmw/covid19/10244,"genomics data",en +http://purl.org/zonmw/covid19/10148,"mouse",en +http://purl.org/zonmw/covid19/10146,"human",en +http://purl.org/zonmw/covid19/10147,"mink",en +http://purl.org/zonmw/covid19/10140,"interview data",en +http://purl.org/zonmw/covid19/10143,"prototype description",en +http://purl.org/zonmw/covid19/10142,"study design",en +http://purl.org/zonmw/covid19/10149,"rat",en +http://purl.org/zonmw/covid19/10023,"surveillance phase",en +http://purl.org/zonmw/covid19/10021,"palliative care",en +http://purl.org/zonmw/covid19/10028,"lockdown phase",en +http://purl.org/zonmw/covid19/10024,"short-term impact on emotional wellbeing",en +http://purl.org/zonmw/covid19/10029,"prevention phase",en +http://purl.org/zonmw/covid19/10022,"rehabilitation",en +http://purl.org/zonmw/covid19/10026,"long COVID",en +http://purl.org/zonmw/covid19/10020,"post-covid care",en +http://purl.org/zonmw/covid19/10025,"long-term impact on emotional wellbeing",en +http://purl.org/zonmw/covid19/10027,"regulation phase",en +http://purl.org/zonmw/covid19/10232,"Diagnostiek",en +http://purl.org/zonmw/covid19/10233,"impact of measures and strategies",en +http://purl.org/zonmw/covid19/10236,"therapy",en +http://purl.org/zonmw/covid19/10235,"education",en +http://purl.org/zonmw/covid19/10238,"Prognose",en +http://purl.org/zonmw/covid19/10237,"risk analysis",en +http://purl.org/zonmw/covid19/10231,"organisation of care and prevention",en +http://purl.org/zonmw/covid19/10239,"Immunologie",en +http://purl.org/zonmw/covid19/10234,"healthcare",en +http://purl.org/zonmw/covid19/10274,"viral infection",en +http://purl.org/zonmw/covid19/10276,"base call quality score",en +http://purl.org/zonmw/covid19/10271,"viral epidemiology",en +http://purl.org/zonmw/covid19/10273,"viral transmission",en +http://purl.org/zonmw/covid19/10272,"viral evolution",en +http://purl.org/zonmw/covid19/10270,"COVID-19",en +http://purl.org/zonmw/covid19/10275,"base calls",en +http://purl.org/zonmw/covid19/10132,"audiovisual data",en +http://purl.org/zonmw/covid19/10134,"video recording",en +http://purl.org/zonmw/covid19/10136,"field note",en +http://purl.org/zonmw/covid19/10135,"qualitative data",en +http://purl.org/zonmw/covid19/10133,"picture",en +http://purl.org/zonmw/covid19/10131,"GIS data",en +http://purl.org/zonmw/covid19/10130,"map",en +http://purl.org/zonmw/covid19/10138,"social media data",en +http://purl.org/zonmw/covid19/10139,"diaries",en +http://purl.org/zonmw/covid19/10137,"focus group discussion",en +http://purl.org/zonmw/covid19/10030,"social distancing phase",en +http://purl.org/zonmw/covid19/10035,"second wave",en +http://purl.org/zonmw/covid19/10038,"people by age",en +http://purl.org/zonmw/covid19/10036,"third wave",en +http://purl.org/zonmw/covid19/10032,"curefew",en +http://purl.org/zonmw/covid19/10039,"prematures",en +http://purl.org/zonmw/covid19/10033,"COVID-19 phase",en +http://purl.org/zonmw/covid19/10031,"restricted shopping phase",en +http://purl.org/zonmw/covid19/10034,"first wave",en +http://purl.org/zonmw/covid19/10061,"preschooler",en +http://purl.org/zonmw/covid19/10064,"secondary school student",en +http://purl.org/zonmw/covid19/10067,"people by employment",en +http://purl.org/zonmw/covid19/10065,"vocational school student",en +http://purl.org/zonmw/covid19/10062,"daycare child",en +http://purl.org/zonmw/covid19/10063,"primary school student",en +http://purl.org/zonmw/covid19/10060,"people by education",en +http://purl.org/zonmw/covid19/10066,"university student",en +http://purl.org/zonmw/covid19/10069,"individual with high socio-economic status",en +http://purl.org/zonmw/covid19/10068,"individual with low socio-economic status",en +http://purl.org/zonmw/covid19/10220,"COVID-19 vaccination grouping",en http://purl.org/zonmw/covid19/10227,"virus, immunity and immune response - vaccine studies",en -http://purl.org/zonmw/covid19/10226,predictive diagnostics and treatment - treatment,en -http://purl.org/zonmw/covid19/10221,political data,en -http://purl.org/zonmw/covid19/10223,socio-economic data,en -http://purl.org/zonmw/covid19/10222,economic data,en -http://purl.org/zonmw/covid19/10228,care and prevention - organisation of care and prevention,en -http://purl.org/zonmw/covid19/10229,effects on society - impacts of measurements and strategies,en -http://purl.org/zonmw/covid19/10093,non-hospitalised covid-19 patient,en -http://purl.org/zonmw/covid19/10095,Individual after first infection,en -http://purl.org/zonmw/covid19/10091,COVID-19 patient grouping,en -http://purl.org/zonmw/covid19/10092,hospitalised covid-19 patient,en -http://purl.org/zonmw/covid19/10098,target group of policy interventions,en -http://purl.org/zonmw/covid19/10099,homeless,en -http://purl.org/zonmw/covid19/10090,blood donor,en -http://purl.org/zonmw/covid19/10094,long-covid-19 patient,en -http://purl.org/zonmw/covid19/10096,individual with SARS-CoV-2 vaccination,en -http://purl.org/zonmw/covid19/10097,individual refusing SARS-CoV-2 vaccination,en -http://purl.org/zonmw/covid19/10000,deprecated,en -http://purl.org/zonmw/covid19/10005,provincial,en -http://purl.org/zonmw/covid19/10006,regional,en -http://purl.org/zonmw/covid19/10003,urban,en -http://purl.org/zonmw/covid19/10008,international,en -http://purl.org/zonmw/covid19/10007,national,en -http://purl.org/zonmw/covid19/10002,area,en -http://purl.org/zonmw/covid19/10004,rural,en -http://purl.org/zonmw/covid19/10001,spatial scope,en -http://purl.org/zonmw/covid19/10009,care setting,en -http://purl.org/zonmw/covid19/10100,victim of domestic violence,en -http://purl.org/zonmw/covid19/10101,illiterate people,en -http://purl.org/zonmw/covid19/10108,health data,en -http://purl.org/zonmw/covid19/10103,intellectual disabled,en -http://purl.org/zonmw/covid19/10109,health record data,en -http://purl.org/zonmw/covid19/10106,single household person,en -http://purl.org/zonmw/covid19/10102,physical disabled,en -http://purl.org/zonmw/covid19/10105,policy-maker,en -http://purl.org/zonmw/covid19/10104,mental health patient,en -http://purl.org/zonmw/covid19/10187,laboratory service,en -http://purl.org/zonmw/covid19/10182,DNA,en -http://purl.org/zonmw/covid19/10181,cDNA,en -http://purl.org/zonmw/covid19/10183,RNA,en -http://purl.org/zonmw/covid19/10185,antibody,en -http://purl.org/zonmw/covid19/10188,ML-1 laboratory,en -http://purl.org/zonmw/covid19/10184,protein,en -http://purl.org/zonmw/covid19/10189,ML-2 laboratory,en -http://purl.org/zonmw/covid19/10078,individual with a migration background,en -http://purl.org/zonmw/covid19/10070,employed person,en -http://purl.org/zonmw/covid19/10071,self-employed individual,en -http://purl.org/zonmw/covid19/10076,tourist,en -http://purl.org/zonmw/covid19/10077,people with migration background,en -http://purl.org/zonmw/covid19/10075,individual living in a care home,en -http://purl.org/zonmw/covid19/10079,statushouder,en -http://purl.org/zonmw/covid19/10074,professional care provider,en -http://purl.org/zonmw/covid19/10072,employee with a temporary contract,en -http://purl.org/zonmw/covid19/10073,informal care provider,en -http://purl.org/zonmw/covid19/10012,GP care,en -http://purl.org/zonmw/covid19/10011,transmural,en -http://purl.org/zonmw/covid19/10013,nursing home care,en -http://purl.org/zonmw/covid19/10014,hospital care,en -http://purl.org/zonmw/covid19/10010,home care,en -http://purl.org/zonmw/covid19/10017,local,en -http://purl.org/zonmw/covid19/10015,informal care,en -http://purl.org/zonmw/covid19/10016,residential care,en -http://purl.org/zonmw/covid19/10019,acute care,en -http://purl.org/zonmw/covid19/10018,health care phase,en -http://purl.org/zonmw/covid19/10059,not specified,en -http://purl.org/zonmw/covid19/10052,male,en -http://purl.org/zonmw/covid19/10057,woman,en -http://purl.org/zonmw/covid19/10053,female,en -http://purl.org/zonmw/covid19/10050,very elderly,en -http://purl.org/zonmw/covid19/10056,man,en -http://purl.org/zonmw/covid19/10055,people by gender,en -http://purl.org/zonmw/covid19/10058,non-binary,en -http://purl.org/zonmw/covid19/10051,people by sex,en -http://purl.org/zonmw/covid19/10054,intersex,en -http://purl.org/zonmw/covid19/10207,pharmacy,en -http://purl.org/zonmw/covid19/10209,biobank,en -http://purl.org/zonmw/covid19/10201,sequencing facility,en -http://purl.org/zonmw/covid19/10204,data analytics facility,en -http://purl.org/zonmw/covid19/10202,hiPSC facility,en -http://purl.org/zonmw/covid19/10200,microscopy facility,en -http://purl.org/zonmw/covid19/10203,GMP facility,en -http://purl.org/zonmw/covid19/10206,viral vector facility,en -http://purl.org/zonmw/covid19/10205,biobank facility,en -http://purl.org/zonmw/covid19/10208,repository,en -http://purl.org/zonmw/covid19/10044,primary school children,en -http://purl.org/zonmw/covid19/10047,young adults,en -http://purl.org/zonmw/covid19/10042,babies,en -http://purl.org/zonmw/covid19/10045,teenager,en -http://purl.org/zonmw/covid19/10040,newborns,en -http://purl.org/zonmw/covid19/10049,elderly,en -http://purl.org/zonmw/covid19/10046,young people,en -http://purl.org/zonmw/covid19/10041,neonates,en -http://purl.org/zonmw/covid19/10043,small children,en -http://purl.org/zonmw/covid19/10048,adults,en -http://purl.org/zonmw/covid19/10161,sewage,en -http://purl.org/zonmw/covid19/10164,tissue,en -http://purl.org/zonmw/covid19/10162,sputum,en -http://purl.org/zonmw/covid19/10160,serum,en -http://purl.org/zonmw/covid19/10163,tear,en -http://purl.org/zonmw/covid19/10165,urine,en -http://purl.org/zonmw/covid19/10167,nutrition,en -http://purl.org/zonmw/covid19/10166,peripheral blood mononuclear cell,en -http://purl.org/zonmw/covid19/10168,cervicovaginal secretion,en -http://purl.org/zonmw/covid19/10080,asylum seeker,en -http://purl.org/zonmw/covid19/10081,undocumented migrant,en -http://purl.org/zonmw/covid19/10082,season labour migrant,en -http://purl.org/zonmw/covid19/10083,people by COVID-19 risk factors,en -http://purl.org/zonmw/covid19/10088,patient using anticoagulants,en -http://purl.org/zonmw/covid19/10086,patient with (covid-19 associated) thrombosis,en -http://purl.org/zonmw/covid19/10087,individual with obesity,en -http://purl.org/zonmw/covid19/10085,individual with underlying disease(s),en -http://purl.org/zonmw/covid19/10084,individual with a chronic illness,en -http://purl.org/zonmw/covid19/10089,surgical patient,en -http://purl.org/zonmw/covid19/10264,genomics,en -http://purl.org/zonmw/covid19/10268,performed by a certified laboratory,en -http://purl.org/zonmw/covid19/10265,sequence length,en -http://purl.org/zonmw/covid19/10269,SARS-CoV-2,en -http://purl.org/zonmw/covid19/10267,date of last PRC test,en -http://purl.org/zonmw/covid19/10262,personal information data,en -http://purl.org/zonmw/covid19/10263,neighbourhood,en +http://purl.org/zonmw/covid19/10226,"predictive diagnostics and treatment - treatment",en +http://purl.org/zonmw/covid19/10221,"political data",en +http://purl.org/zonmw/covid19/10223,"socio-economic data",en +http://purl.org/zonmw/covid19/10222,"economic data",en +http://purl.org/zonmw/covid19/10228,"care and prevention - organisation of care and prevention",en +http://purl.org/zonmw/covid19/10229,"effects on society - impacts of measurements and strategies",en +http://purl.org/zonmw/covid19/10093,"non-hospitalised covid-19 patient",en +http://purl.org/zonmw/covid19/10095,"Individual after first infection",en +http://purl.org/zonmw/covid19/10091,"COVID-19 patient grouping",en +http://purl.org/zonmw/covid19/10092,"hospitalised covid-19 patient",en +http://purl.org/zonmw/covid19/10098,"target group of policy interventions",en +http://purl.org/zonmw/covid19/10099,"homeless",en +http://purl.org/zonmw/covid19/10090,"blood donor",en +http://purl.org/zonmw/covid19/10094,"long-covid-19 patient",en +http://purl.org/zonmw/covid19/10096,"individual with SARS-CoV-2 vaccination",en +http://purl.org/zonmw/covid19/10097,"individual refusing SARS-CoV-2 vaccination",en +http://purl.org/zonmw/covid19/10000,"deprecated",en +http://purl.org/zonmw/covid19/10005,"provincial",en +http://purl.org/zonmw/covid19/10006,"regional",en +http://purl.org/zonmw/covid19/10003,"urban",en +http://purl.org/zonmw/covid19/10008,"international",en +http://purl.org/zonmw/covid19/10007,"national",en +http://purl.org/zonmw/covid19/10002,"area",en +http://purl.org/zonmw/covid19/10004,"rural",en +http://purl.org/zonmw/covid19/10001,"spatial scope",en +http://purl.org/zonmw/covid19/10009,"care setting",en +http://purl.org/zonmw/covid19/10100,"victim of domestic violence",en +http://purl.org/zonmw/covid19/10101,"illiterate people",en +http://purl.org/zonmw/covid19/10108,"health data",en +http://purl.org/zonmw/covid19/10103,"intellectual disabled",en +http://purl.org/zonmw/covid19/10109,"health record data",en +http://purl.org/zonmw/covid19/10106,"single household person",en +http://purl.org/zonmw/covid19/10102,"physical disabled",en +http://purl.org/zonmw/covid19/10105,"policy-maker",en +http://purl.org/zonmw/covid19/10104,"mental health patient",en +http://purl.org/zonmw/covid19/10187,"laboratory service",en +http://purl.org/zonmw/covid19/10182,"DNA",en +http://purl.org/zonmw/covid19/10181,"cDNA",en +http://purl.org/zonmw/covid19/10183,"RNA",en +http://purl.org/zonmw/covid19/10185,"antibody",en +http://purl.org/zonmw/covid19/10188,"ML-1 laboratory",en +http://purl.org/zonmw/covid19/10184,"protein",en +http://purl.org/zonmw/covid19/10189,"ML-2 laboratory",en +http://purl.org/zonmw/covid19/10078,"individual with a migration background",en +http://purl.org/zonmw/covid19/10070,"employed person",en +http://purl.org/zonmw/covid19/10071,"self-employed individual",en +http://purl.org/zonmw/covid19/10076,"tourist",en +http://purl.org/zonmw/covid19/10077,"people with migration background",en +http://purl.org/zonmw/covid19/10075,"individual living in a care home",en +http://purl.org/zonmw/covid19/10079,"statushouder",en +http://purl.org/zonmw/covid19/10074,"professional care provider",en +http://purl.org/zonmw/covid19/10072,"employee with a temporary contract",en +http://purl.org/zonmw/covid19/10073,"informal care provider",en +http://purl.org/zonmw/covid19/10012,"GP care",en +http://purl.org/zonmw/covid19/10011,"transmural",en +http://purl.org/zonmw/covid19/10013,"nursing home care",en +http://purl.org/zonmw/covid19/10014,"hospital care",en +http://purl.org/zonmw/covid19/10010,"home care",en +http://purl.org/zonmw/covid19/10017,"local",en +http://purl.org/zonmw/covid19/10015,"informal care",en +http://purl.org/zonmw/covid19/10016,"residential care",en +http://purl.org/zonmw/covid19/10019,"acute care",en +http://purl.org/zonmw/covid19/10018,"health care phase",en +http://purl.org/zonmw/covid19/10059,"not specified",en +http://purl.org/zonmw/covid19/10052,"male",en +http://purl.org/zonmw/covid19/10057,"woman",en +http://purl.org/zonmw/covid19/10053,"female",en +http://purl.org/zonmw/covid19/10050,"very elderly",en +http://purl.org/zonmw/covid19/10056,"man",en +http://purl.org/zonmw/covid19/10055,"people by gender",en +http://purl.org/zonmw/covid19/10058,"non-binary",en +http://purl.org/zonmw/covid19/10051,"people by sex",en +http://purl.org/zonmw/covid19/10054,"intersex",en +http://purl.org/zonmw/covid19/10207,"pharmacy",en +http://purl.org/zonmw/covid19/10209,"biobank",en +http://purl.org/zonmw/covid19/10201,"sequencing facility",en +http://purl.org/zonmw/covid19/10204,"data analytics facility",en +http://purl.org/zonmw/covid19/10202,"hiPSC facility",en +http://purl.org/zonmw/covid19/10200,"microscopy facility",en +http://purl.org/zonmw/covid19/10203,"GMP facility",en +http://purl.org/zonmw/covid19/10206,"viral vector facility",en +http://purl.org/zonmw/covid19/10205,"biobank facility",en +http://purl.org/zonmw/covid19/10208,"repository",en +http://purl.org/zonmw/covid19/10044,"primary school children",en +http://purl.org/zonmw/covid19/10047,"young adults",en +http://purl.org/zonmw/covid19/10042,"babies",en +http://purl.org/zonmw/covid19/10045,"teenager",en +http://purl.org/zonmw/covid19/10040,"newborns",en +http://purl.org/zonmw/covid19/10049,"elderly",en +http://purl.org/zonmw/covid19/10046,"young people",en +http://purl.org/zonmw/covid19/10041,"neonates",en +http://purl.org/zonmw/covid19/10043,"small children",en +http://purl.org/zonmw/covid19/10048,"adults",en +http://purl.org/zonmw/covid19/10161,"sewage",en +http://purl.org/zonmw/covid19/10164,"tissue",en +http://purl.org/zonmw/covid19/10162,"sputum",en +http://purl.org/zonmw/covid19/10160,"serum",en +http://purl.org/zonmw/covid19/10163,"tear",en +http://purl.org/zonmw/covid19/10165,"urine",en +http://purl.org/zonmw/covid19/10167,"nutrition",en +http://purl.org/zonmw/covid19/10166,"peripheral blood mononuclear cell",en +http://purl.org/zonmw/covid19/10168,"cervicovaginal secretion",en +http://purl.org/zonmw/covid19/10080,"asylum seeker",en +http://purl.org/zonmw/covid19/10081,"undocumented migrant",en +http://purl.org/zonmw/covid19/10082,"season labour migrant",en +http://purl.org/zonmw/covid19/10083,"people by COVID-19 risk factors",en +http://purl.org/zonmw/covid19/10088,"patient using anticoagulants",en +http://purl.org/zonmw/covid19/10086,"patient with (covid-19 associated) thrombosis",en +http://purl.org/zonmw/covid19/10087,"individual with obesity",en +http://purl.org/zonmw/covid19/10085,"individual with underlying disease(s)",en +http://purl.org/zonmw/covid19/10084,"individual with a chronic illness",en +http://purl.org/zonmw/covid19/10089,"surgical patient",en +http://purl.org/zonmw/covid19/10264,"genomics",en +http://purl.org/zonmw/covid19/10268,"performed by a certified laboratory",en +http://purl.org/zonmw/covid19/10265,"sequence length",en +http://purl.org/zonmw/covid19/10269,"SARS-CoV-2",en +http://purl.org/zonmw/covid19/10267,"date of last PRC test",en +http://purl.org/zonmw/covid19/10262,"personal information data",en +http://purl.org/zonmw/covid19/10263,"neighbourhood",en http://purl.org/zonmw/covid19/10260,"virus, immunity and immune response - immune compromised",en http://purl.org/zonmw/covid19/10261,"virus, immunity and immune response - safety and side effects",en -http://purl.org/zonmw/covid19/10266,genetic variation,en -http://purl.org/zonmw/covid19/10257,effects on society - ethical issues,en -http://purl.org/zonmw/covid19/10252,predictive diagnostics and treatment - Long COVID,en -http://purl.org/zonmw/covid19/10251,predictive diagnostics and treatment - recovery and rehabilitation,en -http://purl.org/zonmw/covid19/10255,care and prevention - palliative care and bereavement,en -http://purl.org/zonmw/covid19/10254,care and prevention - transmission and epidemiology,en +http://purl.org/zonmw/covid19/10266,"genetic variation",en +http://purl.org/zonmw/covid19/10257,"effects on society - ethical issues",en +http://purl.org/zonmw/covid19/10252,"predictive diagnostics and treatment - Long COVID",en +http://purl.org/zonmw/covid19/10251,"predictive diagnostics and treatment - recovery and rehabilitation",en +http://purl.org/zonmw/covid19/10255,"care and prevention - palliative care and bereavement",en +http://purl.org/zonmw/covid19/10254,"care and prevention - transmission and epidemiology",en http://purl.org/zonmw/covid19/10259,"virus, immunity and immune response - immunology",en -http://purl.org/zonmw/covid19/10250,predictive diagnostics and treatment - studies into clinical treatments,en -http://purl.org/zonmw/covid19/10253,care and prevention - care and prevention for vulnerable citizens,en +http://purl.org/zonmw/covid19/10250,"predictive diagnostics and treatment - studies into clinical treatments",en +http://purl.org/zonmw/covid19/10253,"care and prevention - care and prevention for vulnerable citizens",en http://purl.org/zonmw/covid19/10258,"virus, immunity and immune response - animal free innovations",en -http://purl.org/zonmw/covid19/10256,effects on society - economic resilience,en -http://purl.org/zonmw/covid19/10211,ELSI service,en -http://purl.org/zonmw/covid19/10210,data catalogue,en -http://purl.org/zonmw/covid19/10111,diagnostic data,en -http://purl.org/zonmw/covid19/10114,treatment data,en -http://purl.org/zonmw/covid19/10119,magnetic resonance imaging,en -http://purl.org/zonmw/covid19/10112,physiological data,en -http://purl.org/zonmw/covid19/10115,medication data,en -http://purl.org/zonmw/covid19/10116,molecular data,en -http://purl.org/zonmw/covid19/10118,diagnostic imaging,en -http://purl.org/zonmw/covid19/10110,medical history data,en -http://purl.org/zonmw/covid19/10113,laboratory data,en -http://purl.org/zonmw/covid19/10117,genetic data,en -http://purl.org/zonmw/id-amr/10022,screening phase,en -http://purl.org/zonmw/id-amr/10044,wastewater,en +http://purl.org/zonmw/covid19/10256,"effects on society - economic resilience",en +http://purl.org/zonmw/covid19/10211,"ELSI service",en +http://purl.org/zonmw/covid19/10210,"data catalogue",en +http://purl.org/zonmw/covid19/10111,"diagnostic data",en +http://purl.org/zonmw/covid19/10114,"treatment data",en +http://purl.org/zonmw/covid19/10119,"magnetic resonance imaging",en +http://purl.org/zonmw/covid19/10112,"physiological data",en +http://purl.org/zonmw/covid19/10115,"medication data",en +http://purl.org/zonmw/covid19/10116,"molecular data",en +http://purl.org/zonmw/covid19/10118,"diagnostic imaging",en +http://purl.org/zonmw/covid19/10110,"medical history data",en +http://purl.org/zonmw/covid19/10113,"laboratory data",en +http://purl.org/zonmw/covid19/10117,"genetic data",en +http://purl.org/zonmw/id-amr/10022,"screening phase",en +http://purl.org/zonmw/id-amr/10044,"wastewater",en http://purl.org/zonmw/id-amr/10139,"plasma, single spun",en -http://purl.org/zonmw/id-amr/10237,open only through collaboration,en -http://purl.org/zonmw/id-amr/10010,vector-borne disease,en -http://purl.org/zonmw/id-amr/10167,amplifiablility of nucleic acids,en -http://purl.org/zonmw/id-amr/10250,sensitive information,en -http://purl.org/zonmw/id-amr/10100,fruit,en -http://purl.org/zonmw/id-amr/10112,bone marrow aspirate,en -http://purl.org/zonmw/id-amr/10000,deprecated,en -http://purl.org/zonmw/id-amr/10105,pulse - bean,en -http://purl.org/zonmw/id-amr/10104,oil seed,en -http://purl.org/zonmw/id-amr/10024,disease phase,en -http://purl.org/zonmw/id-amr/10262,storage,en -http://purl.org/zonmw/id-amr/10060,poultry,en -http://purl.org/zonmw/id-amr/10061,insect,en -http://purl.org/zonmw/id-amr/10073,health status data,en -http://purl.org/zonmw/id-amr/10201,data integration,en -http://purl.org/zonmw/id-amr/10045,water,en -http://purl.org/zonmw/id-amr/10200,data analysis,en -http://purl.org/zonmw/id-amr/10047,livestock,en -http://purl.org/zonmw/id-amr/10207,training,en -http://purl.org/zonmw/id-amr/10110,blood (whole),en -http://purl.org/zonmw/id-amr/10236,open in response to specific calls,en -http://purl.org/zonmw/id-amr/10035,subject having antimicrobial treatment,en -http://purl.org/zonmw/id-amr/10097,synovial fluid specimen,en +http://purl.org/zonmw/id-amr/10237,"open only through collaboration",en +http://purl.org/zonmw/id-amr/10010,"vector-borne disease",en +http://purl.org/zonmw/id-amr/10167,"amplifiablility of nucleic acids",en +http://purl.org/zonmw/id-amr/10250,"sensitive information",en +http://purl.org/zonmw/id-amr/10100,"fruit",en +http://purl.org/zonmw/id-amr/10112,"bone marrow aspirate",en +http://purl.org/zonmw/id-amr/10000,"deprecated",en +http://purl.org/zonmw/id-amr/10105,"pulse - bean",en +http://purl.org/zonmw/id-amr/10104,"oil seed",en +http://purl.org/zonmw/id-amr/10024,"disease phase",en +http://purl.org/zonmw/id-amr/10262,"storage",en +http://purl.org/zonmw/id-amr/10060,"poultry",en +http://purl.org/zonmw/id-amr/10061,"insect",en +http://purl.org/zonmw/id-amr/10073,"health status data",en +http://purl.org/zonmw/id-amr/10201,"data integration",en +http://purl.org/zonmw/id-amr/10045,"water",en +http://purl.org/zonmw/id-amr/10200,"data analysis",en +http://purl.org/zonmw/id-amr/10047,"livestock",en +http://purl.org/zonmw/id-amr/10207,"training",en +http://purl.org/zonmw/id-amr/10110,"blood (whole)",en +http://purl.org/zonmw/id-amr/10236,"open in response to specific calls",en +http://purl.org/zonmw/id-amr/10035,"subject having antimicrobial treatment",en +http://purl.org/zonmw/id-amr/10097,"synovial fluid specimen",en http://purl.org/zonmw/id-amr/10151,"urine, 24 h",en http://purl.org/zonmw/id-amr/10127,"disrupted tissue, non-viable",en -http://purl.org/zonmw/id-amr/10253,viral disease,en -http://purl.org/zonmw/id-amr/10102,crop,en -http://purl.org/zonmw/id-amr/10192,clinical records,en -http://purl.org/zonmw/id-amr/10255,fungal disease,en -http://purl.org/zonmw/id-amr/10071,imaging data,en -http://purl.org/zonmw/id-amr/10052,sheep (wool),en -http://purl.org/zonmw/id-amr/10179,quality control of microbiological material,en -http://purl.org/zonmw/id-amr/10117,cells from laser capture microdissected tissue,en -http://purl.org/zonmw/id-amr/10223,in progress,en -http://purl.org/zonmw/id-amr/10132,hair,en -http://purl.org/zonmw/id-amr/10011,prion disease,en -http://purl.org/zonmw/id-amr/10258,disease caused by insects,en -http://purl.org/zonmw/id-amr/10145,solid tissue,en -http://purl.org/zonmw/id-amr/10015,human domain,en +http://purl.org/zonmw/id-amr/10253,"viral disease",en +http://purl.org/zonmw/id-amr/10102,"crop",en +http://purl.org/zonmw/id-amr/10192,"clinical records",en +http://purl.org/zonmw/id-amr/10255,"fungal disease",en +http://purl.org/zonmw/id-amr/10071,"imaging data",en +http://purl.org/zonmw/id-amr/10052,"sheep (wool)",en +http://purl.org/zonmw/id-amr/10179,"quality control of microbiological material",en +http://purl.org/zonmw/id-amr/10117,"cells from laser capture microdissected tissue",en +http://purl.org/zonmw/id-amr/10223,"in progress",en +http://purl.org/zonmw/id-amr/10132,"hair",en +http://purl.org/zonmw/id-amr/10011,"prion disease",en +http://purl.org/zonmw/id-amr/10258,"disease caused by insects",en +http://purl.org/zonmw/id-amr/10145,"solid tissue",en +http://purl.org/zonmw/id-amr/10015,"human domain",en http://purl.org/zonmw/id-amr/10251,"yes, and it is GDPR compliant",en -http://purl.org/zonmw/id-amr/10240,closed to access,en -http://purl.org/zonmw/id-amr/10004,transmission,en -http://purl.org/zonmw/id-amr/10048,diary cattle,en -http://purl.org/zonmw/id-amr/10257,phytoplasma disease,en -http://purl.org/zonmw/id-amr/10170,type of primary container,en -http://purl.org/zonmw/id-amr/10123,cord blood,en -http://purl.org/zonmw/id-amr/10229,genetic analysis restriction,en -http://purl.org/zonmw/id-amr/10265,centrifugation information,en -http://purl.org/zonmw/id-amr/10147,stool,en -http://purl.org/zonmw/id-amr/10008,stewardship,en -http://purl.org/zonmw/id-amr/10137,placenta,en -http://purl.org/zonmw/id-amr/10066,aquaculture,en -http://purl.org/zonmw/id-amr/10141,red blood cells,en -http://purl.org/zonmw/id-amr/10103,cereal,en -http://purl.org/zonmw/id-amr/10217,company department,en -http://purl.org/zonmw/id-amr/10058,broiler,en -http://purl.org/zonmw/id-amr/10129,enriched (physicochemically) circulating tumor cells,en -http://purl.org/zonmw/id-amr/10030,subject with a viral infection,en -http://purl.org/zonmw/id-amr/10085,protein,en -http://purl.org/zonmw/id-amr/10126,dental pulp,en -http://purl.org/zonmw/id-amr/10051,buffalo,en -http://purl.org/zonmw/id-amr/10209,national registries data,en -http://purl.org/zonmw/id-amr/10036,subject having vaccination,en -http://purl.org/zonmw/id-amr/10122,cerebrospinal fluid,en +http://purl.org/zonmw/id-amr/10240,"closed to access",en +http://purl.org/zonmw/id-amr/10004,"transmission",en +http://purl.org/zonmw/id-amr/10048,"diary cattle",en +http://purl.org/zonmw/id-amr/10257,"phytoplasma disease",en +http://purl.org/zonmw/id-amr/10170,"type of primary container",en +http://purl.org/zonmw/id-amr/10123,"cord blood",en +http://purl.org/zonmw/id-amr/10229,"genetic analysis restriction",en +http://purl.org/zonmw/id-amr/10265,"centrifugation information",en +http://purl.org/zonmw/id-amr/10147,"stool",en +http://purl.org/zonmw/id-amr/10008,"stewardship",en +http://purl.org/zonmw/id-amr/10137,"placenta",en +http://purl.org/zonmw/id-amr/10066,"aquaculture",en +http://purl.org/zonmw/id-amr/10141,"red blood cells",en +http://purl.org/zonmw/id-amr/10103,"cereal",en +http://purl.org/zonmw/id-amr/10217,"company department",en +http://purl.org/zonmw/id-amr/10058,"broiler",en +http://purl.org/zonmw/id-amr/10129,"enriched (physicochemically) circulating tumor cells",en +http://purl.org/zonmw/id-amr/10030,"subject with a viral infection",en +http://purl.org/zonmw/id-amr/10085,"protein",en +http://purl.org/zonmw/id-amr/10126,"dental pulp",en +http://purl.org/zonmw/id-amr/10051,"buffalo",en +http://purl.org/zonmw/id-amr/10209,"national registries data",en +http://purl.org/zonmw/id-amr/10036,"subject having vaccination",en +http://purl.org/zonmw/id-amr/10122,"cerebrospinal fluid",en http://purl.org/zonmw/id-amr/10120,"cells from non-blood specimen type (e.g. dissociated tissue), non-viable",en -http://purl.org/zonmw/id-amr/10094,specimen from geinital system,en +http://purl.org/zonmw/id-amr/10094,"specimen from geinital system",en http://purl.org/zonmw/id-amr/10118,"cells from non blood specimen type (e.g. ascites, amniotic), non-viable",en -http://purl.org/zonmw/id-amr/10018,environmental domain,en -http://purl.org/zonmw/id-amr/10161,biomedical device,en -http://purl.org/zonmw/id-amr/10228,export restriction,en -http://purl.org/zonmw/id-amr/10107,detailed type of specimen,en -http://purl.org/zonmw/id-amr/10050,beef cattle,en -http://purl.org/zonmw/id-amr/10213,laboratory,en -http://purl.org/zonmw/id-amr/10256,nematode disease,en +http://purl.org/zonmw/id-amr/10018,"environmental domain",en +http://purl.org/zonmw/id-amr/10161,"biomedical device",en +http://purl.org/zonmw/id-amr/10228,"export restriction",en +http://purl.org/zonmw/id-amr/10107,"detailed type of specimen",en +http://purl.org/zonmw/id-amr/10050,"beef cattle",en +http://purl.org/zonmw/id-amr/10213,"laboratory",en +http://purl.org/zonmw/id-amr/10256,"nematode disease",en http://purl.org/zonmw/id-amr/10152,"urine, first morning",en -http://purl.org/zonmw/id-amr/10041,infectious agent having antimicrobial resistance,en -http://purl.org/zonmw/id-amr/10162,quality control of biomaterials,en -http://purl.org/zonmw/id-amr/10186,less frequently,en -http://purl.org/zonmw/id-amr/10029,subject with a bacterial infection,en -http://purl.org/zonmw/id-amr/10149,tears,en -http://purl.org/zonmw/id-amr/10243,up to one year,en -http://purl.org/zonmw/id-amr/10157,animal material,en -http://purl.org/zonmw/id-amr/10184,every two years,en -http://purl.org/zonmw/id-amr/10171,pre-centrifugation conditions,en -http://purl.org/zonmw/id-amr/10033,subject with risk of bacterial infection,en -http://purl.org/zonmw/id-amr/10128,dried whole blood (e.g. guthrie cards),en -http://purl.org/zonmw/id-amr/10172,centrifugation conditions,en -http://purl.org/zonmw/id-amr/10266,viability frequency,en -http://purl.org/zonmw/id-amr/10108,amniotic fluid,en -http://purl.org/zonmw/id-amr/10165,concentration of molecular or cellular derivatives,en -http://purl.org/zonmw/id-amr/10009,zoonotic disease,en -http://purl.org/zonmw/id-amr/10225,consent restriction,en -http://purl.org/zonmw/id-amr/10241,time frame,en -http://purl.org/zonmw/id-amr/10227,disease area restriction,en -http://purl.org/zonmw/id-amr/10062,wildlife,en -http://purl.org/zonmw/id-amr/10072,data regarding antimicrobial resistance,en -http://purl.org/zonmw/id-amr/10246,data quality,en -http://purl.org/zonmw/id-amr/10089,blood specimen,en -http://purl.org/zonmw/id-amr/10185,every five years,en -http://purl.org/zonmw/id-amr/10059,layer,en -http://purl.org/zonmw/id-amr/10087,outbreak,en -http://purl.org/zonmw/id-amr/10219,private funding,en -http://purl.org/zonmw/id-amr/10040,infectious agent,en -http://purl.org/zonmw/id-amr/10106,tree nut,en +http://purl.org/zonmw/id-amr/10041,"infectious agent having antimicrobial resistance",en +http://purl.org/zonmw/id-amr/10162,"quality control of biomaterials",en +http://purl.org/zonmw/id-amr/10186,"less frequently",en +http://purl.org/zonmw/id-amr/10029,"subject with a bacterial infection",en +http://purl.org/zonmw/id-amr/10149,"tears",en +http://purl.org/zonmw/id-amr/10243,"up to one year",en +http://purl.org/zonmw/id-amr/10157,"animal material",en +http://purl.org/zonmw/id-amr/10184,"every two years",en +http://purl.org/zonmw/id-amr/10171,"pre-centrifugation conditions",en +http://purl.org/zonmw/id-amr/10033,"subject with risk of bacterial infection",en +http://purl.org/zonmw/id-amr/10128,"dried whole blood (e.g. guthrie cards)",en +http://purl.org/zonmw/id-amr/10172,"centrifugation conditions",en +http://purl.org/zonmw/id-amr/10266,"viability frequency",en +http://purl.org/zonmw/id-amr/10108,"amniotic fluid",en +http://purl.org/zonmw/id-amr/10165,"concentration of molecular or cellular derivatives",en +http://purl.org/zonmw/id-amr/10009,"zoonotic disease",en +http://purl.org/zonmw/id-amr/10225,"consent restriction",en +http://purl.org/zonmw/id-amr/10241,"time frame",en +http://purl.org/zonmw/id-amr/10227,"disease area restriction",en +http://purl.org/zonmw/id-amr/10062,"wildlife",en +http://purl.org/zonmw/id-amr/10072,"data regarding antimicrobial resistance",en +http://purl.org/zonmw/id-amr/10246,"data quality",en +http://purl.org/zonmw/id-amr/10089,"blood specimen",en +http://purl.org/zonmw/id-amr/10185,"every five years",en +http://purl.org/zonmw/id-amr/10059,"layer",en +http://purl.org/zonmw/id-amr/10087,"outbreak",en +http://purl.org/zonmw/id-amr/10219,"private funding",en +http://purl.org/zonmw/id-amr/10040,"infectious agent",en +http://purl.org/zonmw/id-amr/10106,"tree nut",en http://purl.org/zonmw/id-amr/10125,"density-gradient-centrifugation-separated mononuclear cells, viable",en -http://purl.org/zonmw/id-amr/10115,buccal cells,en -http://purl.org/zonmw/id-amr/10046,air,en +http://purl.org/zonmw/id-amr/10115,"buccal cells",en +http://purl.org/zonmw/id-amr/10046,"air",en http://purl.org/zonmw/id-amr/10135,"non-density-gradient-centrifugation-separated buffy coat, non-viable",en -http://purl.org/zonmw/id-amr/10242,up to one month,en -http://purl.org/zonmw/id-amr/10053,sheep (milk),en -http://purl.org/zonmw/id-amr/10034,subject with risk of viral infection,en -http://purl.org/zonmw/id-amr/10037,subject having other treatments,en -http://purl.org/zonmw/id-amr/10208,communication,en -http://purl.org/zonmw/id-amr/10101,vegetable,en -http://purl.org/zonmw/id-amr/10049,veal calve,en -http://purl.org/zonmw/id-amr/10013,prudent use,en -http://purl.org/zonmw/id-amr/10216,reference centre,en -http://purl.org/zonmw/id-amr/10160,solution,en -http://purl.org/zonmw/id-amr/10001,therapeutics,en -http://purl.org/zonmw/id-amr/10038,subject by age,en -http://purl.org/zonmw/id-amr/10063,companion animal,en -http://purl.org/zonmw/id-amr/10021,diagnostic phase,en -http://purl.org/zonmw/id-amr/10109,ascites fluid,en -http://purl.org/zonmw/id-amr/10131,fresh cells from non-blood specimen type (e.g. biopsy),en -http://purl.org/zonmw/id-amr/10111,bone,en -http://purl.org/zonmw/id-amr/10196,patient ethnicity data,en -http://purl.org/zonmw/id-amr/10005,intervention,en -http://purl.org/zonmw/id-amr/10057,pig,en -http://purl.org/zonmw/id-amr/10218,public funding,en -http://purl.org/zonmw/id-amr/10133,nails,en -http://purl.org/zonmw/id-amr/10222,not started,en -http://purl.org/zonmw/id-amr/10006,preparedness and response,en -http://purl.org/zonmw/id-amr/10191,sequencing - genotyping data,en -http://purl.org/zonmw/id-amr/10164,quality management of pre-analytical data,en -http://purl.org/zonmw/id-amr/10181,purity of microbiological material,en -http://purl.org/zonmw/id-amr/10264,storage information,en -http://purl.org/zonmw/id-amr/10090,bronchoalveolar lavage fluid sample,en -http://purl.org/zonmw/id-amr/10263,centrifugation,en -http://purl.org/zonmw/id-amr/10025,free-from-disease phase,en +http://purl.org/zonmw/id-amr/10242,"up to one month",en +http://purl.org/zonmw/id-amr/10053,"sheep (milk)",en +http://purl.org/zonmw/id-amr/10034,"subject with risk of viral infection",en +http://purl.org/zonmw/id-amr/10037,"subject having other treatments",en +http://purl.org/zonmw/id-amr/10208,"communication",en +http://purl.org/zonmw/id-amr/10101,"vegetable",en +http://purl.org/zonmw/id-amr/10049,"veal calve",en +http://purl.org/zonmw/id-amr/10013,"prudent use",en +http://purl.org/zonmw/id-amr/10216,"reference centre",en +http://purl.org/zonmw/id-amr/10160,"solution",en +http://purl.org/zonmw/id-amr/10001,"therapeutics",en +http://purl.org/zonmw/id-amr/10038,"subject by age",en +http://purl.org/zonmw/id-amr/10063,"companion animal",en +http://purl.org/zonmw/id-amr/10021,"diagnostic phase",en +http://purl.org/zonmw/id-amr/10109,"ascites fluid",en +http://purl.org/zonmw/id-amr/10131,"fresh cells from non-blood specimen type (e.g. biopsy)",en +http://purl.org/zonmw/id-amr/10111,"bone",en +http://purl.org/zonmw/id-amr/10196,"patient ethnicity data",en +http://purl.org/zonmw/id-amr/10005,"intervention",en +http://purl.org/zonmw/id-amr/10057,"pig",en +http://purl.org/zonmw/id-amr/10218,"public funding",en +http://purl.org/zonmw/id-amr/10133,"nails",en +http://purl.org/zonmw/id-amr/10222,"not started",en +http://purl.org/zonmw/id-amr/10006,"preparedness and response",en +http://purl.org/zonmw/id-amr/10191,"sequencing - genotyping data",en +http://purl.org/zonmw/id-amr/10164,"quality management of pre-analytical data",en +http://purl.org/zonmw/id-amr/10181,"purity of microbiological material",en +http://purl.org/zonmw/id-amr/10264,"storage information",en +http://purl.org/zonmw/id-amr/10090,"bronchoalveolar lavage fluid sample",en +http://purl.org/zonmw/id-amr/10263,"centrifugation",en +http://purl.org/zonmw/id-amr/10025,"free-from-disease phase",en http://purl.org/zonmw/id-amr/10252,"yes, but it is not (yet) GDPR compliant",en -http://purl.org/zonmw/id-amr/10210,organisation level,en -http://purl.org/zonmw/id-amr/10198,experimental data,en -http://purl.org/zonmw/id-amr/10221,collection status,en -http://purl.org/zonmw/id-amr/10043,soil-waste,en -http://purl.org/zonmw/id-amr/10142,saliva,en -http://purl.org/zonmw/id-amr/10182,viability of microbiological material,en -http://purl.org/zonmw/id-amr/10204,providing reference materials,en -http://purl.org/zonmw/id-amr/10224,completed,en -http://purl.org/zonmw/id-amr/10193,follow-up records,en -http://purl.org/zonmw/id-amr/10017,environment,en -http://purl.org/zonmw/id-amr/10158,specimen from environment,en -http://purl.org/zonmw/id-amr/10247,data plausibility,en -http://purl.org/zonmw/id-amr/10195,surveillance data,en -http://purl.org/zonmw/id-amr/10113,breast milk,en -http://purl.org/zonmw/id-amr/10220,charity of philanthropic funding,en -http://purl.org/zonmw/id-amr/10174,storage temperature for long-term preservation,en -http://purl.org/zonmw/id-amr/10084,domain,en -http://purl.org/zonmw/id-amr/10150,teeth,en +http://purl.org/zonmw/id-amr/10210,"organisation level",en +http://purl.org/zonmw/id-amr/10198,"experimental data",en +http://purl.org/zonmw/id-amr/10221,"collection status",en +http://purl.org/zonmw/id-amr/10043,"soil-waste",en +http://purl.org/zonmw/id-amr/10142,"saliva",en +http://purl.org/zonmw/id-amr/10182,"viability of microbiological material",en +http://purl.org/zonmw/id-amr/10204,"providing reference materials",en +http://purl.org/zonmw/id-amr/10224,"completed",en +http://purl.org/zonmw/id-amr/10193,"follow-up records",en +http://purl.org/zonmw/id-amr/10017,"environment",en +http://purl.org/zonmw/id-amr/10158,"specimen from environment",en +http://purl.org/zonmw/id-amr/10247,"data plausibility",en +http://purl.org/zonmw/id-amr/10195,"surveillance data",en +http://purl.org/zonmw/id-amr/10113,"breast milk",en +http://purl.org/zonmw/id-amr/10220,"charity of philanthropic funding",en +http://purl.org/zonmw/id-amr/10174,"storage temperature for long-term preservation",en +http://purl.org/zonmw/id-amr/10084,"domain",en +http://purl.org/zonmw/id-amr/10150,"teeth",en http://purl.org/zonmw/id-amr/10121,"cells from non-blood specimen type (e.g. dissociated tissue), viable",en -http://purl.org/zonmw/id-amr/10173,post-centrifugation conditions,en -http://purl.org/zonmw/id-amr/10146,sputum,en -http://purl.org/zonmw/id-amr/10114,bronchoalveolar lavage,en -http://purl.org/zonmw/id-amr/10055,goat (milk),en +http://purl.org/zonmw/id-amr/10173,"post-centrifugation conditions",en +http://purl.org/zonmw/id-amr/10146,"sputum",en +http://purl.org/zonmw/id-amr/10114,"bronchoalveolar lavage",en +http://purl.org/zonmw/id-amr/10055,"goat (milk)",en http://purl.org/zonmw/id-amr/10154,"urine, timed",en -http://purl.org/zonmw/id-amr/10134,nasal washing,en -http://purl.org/zonmw/id-amr/10143,semen,en -http://purl.org/zonmw/id-amr/10116,cells from fine needle aspirate,en +http://purl.org/zonmw/id-amr/10134,"nasal washing",en +http://purl.org/zonmw/id-amr/10143,"semen",en +http://purl.org/zonmw/id-amr/10116,"cells from fine needle aspirate",en http://purl.org/zonmw/id-amr/10119,"cells from non blood specimen type (e.g. ascites, amniotic), viable",en -http://purl.org/zonmw/id-amr/10245,three years or longer,en -http://purl.org/zonmw/id-amr/10159,plant specimen,en -http://purl.org/zonmw/id-amr/10234,open to everyone,en -http://purl.org/zonmw/id-amr/10202,digital imaging,en -http://purl.org/zonmw/id-amr/10248,data completeness,en -http://purl.org/zonmw/id-amr/10260,non-infectious disease,en -http://purl.org/zonmw/id-amr/10140,pleural fluid,en -http://purl.org/zonmw/id-amr/10093,skin swab,en -http://purl.org/zonmw/id-amr/10183,once every year,en -http://purl.org/zonmw/id-amr/10148,synovial fluid,en -http://purl.org/zonmw/id-amr/10002,surveillance,en -http://purl.org/zonmw/id-amr/10068,epidemiological data,en -http://purl.org/zonmw/id-amr/10016,animal domain,en -http://purl.org/zonmw/id-amr/10042,soil,en -http://purl.org/zonmw/id-amr/10070,complete medical records,en -http://purl.org/zonmw/id-amr/10259,parasite disease,en -http://purl.org/zonmw/id-amr/10092,respiratory sample,en -http://purl.org/zonmw/id-amr/10086,antibody,en -http://purl.org/zonmw/id-amr/10194,monitoring data,en -http://purl.org/zonmw/id-amr/10197,quality data,en -http://purl.org/zonmw/id-amr/10187,integrity of nucleic acids,en -http://purl.org/zonmw/id-amr/10074,taxonomical data,en -http://purl.org/zonmw/id-amr/10205,quality control,en -http://purl.org/zonmw/id-amr/10231,project specific restriction,en -http://purl.org/zonmw/id-amr/10069,diagnostics usage data,en -http://purl.org/zonmw/id-amr/10156,human material,en -http://purl.org/zonmw/id-amr/10214,research group,en +http://purl.org/zonmw/id-amr/10245,"three years or longer",en +http://purl.org/zonmw/id-amr/10159,"plant specimen",en +http://purl.org/zonmw/id-amr/10234,"open to everyone",en +http://purl.org/zonmw/id-amr/10202,"digital imaging",en +http://purl.org/zonmw/id-amr/10248,"data completeness",en +http://purl.org/zonmw/id-amr/10260,"non-infectious disease",en +http://purl.org/zonmw/id-amr/10140,"pleural fluid",en +http://purl.org/zonmw/id-amr/10093,"skin swab",en +http://purl.org/zonmw/id-amr/10183,"once every year",en +http://purl.org/zonmw/id-amr/10148,"synovial fluid",en +http://purl.org/zonmw/id-amr/10002,"surveillance",en +http://purl.org/zonmw/id-amr/10068,"epidemiological data",en +http://purl.org/zonmw/id-amr/10016,"animal domain",en +http://purl.org/zonmw/id-amr/10042,"soil",en +http://purl.org/zonmw/id-amr/10070,"complete medical records",en +http://purl.org/zonmw/id-amr/10259,"parasite disease",en +http://purl.org/zonmw/id-amr/10092,"respiratory sample",en +http://purl.org/zonmw/id-amr/10086,"antibody",en +http://purl.org/zonmw/id-amr/10194,"monitoring data",en +http://purl.org/zonmw/id-amr/10197,"quality data",en +http://purl.org/zonmw/id-amr/10187,"integrity of nucleic acids",en +http://purl.org/zonmw/id-amr/10074,"taxonomical data",en +http://purl.org/zonmw/id-amr/10205,"quality control",en +http://purl.org/zonmw/id-amr/10231,"project specific restriction",en +http://purl.org/zonmw/id-amr/10069,"diagnostics usage data",en +http://purl.org/zonmw/id-amr/10156,"human material",en +http://purl.org/zonmw/id-amr/10214,"research group",en http://purl.org/zonmw/id-amr/10136,"non-density-gradient-centrifugation-separated buffy coat, viable",en -http://purl.org/zonmw/id-amr/10211,university faculty,en -http://purl.org/zonmw/id-amr/10096,stool specimen,en -http://purl.org/zonmw/id-amr/10007,infection prevention,en -http://purl.org/zonmw/id-amr/10215,specific research project,en -http://purl.org/zonmw/id-amr/10190,physiological - biochemical measurement,en -http://purl.org/zonmw/id-amr/10166,purity of nucleic acids,en -http://purl.org/zonmw/id-amr/10254,bacterial disease,en -http://purl.org/zonmw/id-amr/10163,pre-analytical data,en -http://purl.org/zonmw/id-amr/10212,university hospital,en -http://purl.org/zonmw/id-amr/10232,scope of use restriction,en -http://purl.org/zonmw/id-amr/10031,subject with an unknown infection,en -http://purl.org/zonmw/id-amr/10233,access condition,en -http://purl.org/zonmw/id-amr/10056,horse,en +http://purl.org/zonmw/id-amr/10211,"university faculty",en +http://purl.org/zonmw/id-amr/10096,"stool specimen",en +http://purl.org/zonmw/id-amr/10007,"infection prevention",en +http://purl.org/zonmw/id-amr/10215,"specific research project",en +http://purl.org/zonmw/id-amr/10190,"physiological - biochemical measurement",en +http://purl.org/zonmw/id-amr/10166,"purity of nucleic acids",en +http://purl.org/zonmw/id-amr/10254,"bacterial disease",en +http://purl.org/zonmw/id-amr/10163,"pre-analytical data",en +http://purl.org/zonmw/id-amr/10212,"university hospital",en +http://purl.org/zonmw/id-amr/10232,"scope of use restriction",en +http://purl.org/zonmw/id-amr/10031,"subject with an unknown infection",en +http://purl.org/zonmw/id-amr/10233,"access condition",en +http://purl.org/zonmw/id-amr/10056,"horse",en http://purl.org/zonmw/id-amr/10153,"urine, random",en -http://purl.org/zonmw/id-amr/10023,intervention phase,en -http://purl.org/zonmw/id-amr/10091,cerebrospinal fluid sample,en -http://purl.org/zonmw/id-amr/10095,specimen of unknown material,en -http://purl.org/zonmw/id-amr/10032,subject with risk of infection,en -http://purl.org/zonmw/id-amr/10155,isolation source,en -http://purl.org/zonmw/id-amr/10168,storage format for long-term preservation,en -http://purl.org/zonmw/id-amr/10012,microbiome,en -http://purl.org/zonmw/id-amr/10144,serum,en -http://purl.org/zonmw/id-amr/10230,human genetic analysis restriction,en -http://purl.org/zonmw/id-amr/10203,FAIRification service,en +http://purl.org/zonmw/id-amr/10023,"intervention phase",en +http://purl.org/zonmw/id-amr/10091,"cerebrospinal fluid sample",en +http://purl.org/zonmw/id-amr/10095,"specimen of unknown material",en +http://purl.org/zonmw/id-amr/10032,"subject with risk of infection",en +http://purl.org/zonmw/id-amr/10155,"isolation source",en +http://purl.org/zonmw/id-amr/10168,"storage format for long-term preservation",en +http://purl.org/zonmw/id-amr/10012,"microbiome",en +http://purl.org/zonmw/id-amr/10144,"serum",en +http://purl.org/zonmw/id-amr/10230,"human genetic analysis restriction",en +http://purl.org/zonmw/id-amr/10203,"FAIRification service",en http://purl.org/zonmw/id-amr/10138,"plasma, double spun",en -http://purl.org/zonmw/id-amr/10239,access restricted at present,en -http://purl.org/zonmw/id-amr/10180,authenticity of microbiological material,en -http://purl.org/zonmw/id-amr/10199,biospecimen processing,en -http://purl.org/zonmw/id-amr/10065,fungus,en -http://purl.org/zonmw/id-amr/10244,up to three years,en -http://purl.org/zonmw/id-amr/10235,open to applicants,en -http://purl.org/zonmw/id-amr/10188,food specimen,en -http://purl.org/zonmw/id-amr/10206,regulatory,en -http://purl.org/zonmw/id-amr/10249,data accuracy,en -http://purl.org/zonmw/id-amr/10099,body fluid sample,en +http://purl.org/zonmw/id-amr/10239,"access restricted at present",en +http://purl.org/zonmw/id-amr/10180,"authenticity of microbiological material",en +http://purl.org/zonmw/id-amr/10199,"biospecimen processing",en +http://purl.org/zonmw/id-amr/10065,"fungus",en +http://purl.org/zonmw/id-amr/10244,"up to three years",en +http://purl.org/zonmw/id-amr/10235,"open to applicants",en +http://purl.org/zonmw/id-amr/10188,"food specimen",en +http://purl.org/zonmw/id-amr/10206,"regulatory",en +http://purl.org/zonmw/id-amr/10249,"data accuracy",en +http://purl.org/zonmw/id-amr/10099,"body fluid sample",en http://purl.org/zonmw/id-amr/10124,"density-gradient-centrifugation-separated mononuclear cells, non viable",en -http://purl.org/zonmw/id-amr/10054,goat (meat),en -http://purl.org/zonmw/id-amr/10226,commerial resctriction,en -http://purl.org/zonmw/id-amr/10028,subject with an infection,en -http://purl.org/zonmw/id-amr/10238,data access only,en -http://purl.org/zonmw/id-amr/10130,fresh cells from non-blood specimen type,en -http://purl.org/zonmw/id-amr/10261,funding type,en -http://purl.org/zonmw/id-amr/10039,subject by sex,en -http://purl.org/zonmw/id-amr/10088,biopsy sample,en -http://purl.org/zonmw/id-amr/10098,urine specimen,en -http://purl.org/zonmw/generic/10082,project manager,en -http://purl.org/zonmw/generic/10089,contact person,en -http://purl.org/zonmw/generic/10084,reseacher,en -http://purl.org/zonmw/generic/10087,supervisor,en -http://purl.org/zonmw/generic/10083,project member,en -http://purl.org/zonmw/generic/10086,rights holder,en -http://purl.org/zonmw/generic/10080,distributor,en -http://purl.org/zonmw/generic/10085,editor,en -http://purl.org/zonmw/generic/10081,project leader,en -http://purl.org/zonmw/generic/10088,work package leader,en -http://purl.org/zonmw/generic/10042,IKNL - Netherlands Comprehensive Cancer Organisation,en -http://purl.org/zonmw/generic/10048,Netherlands Heart Institute,en -http://purl.org/zonmw/generic/10044,Leiden University Medical Center,en -http://purl.org/zonmw/generic/10040,Hogeschool Leiden - University of Applied Sciences Leiden,en -http://purl.org/zonmw/generic/10047,Netherlands Comprehensive Cancer Organisation,en -http://purl.org/zonmw/generic/10046,Maastricht University Medical Centre,en -http://purl.org/zonmw/generic/10045,Maastricht University,en -http://purl.org/zonmw/generic/10041,Hogeschool van Amsterdam - Amsterdam University of Applied Sciences,en -http://purl.org/zonmw/generic/10043,Leiden University,en -http://purl.org/zonmw/generic/10049,NIVEL - Netherlands Institute for Health Services Research,en -http://purl.org/zonmw/generic/10111,RTF - Rich Text File,en -http://purl.org/zonmw/generic/10115,HTML - Hypertext Markup Language,en -http://purl.org/zonmw/generic/10114,XML - eXtensivle Markup Language,en -http://purl.org/zonmw/generic/10116,CSS - Cascading Style Sheets,en -http://purl.org/zonmw/generic/10119,ES - ECMAScript,en -http://purl.org/zonmw/generic/10117,XSLT - Extensible Stylesheet Language Transformations,en -http://purl.org/zonmw/generic/10113,TXT - Non-Unicode text,en -http://purl.org/zonmw/generic/10110,DOCX - Office Open XML,en -http://purl.org/zonmw/generic/10118,JS - JavaScript,en -http://purl.org/zonmw/generic/10112,TXT - Unicode text,en -http://purl.org/zonmw/generic/10022,property,en -http://purl.org/zonmw/generic/10027,institution,en -http://purl.org/zonmw/generic/10025,animal,en -http://purl.org/zonmw/generic/10023,constraint,en -http://purl.org/zonmw/generic/10021,variable,en -http://purl.org/zonmw/generic/10029,Amsterdam Health and Technology Institute - AHTI,en -http://purl.org/zonmw/generic/10028,Academic Medical Center - Amsterdam UMC,en -http://purl.org/zonmw/generic/10026,disease,en -http://purl.org/zonmw/generic/10020,framework,en -http://purl.org/zonmw/generic/10024,microorganism,en -http://purl.org/zonmw/generic/10077,data manager,en -http://purl.org/zonmw/generic/10078,data curator,en -http://purl.org/zonmw/generic/10073,Wageningen University & Research,en -http://purl.org/zonmw/generic/10075,contributor type,en -http://purl.org/zonmw/generic/10071,VU Amsterdam,en -http://purl.org/zonmw/generic/10072,VU University Medical Center,en -http://purl.org/zonmw/generic/10070,Veiligheids- en Gezondheidsregio Gelderland-Midden,en -http://purl.org/zonmw/generic/10074,ZonMw - Netherlands Organisation for Health Research and Development,en -http://purl.org/zonmw/generic/10076,data collector,en -http://purl.org/zonmw/generic/10079,sponsor,en -http://purl.org/zonmw/generic/10130,SIARD - Software Independent Archiving of Relational Databases,en -http://purl.org/zonmw/generic/10131,Microsoft Access,en -http://purl.org/zonmw/generic/10137,JPEG - Joint Photographic Expert Group,en -http://purl.org/zonmw/generic/10133,HDF5 - Hierarchical Data Format,en -http://purl.org/zonmw/generic/10132,DBF - dBase,en -http://purl.org/zonmw/generic/10134,SPSS,en -http://purl.org/zonmw/generic/10139,TIFF - Tagged Image File Format,en -http://purl.org/zonmw/generic/10138,JPEG 2000,en -http://purl.org/zonmw/generic/10136,R,en -http://purl.org/zonmw/generic/10135,STATA,en -http://purl.org/zonmw/generic/10158,Turtle,en -http://purl.org/zonmw/generic/10155,Polygon file format,en -http://purl.org/zonmw/generic/10157,TriG,en -http://purl.org/zonmw/generic/10159,NTriples,en -http://purl.org/zonmw/generic/10152,GeoTIFF,en -http://purl.org/zonmw/generic/10151,GeoJSON,en -http://purl.org/zonmw/generic/10156,RDF - Resource Description Framework,en -http://purl.org/zonmw/generic/10150,MIF/MID - MapInfo Interchange Format,en -http://purl.org/zonmw/generic/10153,ASCII GRID,en -http://purl.org/zonmw/generic/10154,WaveFront Object,en -http://purl.org/zonmw/generic/10038,GGD Zuid Holland Zuid,en -http://purl.org/zonmw/generic/10037,GGD Amsterdam - Public Health Service of Amsterdam,en -http://purl.org/zonmw/generic/10033,Erasmus MC,en -http://purl.org/zonmw/generic/10039,GO FAIR Foundation,en -http://purl.org/zonmw/generic/10030,Delft University of Technology,en -http://purl.org/zonmw/generic/10031,Eindhoven University of Technology,en -http://purl.org/zonmw/generic/10034,Erasmus University Rotterdam,en -http://purl.org/zonmw/generic/10035,Expertisecentrum Nederlands,en -http://purl.org/zonmw/generic/10036,Federal University of Rio de Janeiro,en -http://purl.org/zonmw/generic/10032,Erasmus Centrum voor Zorgbestuur,en -http://purl.org/zonmw/generic/10142,SVG - Scalable Vector Graphics,en -http://purl.org/zonmw/generic/10147,OPUS,en -http://purl.org/zonmw/generic/10144,MXF - Material Exchange Format,en -http://purl.org/zonmw/generic/10140,PNG - Portable Network Graphics,en -http://purl.org/zonmw/generic/10146,FLAC - Free Lossless Audio Codec,en -http://purl.org/zonmw/generic/10141,DICOM - Digital Imaging and Communications in Medicine,en -http://purl.org/zonmw/generic/10148,DXF - AutoCAD DXF version R12 (ASCII),en -http://purl.org/zonmw/generic/10143,BWF - Broadcast Wave Format,en -http://purl.org/zonmw/generic/10145,MKA - Matroska,en -http://purl.org/zonmw/generic/10149,GML - Geography Markup Language,en -http://purl.org/zonmw/generic/10094,none,en -http://purl.org/zonmw/generic/10090,bacterium,en -http://purl.org/zonmw/generic/10093,fungus,en -http://purl.org/zonmw/generic/10096,animal disease,en -http://purl.org/zonmw/generic/10097,plant disease,en -http://purl.org/zonmw/generic/10095,human disease,en -http://purl.org/zonmw/generic/10091,prion,en -http://purl.org/zonmw/generic/10099,generic answer options,en -http://purl.org/zonmw/generic/10092,virus,en -http://purl.org/zonmw/generic/10098,plant,en -http://purl.org/zonmw/generic/10005,data,en -http://purl.org/zonmw/generic/10006,other,en -http://purl.org/zonmw/generic/10000,deprecated,en -http://purl.org/zonmw/generic/10002,subject,en -http://purl.org/zonmw/generic/10004,population group,en -http://purl.org/zonmw/generic/10008,organism,en -http://purl.org/zonmw/generic/10009,specimen,en -http://purl.org/zonmw/generic/10003,temporal scope,en -http://purl.org/zonmw/generic/10001,focus area,en -http://purl.org/zonmw/generic/10007,biomaterial,en -http://purl.org/zonmw/generic/10160,JSON-LD,en -http://purl.org/zonmw/generic/10161,REFI-QDA - Qualitative Data Analysis,en -http://purl.org/zonmw/generic/10052,Public Procurement Research Centre - PPRC,en -http://purl.org/zonmw/generic/10057,Sanquin,en -http://purl.org/zonmw/generic/10055,Reade Research BV,en -http://purl.org/zonmw/generic/10054,Radboud University Nijmegen Medical Centre,en -http://purl.org/zonmw/generic/10056,RIVM - National Institute for Public Health and the Environment,en -http://purl.org/zonmw/generic/10051,Public Health Service of Amsterdam,en -http://purl.org/zonmw/generic/10059,SEO Economisch Onderzoek,en -http://purl.org/zonmw/generic/10050,NSCR - Netherlands Institute for the Study of Crime and Law Enforcement,en -http://purl.org/zonmw/generic/10058,Saxion University of Applied Sciences,en -http://purl.org/zonmw/generic/10053,Radboud University Nijmegen,en -http://purl.org/zonmw/generic/10129,SQL - Structured Query Language,en -http://purl.org/zonmw/generic/10123,NetCDF - Network Common Data Form,en -http://purl.org/zonmw/generic/10122,MATLAB,en -http://purl.org/zonmw/generic/10121,MD - Markdown,en -http://purl.org/zonmw/generic/10126,CSV - Comma Separated Values,en -http://purl.org/zonmw/generic/10125,ODS,en -http://purl.org/zonmw/generic/10120,SGML - Standard Generalized Markup Language,en -http://purl.org/zonmw/generic/10127,XLS - Microsoft Excel,en -http://purl.org/zonmw/generic/10124,TF - Text-Fabric,en -http://purl.org/zonmw/generic/10128,XLSX - Office Open XML Workbook,en -http://purl.org/zonmw/generic/10019,guideline,en -http://purl.org/zonmw/generic/10010,substance,en -http://purl.org/zonmw/generic/10017,technical standard,en -http://purl.org/zonmw/generic/10015,metadata standard,en -http://purl.org/zonmw/generic/10018,conceptual model,en -http://purl.org/zonmw/generic/10011,macromolecule,en -http://purl.org/zonmw/generic/10016,semantic artefact,en -http://purl.org/zonmw/generic/10013,service,en -http://purl.org/zonmw/generic/10014,standard,en -http://purl.org/zonmw/generic/10062,TNO - Netherlands Organisation for Applied Scientific Research,en -http://purl.org/zonmw/generic/10064,University Medical Center Utrecht,en -http://purl.org/zonmw/generic/10069,Utrecht University,en -http://purl.org/zonmw/generic/10068,University of Twente,en -http://purl.org/zonmw/generic/10061,Tilburg University,en -http://purl.org/zonmw/generic/10060,Spaarne Gasthuis - Spaarne Ziekenhuis,en -http://purl.org/zonmw/generic/10066,University of Groningen,en -http://purl.org/zonmw/generic/10063,University Medical Center Groningen,en -http://purl.org/zonmw/generic/10065,University of Amsterdam,en -http://purl.org/zonmw/generic/10067,University of Humanistic Studies,en -http://purl.org/zonmw/generic/10101,no,en -http://purl.org/zonmw/generic/10108,ODT - Open Document,en -http://purl.org/zonmw/generic/10100,yes,en -http://purl.org/zonmw/generic/10109,DOC - Microsoft Word,en -http://purl.org/zonmw/generic/10103,unknown,en -http://purl.org/zonmw/generic/10106,PDF/A - Portable Document Format for archiving,en -http://purl.org/zonmw/generic/10107,PDF - Portable Document Format,en -http://purl.org/zonmw/generic/10105,media type,en -http://purl.org/zonmw/generic/10104,protozoa,en -http://purl.org/zonmw/generic/10102,funder institution,en +http://purl.org/zonmw/id-amr/10054,"goat (meat)",en +http://purl.org/zonmw/id-amr/10226,"commerial resctriction",en +http://purl.org/zonmw/id-amr/10028,"subject with an infection",en +http://purl.org/zonmw/id-amr/10238,"data access only",en +http://purl.org/zonmw/id-amr/10130,"fresh cells from non-blood specimen type",en +http://purl.org/zonmw/id-amr/10261,"funding type",en +http://purl.org/zonmw/id-amr/10039,"subject by sex",en +http://purl.org/zonmw/id-amr/10088,"biopsy sample",en +http://purl.org/zonmw/id-amr/10098,"urine specimen",en +http://purl.org/zonmw/generic/10082,"project manager",en +http://purl.org/zonmw/generic/10089,"contact person",en +http://purl.org/zonmw/generic/10084,"reseacher",en +http://purl.org/zonmw/generic/10087,"supervisor",en +http://purl.org/zonmw/generic/10083,"project member",en +http://purl.org/zonmw/generic/10086,"rights holder",en +http://purl.org/zonmw/generic/10080,"distributor",en +http://purl.org/zonmw/generic/10085,"editor",en +http://purl.org/zonmw/generic/10081,"project leader",en +http://purl.org/zonmw/generic/10088,"work package leader",en +http://purl.org/zonmw/generic/10042,"IKNL - Netherlands Comprehensive Cancer Organisation",en +http://purl.org/zonmw/generic/10048,"Netherlands Heart Institute",en +http://purl.org/zonmw/generic/10044,"Leiden University Medical Center",en +http://purl.org/zonmw/generic/10040,"Hogeschool Leiden - University of Applied Sciences Leiden",en +http://purl.org/zonmw/generic/10047,"Netherlands Comprehensive Cancer Organisation",en +http://purl.org/zonmw/generic/10046,"Maastricht University Medical Centre",en +http://purl.org/zonmw/generic/10045,"Maastricht University",en +http://purl.org/zonmw/generic/10041,"Hogeschool van Amsterdam - Amsterdam University of Applied Sciences",en +http://purl.org/zonmw/generic/10043,"Leiden University",en +http://purl.org/zonmw/generic/10049,"NIVEL - Netherlands Institute for Health Services Research",en +http://purl.org/zonmw/generic/10111,"RTF - Rich Text File",en +http://purl.org/zonmw/generic/10115,"HTML - Hypertext Markup Language",en +http://purl.org/zonmw/generic/10114,"XML - eXtensivle Markup Language",en +http://purl.org/zonmw/generic/10116,"CSS - Cascading Style Sheets",en +http://purl.org/zonmw/generic/10119,"ES - ECMAScript",en +http://purl.org/zonmw/generic/10117,"XSLT - Extensible Stylesheet Language Transformations",en +http://purl.org/zonmw/generic/10113,"TXT - Non-Unicode text",en +http://purl.org/zonmw/generic/10110,"DOCX - Office Open XML",en +http://purl.org/zonmw/generic/10118,"JS - JavaScript",en +http://purl.org/zonmw/generic/10112,"TXT - Unicode text",en +http://purl.org/zonmw/generic/10022,"property",en +http://purl.org/zonmw/generic/10027,"institution",en +http://purl.org/zonmw/generic/10025,"animal",en +http://purl.org/zonmw/generic/10023,"constraint",en +http://purl.org/zonmw/generic/10021,"variable",en +http://purl.org/zonmw/generic/10029,"Amsterdam Health and Technology Institute - AHTI",en +http://purl.org/zonmw/generic/10028,"Academic Medical Center - Amsterdam UMC",en +http://purl.org/zonmw/generic/10026,"disease",en +http://purl.org/zonmw/generic/10020,"framework",en +http://purl.org/zonmw/generic/10024,"microorganism",en +http://purl.org/zonmw/generic/10077,"data manager",en +http://purl.org/zonmw/generic/10078,"data curator",en +http://purl.org/zonmw/generic/10073,"Wageningen University & Research",en +http://purl.org/zonmw/generic/10075,"contributor type",en +http://purl.org/zonmw/generic/10071,"VU Amsterdam",en +http://purl.org/zonmw/generic/10072,"VU University Medical Center",en +http://purl.org/zonmw/generic/10070,"Veiligheids- en Gezondheidsregio Gelderland-Midden",en +http://purl.org/zonmw/generic/10074,"ZonMw - Netherlands Organisation for Health Research and Development",en +http://purl.org/zonmw/generic/10076,"data collector",en +http://purl.org/zonmw/generic/10079,"sponsor",en +http://purl.org/zonmw/generic/10130,"SIARD - Software Independent Archiving of Relational Databases",en +http://purl.org/zonmw/generic/10131,"Microsoft Access",en +http://purl.org/zonmw/generic/10137,"JPEG - Joint Photographic Expert Group",en +http://purl.org/zonmw/generic/10133,"HDF5 - Hierarchical Data Format",en +http://purl.org/zonmw/generic/10132,"DBF - dBase",en +http://purl.org/zonmw/generic/10134,"SPSS",en +http://purl.org/zonmw/generic/10139,"TIFF - Tagged Image File Format",en +http://purl.org/zonmw/generic/10138,"JPEG 2000",en +http://purl.org/zonmw/generic/10136,"R",en +http://purl.org/zonmw/generic/10135,"STATA",en +http://purl.org/zonmw/generic/10158,"Turtle",en +http://purl.org/zonmw/generic/10155,"Polygon file format",en +http://purl.org/zonmw/generic/10157,"TriG",en +http://purl.org/zonmw/generic/10159,"NTriples",en +http://purl.org/zonmw/generic/10152,"GeoTIFF",en +http://purl.org/zonmw/generic/10151,"GeoJSON",en +http://purl.org/zonmw/generic/10156,"RDF - Resource Description Framework",en +http://purl.org/zonmw/generic/10150,"MIF/MID - MapInfo Interchange Format",en +http://purl.org/zonmw/generic/10153,"ASCII GRID",en +http://purl.org/zonmw/generic/10154,"WaveFront Object",en +http://purl.org/zonmw/generic/10038,"GGD Zuid Holland Zuid",en +http://purl.org/zonmw/generic/10037,"GGD Amsterdam - Public Health Service of Amsterdam",en +http://purl.org/zonmw/generic/10033,"Erasmus MC",en +http://purl.org/zonmw/generic/10039,"GO FAIR Foundation",en +http://purl.org/zonmw/generic/10030,"Delft University of Technology",en +http://purl.org/zonmw/generic/10031,"Eindhoven University of Technology",en +http://purl.org/zonmw/generic/10034,"Erasmus University Rotterdam",en +http://purl.org/zonmw/generic/10035,"Expertisecentrum Nederlands",en +http://purl.org/zonmw/generic/10036,"Federal University of Rio de Janeiro",en +http://purl.org/zonmw/generic/10032,"Erasmus Centrum voor Zorgbestuur",en +http://purl.org/zonmw/generic/10142,"SVG - Scalable Vector Graphics",en +http://purl.org/zonmw/generic/10147,"OPUS",en +http://purl.org/zonmw/generic/10144,"MXF - Material Exchange Format",en +http://purl.org/zonmw/generic/10140,"PNG - Portable Network Graphics",en +http://purl.org/zonmw/generic/10146,"FLAC - Free Lossless Audio Codec",en +http://purl.org/zonmw/generic/10141,"DICOM - Digital Imaging and Communications in Medicine",en +http://purl.org/zonmw/generic/10148,"DXF - AutoCAD DXF version R12 (ASCII)",en +http://purl.org/zonmw/generic/10143,"BWF - Broadcast Wave Format",en +http://purl.org/zonmw/generic/10145,"MKA - Matroska",en +http://purl.org/zonmw/generic/10149,"GML - Geography Markup Language",en +http://purl.org/zonmw/generic/10094,"none",en +http://purl.org/zonmw/generic/10090,"bacterium",en +http://purl.org/zonmw/generic/10093,"fungus",en +http://purl.org/zonmw/generic/10096,"animal disease",en +http://purl.org/zonmw/generic/10097,"plant disease",en +http://purl.org/zonmw/generic/10095,"human disease",en +http://purl.org/zonmw/generic/10091,"prion",en +http://purl.org/zonmw/generic/10099,"generic answer options",en +http://purl.org/zonmw/generic/10092,"virus",en +http://purl.org/zonmw/generic/10098,"plant",en +http://purl.org/zonmw/generic/10005,"data",en +http://purl.org/zonmw/generic/10006,"other",en +http://purl.org/zonmw/generic/10000,"deprecated",en +http://purl.org/zonmw/generic/10002,"subject",en +http://purl.org/zonmw/generic/10004,"population group",en +http://purl.org/zonmw/generic/10008,"organism",en +http://purl.org/zonmw/generic/10009,"specimen",en +http://purl.org/zonmw/generic/10003,"temporal scope",en +http://purl.org/zonmw/generic/10001,"focus area",en +http://purl.org/zonmw/generic/10007,"biomaterial",en +http://purl.org/zonmw/generic/10160,"JSON-LD",en +http://purl.org/zonmw/generic/10161,"REFI-QDA - Qualitative Data Analysis",en +http://purl.org/zonmw/generic/10052,"Public Procurement Research Centre - PPRC",en +http://purl.org/zonmw/generic/10057,"Sanquin",en +http://purl.org/zonmw/generic/10055,"Reade Research BV",en +http://purl.org/zonmw/generic/10054,"Radboud University Nijmegen Medical Centre",en +http://purl.org/zonmw/generic/10056,"RIVM - National Institute for Public Health and the Environment",en +http://purl.org/zonmw/generic/10051,"Public Health Service of Amsterdam",en +http://purl.org/zonmw/generic/10059,"SEO Economisch Onderzoek",en +http://purl.org/zonmw/generic/10050,"NSCR - Netherlands Institute for the Study of Crime and Law Enforcement",en +http://purl.org/zonmw/generic/10058,"Saxion University of Applied Sciences",en +http://purl.org/zonmw/generic/10053,"Radboud University Nijmegen",en +http://purl.org/zonmw/generic/10129,"SQL - Structured Query Language",en +http://purl.org/zonmw/generic/10123,"NetCDF - Network Common Data Form",en +http://purl.org/zonmw/generic/10122,"MATLAB",en +http://purl.org/zonmw/generic/10121,"MD - Markdown",en +http://purl.org/zonmw/generic/10126,"CSV - Comma Separated Values",en +http://purl.org/zonmw/generic/10125,"ODS",en +http://purl.org/zonmw/generic/10120,"SGML - Standard Generalized Markup Language",en +http://purl.org/zonmw/generic/10127,"XLS - Microsoft Excel",en +http://purl.org/zonmw/generic/10124,"TF - Text-Fabric",en +http://purl.org/zonmw/generic/10128,"XLSX - Office Open XML Workbook",en +http://purl.org/zonmw/generic/10019,"guideline",en +http://purl.org/zonmw/generic/10010,"substance",en +http://purl.org/zonmw/generic/10017,"technical standard",en +http://purl.org/zonmw/generic/10015,"metadata standard",en +http://purl.org/zonmw/generic/10018,"conceptual model",en +http://purl.org/zonmw/generic/10011,"macromolecule",en +http://purl.org/zonmw/generic/10016,"semantic artefact",en +http://purl.org/zonmw/generic/10013,"service",en +http://purl.org/zonmw/generic/10014,"standard",en +http://purl.org/zonmw/generic/10062,"TNO - Netherlands Organisation for Applied Scientific Research",en +http://purl.org/zonmw/generic/10064,"University Medical Center Utrecht",en +http://purl.org/zonmw/generic/10069,"Utrecht University",en +http://purl.org/zonmw/generic/10068,"University of Twente",en +http://purl.org/zonmw/generic/10061,"Tilburg University",en +http://purl.org/zonmw/generic/10060,"Spaarne Gasthuis - Spaarne Ziekenhuis",en +http://purl.org/zonmw/generic/10066,"University of Groningen",en +http://purl.org/zonmw/generic/10063,"University Medical Center Groningen",en +http://purl.org/zonmw/generic/10065,"University of Amsterdam",en +http://purl.org/zonmw/generic/10067,"University of Humanistic Studies",en +http://purl.org/zonmw/generic/10101,"no",en +http://purl.org/zonmw/generic/10108,"ODT - Open Document",en +http://purl.org/zonmw/generic/10100,"yes",en +http://purl.org/zonmw/generic/10109,"DOC - Microsoft Word",en +http://purl.org/zonmw/generic/10103,"unknown",en +http://purl.org/zonmw/generic/10106,"PDF/A - Portable Document Format for archiving",en +http://purl.org/zonmw/generic/10107,"PDF - Portable Document Format",en +http://purl.org/zonmw/generic/10105,"media type",en +http://purl.org/zonmw/generic/10104,"protozoa",en +http://purl.org/zonmw/generic/10102,"funder institution",en From 7dc826c561e4cebf448906501f4ecb20c9c5ab32 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 5 Jun 2024 15:29:48 +0200 Subject: [PATCH 118/284] Applied review comments --- .../common_vocabulary_tags.csv | 2752 ++++++++--------- 1 file changed, 1376 insertions(+), 1376 deletions(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 7790bd35b..d3ba0b7b2 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1,1386 +1,1386 @@ term,term_translation,lang_code -https://publications.europa.eu/resource/authority/language/POR,portugais,fr -https://publications.europa.eu/resource/authority/language/POR,portugali keel,et -https://publications.europa.eu/resource/authority/language/POR,португалски,sr -https://publications.europa.eu/resource/authority/language/POR,portugalski,pl -https://publications.europa.eu/resource/authority/language/POR,Portaingéilis,ga -https://publications.europa.eu/resource/authority/language/POR,portugisiska,sv -https://publications.europa.eu/resource/authority/language/POR,португалски,bg -https://publications.europa.eu/resource/authority/language/POR,Portuguese,en -https://publications.europa.eu/resource/authority/language/POR,portugalski,hr -https://publications.europa.eu/resource/authority/language/POR,portugalšćina,hsb -https://publications.europa.eu/resource/authority/language/POR,Portugiż,mt -https://publications.europa.eu/resource/authority/language/POR,португалски,mk -https://publications.europa.eu/resource/authority/language/POR,portugál,hu -https://publications.europa.eu/resource/authority/language/POR,portugali,fi -https://publications.europa.eu/resource/authority/language/POR,portoghese,it -https://publications.europa.eu/resource/authority/language/POR,portugués,es -https://publications.europa.eu/resource/authority/language/POR,portugisisk,da -https://publications.europa.eu/resource/authority/language/POR,portugisisk,no -https://publications.europa.eu/resource/authority/language/POR,portugalų kalba,lt -https://publications.europa.eu/resource/authority/language/POR,português,pt -https://publications.europa.eu/resource/authority/language/POR,Portugiesisch,de -https://publications.europa.eu/resource/authority/language/POR,portugalčina,sk -https://publications.europa.eu/resource/authority/language/POR,portugāļu valoda,lv -https://publications.europa.eu/resource/authority/language/POR,πορτογαλικά,el -https://publications.europa.eu/resource/authority/language/POR,Portugees,nl -https://publications.europa.eu/resource/authority/language/POR,portugheză,ro -https://publications.europa.eu/resource/authority/language/POR,португальский,ru -https://publications.europa.eu/resource/authority/language/POR,португальська мова,uk -https://publications.europa.eu/resource/authority/language/POR,portúgalska,is -https://publications.europa.eu/resource/authority/language/POR,portugalski,sh -https://publications.europa.eu/resource/authority/language/POR,portugalština,cs -https://publications.europa.eu/resource/authority/language/POR,portekizce,tr -https://publications.europa.eu/resource/authority/language/POR,portugalščina,sl -http://lexvo.org/id/iso639-3/por,Portuguese,en -https://www.wikidata.org/wiki/Q57262078,food consumption,en -https://www.wikidata.org/wiki/Q4014799,medical visit,en -http://purl.obolibrary.org/obo/NCIT_C18002,Home,en -https://www.wikidata.org/wiki/Q600236,surgical operation,en -http://purl.obolibrary.org/obo/NCIT_C21007,Disability,en -http://purl.obolibrary.org/obo/NCIT_C15329,Surgical Procedure,en -http://purl.obolibrary.org/obo/NCIT_C25741,Physician,en -http://purl.obolibrary.org/obo/NCIT_C111860,Maternal Mortality,en -https://publications.europa.eu/resource/authority/language/EST,Eastóinis,ga -https://publications.europa.eu/resource/authority/language/EST,Eston,mt -https://publications.europa.eu/resource/authority/language/EST,estónčina,sk -https://publications.europa.eu/resource/authority/language/EST,Estisch,nl -https://publications.europa.eu/resource/authority/language/EST,естонски,sr -https://publications.europa.eu/resource/authority/language/EST,estisk,no -https://publications.europa.eu/resource/authority/language/EST,estonski,sh -https://publications.europa.eu/resource/authority/language/EST,estoński,pl -https://publications.europa.eu/resource/authority/language/EST,estonien,fr -https://publications.europa.eu/resource/authority/language/EST,estonština,cs -https://publications.europa.eu/resource/authority/language/EST,естонська мова,uk -https://publications.europa.eu/resource/authority/language/EST,естонски,mk -https://publications.europa.eu/resource/authority/language/EST,eesti keel,et -https://publications.europa.eu/resource/authority/language/EST,estonca,tr -https://publications.europa.eu/resource/authority/language/EST,естонски,bg -https://publications.europa.eu/resource/authority/language/EST,estonio,es -https://publications.europa.eu/resource/authority/language/EST,viro,fi -https://publications.europa.eu/resource/authority/language/EST,estónio,pt -https://publications.europa.eu/resource/authority/language/EST,Estnisch,de -https://publications.europa.eu/resource/authority/language/EST,eistneska,is -https://publications.europa.eu/resource/authority/language/EST,εσθονικά,el -https://publications.europa.eu/resource/authority/language/EST,észt,hu -https://publications.europa.eu/resource/authority/language/EST,эстонский,ru -https://publications.europa.eu/resource/authority/language/EST,estone,it -https://publications.europa.eu/resource/authority/language/EST,igauņu valoda,lv -https://publications.europa.eu/resource/authority/language/EST,Estonian,en -https://publications.europa.eu/resource/authority/language/EST,estišćina,hsb -https://publications.europa.eu/resource/authority/language/EST,estniska,sv -https://publications.europa.eu/resource/authority/language/EST,estonski,hr -https://publications.europa.eu/resource/authority/language/EST,estonă,ro -https://publications.europa.eu/resource/authority/language/EST,estų kalba,lt -https://publications.europa.eu/resource/authority/language/EST,estisk,da -https://publications.europa.eu/resource/authority/language/EST,estonščina,sl -http://lexvo.org/id/iso639-3/est,Estonian,en -https://www.wikidata.org/wiki/Q26305989,blood-borne transmission,en -https://publications.europa.eu/resource/authority/language/HYE,armenska,is -https://publications.europa.eu/resource/authority/language/HYE,armenski,hr -https://publications.europa.eu/resource/authority/language/HYE,armeniska,sv -https://publications.europa.eu/resource/authority/language/HYE,armenšćina,hsb -https://publications.europa.eu/resource/authority/language/HYE,Јерменски,sr -https://publications.europa.eu/resource/authority/language/HYE,Armenian,en -https://publications.europa.eu/resource/authority/language/HYE,Armen,mt -https://publications.europa.eu/resource/authority/language/HYE,armeenia keel,et -https://publications.europa.eu/resource/authority/language/HYE,armensk,no -https://publications.europa.eu/resource/authority/language/HYE,ерменски,mk -https://publications.europa.eu/resource/authority/language/HYE,armensk,da -https://publications.europa.eu/resource/authority/language/HYE,armeană,ro -https://publications.europa.eu/resource/authority/language/HYE,арменски,bg -https://publications.europa.eu/resource/authority/language/HYE,Armeens,nl -https://publications.europa.eu/resource/authority/language/HYE,arménština,cs -https://publications.europa.eu/resource/authority/language/HYE,Armenisch,de -https://publications.europa.eu/resource/authority/language/HYE,armēņu valoda,lv -https://publications.europa.eu/resource/authority/language/HYE,armeno,it -https://publications.europa.eu/resource/authority/language/HYE,armenščina,sl -https://publications.europa.eu/resource/authority/language/HYE,армянский,ru -https://publications.europa.eu/resource/authority/language/HYE,armėnų kalba,lt -https://publications.europa.eu/resource/authority/language/HYE,armenio,es -https://publications.europa.eu/resource/authority/language/HYE,ermenice,tr -https://publications.europa.eu/resource/authority/language/HYE,arménčina,sk -https://publications.europa.eu/resource/authority/language/HYE,вірменська мова,uk -https://publications.europa.eu/resource/authority/language/HYE,Airméinis,ga -https://publications.europa.eu/resource/authority/language/HYE,armenia,fi -https://publications.europa.eu/resource/authority/language/HYE,ormiański,pl -https://publications.europa.eu/resource/authority/language/HYE,arménio,pt -https://publications.europa.eu/resource/authority/language/HYE,arménien,fr -https://publications.europa.eu/resource/authority/language/HYE,αρμενικά,el -https://publications.europa.eu/resource/authority/language/HYE,örmény,hu -https://publications.europa.eu/resource/authority/language/HYE,armenski,sh -http://lexvo.org/id/iso639-3/hye,Armenian,en -http://semanticscience.org/resource/SIO_000713,doctor role,en -http://purl.obolibrary.org/obo/OMIT_0010784,Obesity,en -https://www.wikidata.org/wiki/Property:P106,occupation,en -https://www.wikidata.org/wiki/Q949149,sanitation,en -http://purl.obolibrary.org/obo/OMIT_0013403,Sanitation,en -http://purl.obolibrary.org/obo/NCIT_C16452,Communication,en -http://purl.obolibrary.org/obo/GSSO_000498,mental disorder,en -https://www.wikidata.org/wiki/Q747883,physical activity,en -https://publications.europa.eu/resource/authority/language/BOS,bośniacki,pl -https://publications.europa.eu/resource/authority/language/BOS,bosniaco,it -https://publications.europa.eu/resource/authority/language/BOS,bosnik,no -https://publications.europa.eu/resource/authority/language/BOS,bosnia,fi -https://publications.europa.eu/resource/authority/language/BOS,Bosnian,en -https://publications.europa.eu/resource/authority/language/BOS,bosniačtina,sk -https://publications.europa.eu/resource/authority/language/BOS,bosniešu valoda,lv -https://publications.europa.eu/resource/authority/language/BOS,bosnių kalba,lt -https://publications.europa.eu/resource/authority/language/BOS,bosenština,cs -https://publications.europa.eu/resource/authority/language/BOS,bosnien,fr -https://publications.europa.eu/resource/authority/language/BOS,boşnakça,tr -https://publications.europa.eu/resource/authority/language/BOS,Bosnisch,nl -https://publications.europa.eu/resource/authority/language/BOS,βοσνιακά,el -https://publications.europa.eu/resource/authority/language/BOS,bosnisk,da -https://publications.europa.eu/resource/authority/language/BOS,босненски,bg -https://publications.europa.eu/resource/authority/language/BOS,bosníska,is -https://publications.europa.eu/resource/authority/language/BOS,bosnia keel,et -https://publications.europa.eu/resource/authority/language/BOS,bósnio,pt -https://publications.europa.eu/resource/authority/language/BOS,Bosnisch,de -https://publications.europa.eu/resource/authority/language/BOS,bosniska,sv -https://publications.europa.eu/resource/authority/language/BOS,бошњачки,sr -https://publications.europa.eu/resource/authority/language/BOS,Bosnis,ga -https://publications.europa.eu/resource/authority/language/BOS,bosnišćina,hsb -https://publications.europa.eu/resource/authority/language/BOS,bosanščina,sl -https://publications.europa.eu/resource/authority/language/BOS,Bosnjan,mt -https://publications.europa.eu/resource/authority/language/BOS,bosnyák,hu -https://publications.europa.eu/resource/authority/language/BOS,боснийский,ru -https://publications.europa.eu/resource/authority/language/BOS,бошњачки,mk -https://publications.europa.eu/resource/authority/language/BOS,bošnjački,sh -https://publications.europa.eu/resource/authority/language/BOS,боснійська мова,uk -https://publications.europa.eu/resource/authority/language/BOS,bosniacă,ro -https://publications.europa.eu/resource/authority/language/BOS,bosnio,es -https://publications.europa.eu/resource/authority/language/BOS,bošnjački,hr -http://lexvo.org/id/iso639-3/bos,Bosnian,en -http://purl.obolibrary.org/obo/OMIT_0008309,Income,en -https://publications.europa.eu/resource/authority/language/CES,tšekki,fi -https://publications.europa.eu/resource/authority/language/CES,tékkneska,is -https://publications.europa.eu/resource/authority/language/CES,чешки,bg -https://publications.europa.eu/resource/authority/language/CES,чешки,sr -https://publications.europa.eu/resource/authority/language/CES,checo,pt -https://publications.europa.eu/resource/authority/language/CES,tsjekkisk,no -https://publications.europa.eu/resource/authority/language/CES,Ċek,mt -https://publications.europa.eu/resource/authority/language/CES,češki,hr -https://publications.europa.eu/resource/authority/language/CES,čěšćina,hsb -https://publications.europa.eu/resource/authority/language/CES,cseh,hu -https://publications.europa.eu/resource/authority/language/CES,Seicis,ga -https://publications.europa.eu/resource/authority/language/CES,tšehhi keel,et -https://publications.europa.eu/resource/authority/language/CES,čekų kalba,lt -https://publications.europa.eu/resource/authority/language/CES,čehu valoda,lv -https://publications.europa.eu/resource/authority/language/CES,чешский,ru -https://publications.europa.eu/resource/authority/language/CES,τσεχικά,el -https://publications.europa.eu/resource/authority/language/CES,češki,sh -https://publications.europa.eu/resource/authority/language/CES,čeština,sk -https://publications.europa.eu/resource/authority/language/CES,Tsjechisch,nl -https://publications.europa.eu/resource/authority/language/CES,чешки,mk -https://publications.europa.eu/resource/authority/language/CES,tjekkisk,da -https://publications.europa.eu/resource/authority/language/CES,çekçe,tr -https://publications.europa.eu/resource/authority/language/CES,ceco,it -https://publications.europa.eu/resource/authority/language/CES,tchèque,fr -https://publications.europa.eu/resource/authority/language/CES,cehă,ro -https://publications.europa.eu/resource/authority/language/CES,czeski,pl -https://publications.europa.eu/resource/authority/language/CES,Tschechisch,de -https://publications.europa.eu/resource/authority/language/CES,checo,es -https://publications.europa.eu/resource/authority/language/CES,чеська мова,uk -https://publications.europa.eu/resource/authority/language/CES,češčina,sl -https://publications.europa.eu/resource/authority/language/CES,čeština,cs -https://publications.europa.eu/resource/authority/language/CES,Czech,en -https://publications.europa.eu/resource/authority/language/CES,tjeckiska,sv -http://lexvo.org/id/iso639-3/ces,Czech,en -http://purl.obolibrary.org/obo/NCIT_C173558,Contact Tracing,en -http://purl.obolibrary.org/obo/NCIT_C16669,Health Status,en -https://www.wikidata.org/wiki/Q182672,zoonosis,en -https://publications.europa.eu/resource/authority/language/DEU,saksa,fi -https://publications.europa.eu/resource/authority/language/DEU,немецкий,ru -https://publications.europa.eu/resource/authority/language/DEU,Duits,nl -https://publications.europa.eu/resource/authority/language/DEU,nemščina,sl -https://publications.europa.eu/resource/authority/language/DEU,tysk,no -https://publications.europa.eu/resource/authority/language/DEU,német,hu -https://publications.europa.eu/resource/authority/language/DEU,немачки,sr -https://publications.europa.eu/resource/authority/language/DEU,alemán,es -https://publications.europa.eu/resource/authority/language/DEU,němčina,cs -https://publications.europa.eu/resource/authority/language/DEU,tysk,da -https://publications.europa.eu/resource/authority/language/DEU,saksa keel,et -https://publications.europa.eu/resource/authority/language/DEU,Gearmáinis,ga -https://publications.europa.eu/resource/authority/language/DEU,němska,hsb -https://publications.europa.eu/resource/authority/language/DEU,tedesco,it -https://publications.europa.eu/resource/authority/language/DEU,njemački,hr -https://publications.europa.eu/resource/authority/language/DEU,γερμανικά,el -https://publications.europa.eu/resource/authority/language/DEU,nemački,sh -https://publications.europa.eu/resource/authority/language/DEU,німецька мова,uk -https://publications.europa.eu/resource/authority/language/DEU,alemão,pt -https://publications.europa.eu/resource/authority/language/DEU,almanca,tr -https://publications.europa.eu/resource/authority/language/DEU,niemiecki,pl -https://publications.europa.eu/resource/authority/language/DEU,German,en -https://publications.europa.eu/resource/authority/language/DEU,þýska,is -https://publications.europa.eu/resource/authority/language/DEU,Ġermaniż,mt -https://publications.europa.eu/resource/authority/language/DEU,vokiečių kalba,lt -https://publications.europa.eu/resource/authority/language/DEU,tyska,sv -https://publications.europa.eu/resource/authority/language/DEU,nemčina,sk -https://publications.europa.eu/resource/authority/language/DEU,немски,bg -https://publications.europa.eu/resource/authority/language/DEU,allemand,fr -https://publications.europa.eu/resource/authority/language/DEU,vācu valoda,lv -https://publications.europa.eu/resource/authority/language/DEU,germană,ro -https://publications.europa.eu/resource/authority/language/DEU,германски,mk -https://publications.europa.eu/resource/authority/language/DEU,Deutsch,de -http://lexvo.org/id/iso639-3/deu,German,en -http://vivoweb.org/ontology/core#Hospital,Hospital,en -http://purl.obolibrary.org/obo/GSSO_007925,pharmaceutical drug,en -https://www.wikidata.org/wiki/Q18123741,infectious disease,en -https://www.wikidata.org/wiki/Q12140,medication,en -http://purl.obolibrary.org/obo/OMIT_0009102,Life Expectancy,en -https://www.wikidata.org/wiki/Q381481,airborne disease,en -http://purl.obolibrary.org/obo/OMIT_0017465,Health Care Costs,en -http://purl.obolibrary.org/obo/OMIT_0009217,Long-Term Care,en -https://www.wikidata.org/wiki/Q30314010,social distancing,en -https://publications.europa.eu/resource/authority/language/LIT,litván,hu -https://publications.europa.eu/resource/authority/language/LIT,litewski,pl -https://publications.europa.eu/resource/authority/language/LIT,lituano,it -https://publications.europa.eu/resource/authority/language/LIT,litauisk,da -https://publications.europa.eu/resource/authority/language/LIT,lietuvių kalba,lt -https://publications.europa.eu/resource/authority/language/LIT,liettua,fi -https://publications.europa.eu/resource/authority/language/LIT,litauisk,no -https://publications.europa.eu/resource/authority/language/LIT,λιθουανικά,el -https://publications.europa.eu/resource/authority/language/LIT,литовски,bg -https://publications.europa.eu/resource/authority/language/LIT,litawšćina,hsb -https://publications.europa.eu/resource/authority/language/LIT,Litouws,nl -https://publications.europa.eu/resource/authority/language/LIT,lietuviešu valoda,lv -https://publications.europa.eu/resource/authority/language/LIT,leedu keel,et -https://publications.europa.eu/resource/authority/language/LIT,lituanien,fr -https://publications.europa.eu/resource/authority/language/LIT,lituaniană,ro -https://publications.europa.eu/resource/authority/language/LIT,litavski,hr -https://publications.europa.eu/resource/authority/language/LIT,Litauisch,de -https://publications.europa.eu/resource/authority/language/LIT,litovčina,sk -https://publications.europa.eu/resource/authority/language/LIT,litvanca,tr -https://publications.europa.eu/resource/authority/language/LIT,litauiska,sv -https://publications.europa.eu/resource/authority/language/LIT,lituano,es -https://publications.europa.eu/resource/authority/language/LIT,litháíska,is -https://publications.europa.eu/resource/authority/language/LIT,lituano,pt -https://publications.europa.eu/resource/authority/language/LIT,литвански,mk -https://publications.europa.eu/resource/authority/language/LIT,литовский,ru -https://publications.europa.eu/resource/authority/language/LIT,литвански,sr -https://publications.europa.eu/resource/authority/language/LIT,Lithuanian,en -https://publications.europa.eu/resource/authority/language/LIT,litovščina,sl -https://publications.europa.eu/resource/authority/language/LIT,Litwan,mt -https://publications.europa.eu/resource/authority/language/LIT,литовська мова,uk -https://publications.europa.eu/resource/authority/language/LIT,Liotuáinis,ga -https://publications.europa.eu/resource/authority/language/LIT,litevština,cs -https://publications.europa.eu/resource/authority/language/LIT,litvanski,sh -http://lexvo.org/id/iso639-3/lit,Lithuanian,en -https://www.wikidata.org/wiki/Q12206,diabetes,en -https://www.wikidata.org/wiki/Q12078,cancer,en -https://www.wikidata.org/wiki/Q2006636,waterborne disease,en -http://purl.obolibrary.org/obo/NCIT_C16495,Demographics,en -https://www.wikidata.org/wiki/Q58028485,policy compliance,en -http://purl.obolibrary.org/obo/EUPATH_0000359,occupation,en -https://www.wikidata.org/wiki/Q70362525,Hospital Bed Capacity,en -http://purl.obolibrary.org/obo/OMIT_0005898,Employment,en +https://publications.europa.eu/resource/authority/language/POR,"portugais",fr +https://publications.europa.eu/resource/authority/language/POR,"portugali keel",et +https://publications.europa.eu/resource/authority/language/POR,"португалски",sr +https://publications.europa.eu/resource/authority/language/POR,"portugalski",pl +https://publications.europa.eu/resource/authority/language/POR,"Portaingéilis",ga +https://publications.europa.eu/resource/authority/language/POR,"portugisiska",sv +https://publications.europa.eu/resource/authority/language/POR,"португалски",bg +https://publications.europa.eu/resource/authority/language/POR,"Portuguese",en +https://publications.europa.eu/resource/authority/language/POR,"portugalski",hr +https://publications.europa.eu/resource/authority/language/POR,"portugalšćina",hsb +https://publications.europa.eu/resource/authority/language/POR,"Portugiż",mt +https://publications.europa.eu/resource/authority/language/POR,"португалски",mk +https://publications.europa.eu/resource/authority/language/POR,"portugál",hu +https://publications.europa.eu/resource/authority/language/POR,"portugali",fi +https://publications.europa.eu/resource/authority/language/POR,"portoghese",it +https://publications.europa.eu/resource/authority/language/POR,"portugués",es +https://publications.europa.eu/resource/authority/language/POR,"portugisisk",da +https://publications.europa.eu/resource/authority/language/POR,"portugisisk",no +https://publications.europa.eu/resource/authority/language/POR,"portugalų kalba",lt +https://publications.europa.eu/resource/authority/language/POR,"português",pt +https://publications.europa.eu/resource/authority/language/POR,"Portugiesisch",de +https://publications.europa.eu/resource/authority/language/POR,"portugalčina",sk +https://publications.europa.eu/resource/authority/language/POR,"portugāļu valoda",lv +https://publications.europa.eu/resource/authority/language/POR,"πορτογαλικά",el +https://publications.europa.eu/resource/authority/language/POR,"Portugees",nl +https://publications.europa.eu/resource/authority/language/POR,"portugheză",ro +https://publications.europa.eu/resource/authority/language/POR,"португальский",ru +https://publications.europa.eu/resource/authority/language/POR,"португальська мова",uk +https://publications.europa.eu/resource/authority/language/POR,"portúgalska",is +https://publications.europa.eu/resource/authority/language/POR,"portugalski",sh +https://publications.europa.eu/resource/authority/language/POR,"portugalština",cs +https://publications.europa.eu/resource/authority/language/POR,"portekizce",tr +https://publications.europa.eu/resource/authority/language/POR,"portugalščina",sl +http://lexvo.org/id/iso639-3/por,"Portuguese",en +https://www.wikidata.org/wiki/Q57262078,"food consumption",en +https://www.wikidata.org/wiki/Q4014799,"medical visit",en +http://purl.obolibrary.org/obo/NCIT_C18002,"Home",en +https://www.wikidata.org/wiki/Q600236,"surgical operation",en +http://purl.obolibrary.org/obo/NCIT_C21007,"Disability",en +http://purl.obolibrary.org/obo/NCIT_C15329,"Surgical Procedure",en +http://purl.obolibrary.org/obo/NCIT_C25741,"Physician",en +http://purl.obolibrary.org/obo/NCIT_C111860,"Maternal Mortality",en +https://publications.europa.eu/resource/authority/language/EST,"Eastóinis",ga +https://publications.europa.eu/resource/authority/language/EST,"Eston",mt +https://publications.europa.eu/resource/authority/language/EST,"estónčina",sk +https://publications.europa.eu/resource/authority/language/EST,"Estisch",nl +https://publications.europa.eu/resource/authority/language/EST,"естонски",sr +https://publications.europa.eu/resource/authority/language/EST,"estisk",no +https://publications.europa.eu/resource/authority/language/EST,"estonski",sh +https://publications.europa.eu/resource/authority/language/EST,"estoński",pl +https://publications.europa.eu/resource/authority/language/EST,"estonien",fr +https://publications.europa.eu/resource/authority/language/EST,"estonština",cs +https://publications.europa.eu/resource/authority/language/EST,"естонська мова",uk +https://publications.europa.eu/resource/authority/language/EST,"естонски",mk +https://publications.europa.eu/resource/authority/language/EST,"eesti keel",et +https://publications.europa.eu/resource/authority/language/EST,"estonca",tr +https://publications.europa.eu/resource/authority/language/EST,"естонски",bg +https://publications.europa.eu/resource/authority/language/EST,"estonio",es +https://publications.europa.eu/resource/authority/language/EST,"viro",fi +https://publications.europa.eu/resource/authority/language/EST,"estónio",pt +https://publications.europa.eu/resource/authority/language/EST,"Estnisch",de +https://publications.europa.eu/resource/authority/language/EST,"eistneska",is +https://publications.europa.eu/resource/authority/language/EST,"εσθονικά",el +https://publications.europa.eu/resource/authority/language/EST,"észt",hu +https://publications.europa.eu/resource/authority/language/EST,"эстонский",ru +https://publications.europa.eu/resource/authority/language/EST,"estone",it +https://publications.europa.eu/resource/authority/language/EST,"igauņu valoda",lv +https://publications.europa.eu/resource/authority/language/EST,"Estonian",en +https://publications.europa.eu/resource/authority/language/EST,"estišćina",hsb +https://publications.europa.eu/resource/authority/language/EST,"estniska",sv +https://publications.europa.eu/resource/authority/language/EST,"estonski",hr +https://publications.europa.eu/resource/authority/language/EST,"estonă",ro +https://publications.europa.eu/resource/authority/language/EST,"estų kalba",lt +https://publications.europa.eu/resource/authority/language/EST,"estisk",da +https://publications.europa.eu/resource/authority/language/EST,"estonščina",sl +http://lexvo.org/id/iso639-3/est,"Estonian",en +https://www.wikidata.org/wiki/Q26305989,"blood-borne transmission",en +https://publications.europa.eu/resource/authority/language/HYE,"armenska",is +https://publications.europa.eu/resource/authority/language/HYE,"armenski",hr +https://publications.europa.eu/resource/authority/language/HYE,"armeniska",sv +https://publications.europa.eu/resource/authority/language/HYE,"armenšćina",hsb +https://publications.europa.eu/resource/authority/language/HYE,"Јерменски",sr +https://publications.europa.eu/resource/authority/language/HYE,"Armenian",en +https://publications.europa.eu/resource/authority/language/HYE,"Armen",mt +https://publications.europa.eu/resource/authority/language/HYE,"armeenia keel",et +https://publications.europa.eu/resource/authority/language/HYE,"armensk",no +https://publications.europa.eu/resource/authority/language/HYE,"ерменски",mk +https://publications.europa.eu/resource/authority/language/HYE,"armensk",da +https://publications.europa.eu/resource/authority/language/HYE,"armeană",ro +https://publications.europa.eu/resource/authority/language/HYE,"арменски",bg +https://publications.europa.eu/resource/authority/language/HYE,"Armeens",nl +https://publications.europa.eu/resource/authority/language/HYE,"arménština",cs +https://publications.europa.eu/resource/authority/language/HYE,"Armenisch",de +https://publications.europa.eu/resource/authority/language/HYE,"armēņu valoda",lv +https://publications.europa.eu/resource/authority/language/HYE,"armeno",it +https://publications.europa.eu/resource/authority/language/HYE,"armenščina",sl +https://publications.europa.eu/resource/authority/language/HYE,"армянский",ru +https://publications.europa.eu/resource/authority/language/HYE,"armėnų kalba",lt +https://publications.europa.eu/resource/authority/language/HYE,"armenio",es +https://publications.europa.eu/resource/authority/language/HYE,"ermenice",tr +https://publications.europa.eu/resource/authority/language/HYE,"arménčina",sk +https://publications.europa.eu/resource/authority/language/HYE,"вірменська мова",uk +https://publications.europa.eu/resource/authority/language/HYE,"Airméinis",ga +https://publications.europa.eu/resource/authority/language/HYE,"armenia",fi +https://publications.europa.eu/resource/authority/language/HYE,"ormiański",pl +https://publications.europa.eu/resource/authority/language/HYE,"arménio",pt +https://publications.europa.eu/resource/authority/language/HYE,"arménien",fr +https://publications.europa.eu/resource/authority/language/HYE,"αρμενικά",el +https://publications.europa.eu/resource/authority/language/HYE,"örmény",hu +https://publications.europa.eu/resource/authority/language/HYE,"armenski",sh +http://lexvo.org/id/iso639-3/hye,"Armenian",en +http://semanticscience.org/resource/SIO_000713,"doctor role",en +http://purl.obolibrary.org/obo/OMIT_0010784,"Obesity",en +https://www.wikidata.org/wiki/Property:P106,"occupation",en +https://www.wikidata.org/wiki/Q949149,"sanitation",en +http://purl.obolibrary.org/obo/OMIT_0013403,"Sanitation",en +http://purl.obolibrary.org/obo/NCIT_C16452,"Communication",en +http://purl.obolibrary.org/obo/GSSO_000498,"mental disorder",en +https://www.wikidata.org/wiki/Q747883,"physical activity",en +https://publications.europa.eu/resource/authority/language/BOS,"bośniacki",pl +https://publications.europa.eu/resource/authority/language/BOS,"bosniaco",it +https://publications.europa.eu/resource/authority/language/BOS,"bosnik",no +https://publications.europa.eu/resource/authority/language/BOS,"bosnia",fi +https://publications.europa.eu/resource/authority/language/BOS,"Bosnian",en +https://publications.europa.eu/resource/authority/language/BOS,"bosniačtina",sk +https://publications.europa.eu/resource/authority/language/BOS,"bosniešu valoda",lv +https://publications.europa.eu/resource/authority/language/BOS,"bosnių kalba",lt +https://publications.europa.eu/resource/authority/language/BOS,"bosenština",cs +https://publications.europa.eu/resource/authority/language/BOS,"bosnien",fr +https://publications.europa.eu/resource/authority/language/BOS,"boşnakça",tr +https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",nl +https://publications.europa.eu/resource/authority/language/BOS,"βοσνιακά",el +https://publications.europa.eu/resource/authority/language/BOS,"bosnisk",da +https://publications.europa.eu/resource/authority/language/BOS,"босненски",bg +https://publications.europa.eu/resource/authority/language/BOS,"bosníska",is +https://publications.europa.eu/resource/authority/language/BOS,"bosnia keel",et +https://publications.europa.eu/resource/authority/language/BOS,"bósnio",pt +https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",de +https://publications.europa.eu/resource/authority/language/BOS,"bosniska",sv +https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",sr +https://publications.europa.eu/resource/authority/language/BOS,"Bosnis",ga +https://publications.europa.eu/resource/authority/language/BOS,"bosnišćina",hsb +https://publications.europa.eu/resource/authority/language/BOS,"bosanščina",sl +https://publications.europa.eu/resource/authority/language/BOS,"Bosnjan",mt +https://publications.europa.eu/resource/authority/language/BOS,"bosnyák",hu +https://publications.europa.eu/resource/authority/language/BOS,"боснийский",ru +https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",mk +https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",sh +https://publications.europa.eu/resource/authority/language/BOS,"боснійська мова",uk +https://publications.europa.eu/resource/authority/language/BOS,"bosniacă",ro +https://publications.europa.eu/resource/authority/language/BOS,"bosnio",es +https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",hr +http://lexvo.org/id/iso639-3/bos,"Bosnian",en +http://purl.obolibrary.org/obo/OMIT_0008309,"Income",en +https://publications.europa.eu/resource/authority/language/CES,"tšekki",fi +https://publications.europa.eu/resource/authority/language/CES,"tékkneska",is +https://publications.europa.eu/resource/authority/language/CES,"чешки",bg +https://publications.europa.eu/resource/authority/language/CES,"чешки",sr +https://publications.europa.eu/resource/authority/language/CES,"checo",pt +https://publications.europa.eu/resource/authority/language/CES,"tsjekkisk",no +https://publications.europa.eu/resource/authority/language/CES,"Ċek",mt +https://publications.europa.eu/resource/authority/language/CES,"češki",hr +https://publications.europa.eu/resource/authority/language/CES,"čěšćina",hsb +https://publications.europa.eu/resource/authority/language/CES,"cseh",hu +https://publications.europa.eu/resource/authority/language/CES,"Seicis",ga +https://publications.europa.eu/resource/authority/language/CES,"tšehhi keel",et +https://publications.europa.eu/resource/authority/language/CES,"čekų kalba",lt +https://publications.europa.eu/resource/authority/language/CES,"čehu valoda",lv +https://publications.europa.eu/resource/authority/language/CES,"чешский",ru +https://publications.europa.eu/resource/authority/language/CES,"τσεχικά",el +https://publications.europa.eu/resource/authority/language/CES,"češki",sh +https://publications.europa.eu/resource/authority/language/CES,"čeština",sk +https://publications.europa.eu/resource/authority/language/CES,"Tsjechisch",nl +https://publications.europa.eu/resource/authority/language/CES,"чешки",mk +https://publications.europa.eu/resource/authority/language/CES,"tjekkisk",da +https://publications.europa.eu/resource/authority/language/CES,"çekçe",tr +https://publications.europa.eu/resource/authority/language/CES,"ceco",it +https://publications.europa.eu/resource/authority/language/CES,"tchèque",fr +https://publications.europa.eu/resource/authority/language/CES,"cehă",ro +https://publications.europa.eu/resource/authority/language/CES,"czeski",pl +https://publications.europa.eu/resource/authority/language/CES,"Tschechisch",de +https://publications.europa.eu/resource/authority/language/CES,"checo",es +https://publications.europa.eu/resource/authority/language/CES,"чеська мова",uk +https://publications.europa.eu/resource/authority/language/CES,"češčina",sl +https://publications.europa.eu/resource/authority/language/CES,"čeština",cs +https://publications.europa.eu/resource/authority/language/CES,"Czech",en +https://publications.europa.eu/resource/authority/language/CES,"tjeckiska",sv +http://lexvo.org/id/iso639-3/ces,"Czech",en +http://purl.obolibrary.org/obo/NCIT_C173558,"Contact Tracing",en +http://purl.obolibrary.org/obo/NCIT_C16669,"Health Status",en +https://www.wikidata.org/wiki/Q182672,"zoonosis",en +https://publications.europa.eu/resource/authority/language/DEU,"saksa",fi +https://publications.europa.eu/resource/authority/language/DEU,"немецкий",ru +https://publications.europa.eu/resource/authority/language/DEU,"Duits",nl +https://publications.europa.eu/resource/authority/language/DEU,"nemščina",sl +https://publications.europa.eu/resource/authority/language/DEU,"tysk",no +https://publications.europa.eu/resource/authority/language/DEU,"német",hu +https://publications.europa.eu/resource/authority/language/DEU,"немачки",sr +https://publications.europa.eu/resource/authority/language/DEU,"alemán",es +https://publications.europa.eu/resource/authority/language/DEU,"němčina",cs +https://publications.europa.eu/resource/authority/language/DEU,"tysk",da +https://publications.europa.eu/resource/authority/language/DEU,"saksa keel",et +https://publications.europa.eu/resource/authority/language/DEU,"Gearmáinis",ga +https://publications.europa.eu/resource/authority/language/DEU,"němska",hsb +https://publications.europa.eu/resource/authority/language/DEU,"tedesco",it +https://publications.europa.eu/resource/authority/language/DEU,"njemački",hr +https://publications.europa.eu/resource/authority/language/DEU,"γερμανικά",el +https://publications.europa.eu/resource/authority/language/DEU,"nemački",sh +https://publications.europa.eu/resource/authority/language/DEU,"німецька мова",uk +https://publications.europa.eu/resource/authority/language/DEU,"alemão",pt +https://publications.europa.eu/resource/authority/language/DEU,"almanca",tr +https://publications.europa.eu/resource/authority/language/DEU,"niemiecki",pl +https://publications.europa.eu/resource/authority/language/DEU,"German",en +https://publications.europa.eu/resource/authority/language/DEU,"þýska",is +https://publications.europa.eu/resource/authority/language/DEU,"Ġermaniż",mt +https://publications.europa.eu/resource/authority/language/DEU,"vokiečių kalba",lt +https://publications.europa.eu/resource/authority/language/DEU,"tyska",sv +https://publications.europa.eu/resource/authority/language/DEU,"nemčina",sk +https://publications.europa.eu/resource/authority/language/DEU,"немски",bg +https://publications.europa.eu/resource/authority/language/DEU,"allemand",fr +https://publications.europa.eu/resource/authority/language/DEU,"vācu valoda",lv +https://publications.europa.eu/resource/authority/language/DEU,"germană",ro +https://publications.europa.eu/resource/authority/language/DEU,"германски",mk +https://publications.europa.eu/resource/authority/language/DEU,"Deutsch",de +http://lexvo.org/id/iso639-3/deu,"German",en +http://vivoweb.org/ontology/core#Hospital,"Hospital",en +http://purl.obolibrary.org/obo/GSSO_007925,"pharmaceutical drug",en +https://www.wikidata.org/wiki/Q18123741,"infectious disease",en +https://www.wikidata.org/wiki/Q12140,"medication",en +http://purl.obolibrary.org/obo/OMIT_0009102,"Life Expectancy",en +https://www.wikidata.org/wiki/Q381481,"airborne disease",en +http://purl.obolibrary.org/obo/OMIT_0017465,"Health Care Costs",en +http://purl.obolibrary.org/obo/OMIT_0009217,"Long-Term Care",en +https://www.wikidata.org/wiki/Q30314010,"social distancing",en +https://publications.europa.eu/resource/authority/language/LIT,"litván",hu +https://publications.europa.eu/resource/authority/language/LIT,"litewski",pl +https://publications.europa.eu/resource/authority/language/LIT,"lituano",it +https://publications.europa.eu/resource/authority/language/LIT,"litauisk",da +https://publications.europa.eu/resource/authority/language/LIT,"lietuvių kalba",lt +https://publications.europa.eu/resource/authority/language/LIT,"liettua",fi +https://publications.europa.eu/resource/authority/language/LIT,"litauisk",no +https://publications.europa.eu/resource/authority/language/LIT,"λιθουανικά",el +https://publications.europa.eu/resource/authority/language/LIT,"литовски",bg +https://publications.europa.eu/resource/authority/language/LIT,"litawšćina",hsb +https://publications.europa.eu/resource/authority/language/LIT,"Litouws",nl +https://publications.europa.eu/resource/authority/language/LIT,"lietuviešu valoda",lv +https://publications.europa.eu/resource/authority/language/LIT,"leedu keel",et +https://publications.europa.eu/resource/authority/language/LIT,"lituanien",fr +https://publications.europa.eu/resource/authority/language/LIT,"lituaniană",ro +https://publications.europa.eu/resource/authority/language/LIT,"litavski",hr +https://publications.europa.eu/resource/authority/language/LIT,"Litauisch",de +https://publications.europa.eu/resource/authority/language/LIT,"litovčina",sk +https://publications.europa.eu/resource/authority/language/LIT,"litvanca",tr +https://publications.europa.eu/resource/authority/language/LIT,"litauiska",sv +https://publications.europa.eu/resource/authority/language/LIT,"lituano",es +https://publications.europa.eu/resource/authority/language/LIT,"litháíska",is +https://publications.europa.eu/resource/authority/language/LIT,"lituano",pt +https://publications.europa.eu/resource/authority/language/LIT,"литвански",mk +https://publications.europa.eu/resource/authority/language/LIT,"литовский",ru +https://publications.europa.eu/resource/authority/language/LIT,"литвански",sr +https://publications.europa.eu/resource/authority/language/LIT,"Lithuanian",en +https://publications.europa.eu/resource/authority/language/LIT,"litovščina",sl +https://publications.europa.eu/resource/authority/language/LIT,"Litwan",mt +https://publications.europa.eu/resource/authority/language/LIT,"литовська мова",uk +https://publications.europa.eu/resource/authority/language/LIT,"Liotuáinis",ga +https://publications.europa.eu/resource/authority/language/LIT,"litevština",cs +https://publications.europa.eu/resource/authority/language/LIT,"litvanski",sh +http://lexvo.org/id/iso639-3/lit,"Lithuanian",en +https://www.wikidata.org/wiki/Q12206,"diabetes",en +https://www.wikidata.org/wiki/Q12078,"cancer",en +https://www.wikidata.org/wiki/Q2006636,"waterborne disease",en +http://purl.obolibrary.org/obo/NCIT_C16495,"Demographics",en +https://www.wikidata.org/wiki/Q58028485,"policy compliance",en +http://purl.obolibrary.org/obo/EUPATH_0000359,"occupation",en +https://www.wikidata.org/wiki/Q70362525,"Hospital Bed Capacity",en +http://purl.obolibrary.org/obo/OMIT_0005898,"Employment",en http://purl.obolibrary.org/obo/OMIT_0004111,"Cholesterol, Dietary",en -https://www.wikidata.org/wiki/Q1339474,maternal death,en -https://www.wikidata.org/wiki/Q15636229,surgical procedure,en -https://www.wikidata.org/wiki/Q95449639,Vaccine-Preventable Diseases,en -http://purl.obolibrary.org/obo/GSSO_008527,leisure activity,en -https://www.wikidata.org/wiki/Q17054975,Health Workforce,en -https://www.wikidata.org/wiki/Q8434,education,en -https://publications.europa.eu/resource/authority/language/ROM,romani,hu -https://publications.europa.eu/resource/authority/language/ROM,romski,sh -https://publications.europa.eu/resource/authority/language/ROM,romani,fi -https://publications.europa.eu/resource/authority/language/ROM,rómčina,sk -https://publications.europa.eu/resource/authority/language/ROM,romština,cs -https://publications.europa.eu/resource/authority/language/ROM,romski,pl -https://publications.europa.eu/resource/authority/language/ROM,Zingaru,mt -https://publications.europa.eu/resource/authority/language/ROM,цыга́нский,ru -https://publications.europa.eu/resource/authority/language/ROM,ромски,mk -https://publications.europa.eu/resource/authority/language/ROM,romų kalba,lt -https://publications.europa.eu/resource/authority/language/ROM,romani,is -https://publications.europa.eu/resource/authority/language/ROM,romaní,es -https://publications.europa.eu/resource/authority/language/ROM,romski,hr -https://publications.europa.eu/resource/authority/language/ROM,ромски,bg -https://publications.europa.eu/resource/authority/language/ROM,romani,tr -https://publications.europa.eu/resource/authority/language/ROM,romščina,sl -https://publications.europa.eu/resource/authority/language/ROM,Romani,de -https://publications.europa.eu/resource/authority/language/ROM,roma keel,et -https://publications.europa.eu/resource/authority/language/ROM,Romani,nl -https://publications.europa.eu/resource/authority/language/ROM,romani,da -https://publications.europa.eu/resource/authority/language/ROM,romani,pt -https://publications.europa.eu/resource/authority/language/ROM,romani,sv -https://publications.europa.eu/resource/authority/language/ROM,циганська мова,uk -https://publications.europa.eu/resource/authority/language/ROM,romani,fr -https://publications.europa.eu/resource/authority/language/ROM,čigānu valoda,lv -https://publications.europa.eu/resource/authority/language/ROM,romaní,it -https://publications.europa.eu/resource/authority/language/ROM,Romani,ga -https://publications.europa.eu/resource/authority/language/ROM,romani,no -https://publications.europa.eu/resource/authority/language/ROM,ромски,sr -https://publications.europa.eu/resource/authority/language/ROM,Romani,en -https://publications.europa.eu/resource/authority/language/ROM,romani,ro -https://publications.europa.eu/resource/authority/language/ROM,ρομανικά,el -http://lexvo.org/id/iso639-3/rom,Romani,en -https://www.wikidata.org/wiki/Q93815163,Cancer Survival Rates,en -http://purl.obolibrary.org/obo/OMIT_0015761,Work,en -https://publications.europa.eu/resource/authority/language/ENG,engleză,ro -https://publications.europa.eu/resource/authority/language/ENG,angielski,pl -https://publications.europa.eu/resource/authority/language/ENG,Englisch,de -https://publications.europa.eu/resource/authority/language/ENG,inglés,es -https://publications.europa.eu/resource/authority/language/ENG,angličtina,sk -https://publications.europa.eu/resource/authority/language/ENG,английский,ru -https://publications.europa.eu/resource/authority/language/ENG,Engels,nl -https://publications.europa.eu/resource/authority/language/ENG,engleski,hr -https://publications.europa.eu/resource/authority/language/ENG,inglise keel,et -https://publications.europa.eu/resource/authority/language/ENG,angļu valoda,lv -https://publications.europa.eu/resource/authority/language/ENG,engelsk,no -https://publications.europa.eu/resource/authority/language/ENG,jendźelšćina,hsb -https://publications.europa.eu/resource/authority/language/ENG,енглески,sr -https://publications.europa.eu/resource/authority/language/ENG,ıngilizce,tr -https://publications.europa.eu/resource/authority/language/ENG,anglais,fr -https://publications.europa.eu/resource/authority/language/ENG,inglese,it -https://publications.europa.eu/resource/authority/language/ENG,engleski,sh -https://publications.europa.eu/resource/authority/language/ENG,inglês,pt -https://publications.europa.eu/resource/authority/language/ENG,engelsk,da -https://publications.europa.eu/resource/authority/language/ENG,enska,is -https://publications.europa.eu/resource/authority/language/ENG,angol,hu -https://publications.europa.eu/resource/authority/language/ENG,Béarla,ga -https://publications.europa.eu/resource/authority/language/ENG,Ingliż,mt -https://publications.europa.eu/resource/authority/language/ENG,английски,bg -https://publications.europa.eu/resource/authority/language/ENG,anglų kalba,lt -https://publications.europa.eu/resource/authority/language/ENG,angličtina,cs -https://publications.europa.eu/resource/authority/language/ENG,αγγλικά,el -https://publications.europa.eu/resource/authority/language/ENG,engelska,sv -https://publications.europa.eu/resource/authority/language/ENG,англійська мова,uk -https://publications.europa.eu/resource/authority/language/ENG,angleščina,sl -https://publications.europa.eu/resource/authority/language/ENG,англиски,mk -https://publications.europa.eu/resource/authority/language/ENG,englanti,fi -https://publications.europa.eu/resource/authority/language/ENG,English,en -http://lexvo.org/id/iso639-3/eng,English,en -https://www.wikidata.org/wiki/Q622527,self-injury,en -https://www.wikidata.org/wiki/Q2715623,social network,en -https://publications.europa.eu/resource/authority/language/RUS,Russisch,de -https://publications.europa.eu/resource/authority/language/RUS,rusă,ro -https://publications.europa.eu/resource/authority/language/RUS,russo,pt -https://publications.europa.eu/resource/authority/language/RUS,vene keel,et -https://publications.europa.eu/resource/authority/language/RUS,rosyjski,pl -https://publications.europa.eu/resource/authority/language/RUS,Russu,mt -https://publications.europa.eu/resource/authority/language/RUS,ruština,sk -https://publications.europa.eu/resource/authority/language/RUS,російська мова,uk -https://publications.europa.eu/resource/authority/language/RUS,ruso,es -https://publications.europa.eu/resource/authority/language/RUS,ryska,sv -https://publications.europa.eu/resource/authority/language/RUS,russisk,no -https://publications.europa.eu/resource/authority/language/RUS,руски,bg -https://publications.europa.eu/resource/authority/language/RUS,Rúisis,ga -https://publications.europa.eu/resource/authority/language/RUS,russe,fr -https://publications.europa.eu/resource/authority/language/RUS,russo,it -https://publications.europa.eu/resource/authority/language/RUS,ruski,sh -https://publications.europa.eu/resource/authority/language/RUS,russisk,da -https://publications.europa.eu/resource/authority/language/RUS,Russisch,nl -https://publications.europa.eu/resource/authority/language/RUS,krievu valoda,lv -https://publications.europa.eu/resource/authority/language/RUS,rusça,tr -https://publications.europa.eu/resource/authority/language/RUS,pусский,ru -https://publications.europa.eu/resource/authority/language/RUS,ruština,cs -https://publications.europa.eu/resource/authority/language/RUS,ruski,hr -https://publications.europa.eu/resource/authority/language/RUS,Russian,en -https://publications.europa.eu/resource/authority/language/RUS,ρωσικά,el -https://publications.europa.eu/resource/authority/language/RUS,руски,mk -https://publications.europa.eu/resource/authority/language/RUS,руски,sr -https://publications.europa.eu/resource/authority/language/RUS,ruščina,sl -https://publications.europa.eu/resource/authority/language/RUS,venäjä,fi -https://publications.europa.eu/resource/authority/language/RUS,orosz,hu -https://publications.europa.eu/resource/authority/language/RUS,rusų kalba,lt -https://publications.europa.eu/resource/authority/language/RUS,rússneska,is -https://publications.europa.eu/resource/authority/language/RUS,rušćina,hsb -http://lexvo.org/id/iso639-3/rus,Russian,en -https://www.wikidata.org/wiki/Q1519843,health technology,en -http://purl.obolibrary.org/obo/NCIT_C17009,Poverty,en -http://purl.obolibrary.org/obo/SCDO_0000948,Quality of Health Care,en -http://purl.obolibrary.org/obo/OMIT_0010070,Mortality,en -http://purl.obolibrary.org/obo/NCIT_C41150,Income,en -http://purl.obolibrary.org/obo/NCIT_C25172,Employed,en -http://purl.obolibrary.org/obo/NCIT_C16696,Hospital,en -https://www.wikidata.org/wiki/Q53464336,Airborne Diseases,en -https://www.wikidata.org/wiki/Q7743,home,en -http://purl.obolibrary.org/obo/OMIT_0013643,Sexually Transmitted Diseases,en -https://www.wikidata.org/wiki/Q1762591,periodic health examination,en -https://www.wikidata.org/wiki/Q22907655,patient experience,en -http://purl.obolibrary.org/obo/MAXO_0000004,surgical procedure,en -http://purl.obolibrary.org/obo/NCIT_C157935,Non-Communicable Disorder,en -http://purl.obolibrary.org/obo/OMIT_0010062,Morbidity,en -https://publications.europa.eu/resource/authority/language/NNO,norvegiană nynorsk,ro -https://publications.europa.eu/resource/authority/language/NNO,neonorueguês,pt -https://publications.europa.eu/resource/authority/language/NNO,Norwegian Nynorsk,en -https://publications.europa.eu/resource/authority/language/NNO,νορβηγική νίνορσκ,el -https://publications.europa.eu/resource/authority/language/NNO,Nynorsk Norveġiż,mt -https://publications.europa.eu/resource/authority/language/NNO,norvég nynorsk,hu -https://publications.europa.eu/resource/authority/language/NNO,norština (nynorsk),cs -https://publications.europa.eu/resource/authority/language/NNO,norweski nynorsk,pl -https://publications.europa.eu/resource/authority/language/NNO,norska (nynorska),sv -https://publications.europa.eu/resource/authority/language/NNO,norvegese nynorsk,it -https://publications.europa.eu/resource/authority/language/NNO,jaunnorvēģu valoda,lv -https://publications.europa.eu/resource/authority/language/NNO,novonorveški,hr -https://publications.europa.eu/resource/authority/language/NNO,nynorsk,es -https://publications.europa.eu/resource/authority/language/NNO,Nynorsk,de -https://publications.europa.eu/resource/authority/language/NNO,nórčina (nynorsk),sk -https://publications.europa.eu/resource/authority/language/NNO,nynorsk,da -https://publications.europa.eu/resource/authority/language/NNO,норвежки съвременен,bg -https://publications.europa.eu/resource/authority/language/NNO,Nua-Ioruais,ga -https://publications.europa.eu/resource/authority/language/NNO,uusnorja,fi -https://publications.europa.eu/resource/authority/language/NNO,norvegų niunoškas,lt -https://publications.europa.eu/resource/authority/language/NNO,Norwegian Nynorsk,nl -https://publications.europa.eu/resource/authority/language/NNO,norvégien nynorsk,fr -https://publications.europa.eu/resource/authority/language/NNO,novonorveščina,sl -https://publications.europa.eu/resource/authority/language/NNO,uusnorra keel,et -https://publications.europa.eu/resource/authority/language/NNO,норвезька нюнорська мова,uk -http://lexvo.org/id/iso639-3/nno,Norwegian Nynorsk,en -https://www.wikidata.org/wiki/Q96482267,vaccination coverage,en -https://www.wikidata.org/wiki/Q6784043,mass gathering,en -https://www.wikidata.org/wiki/Q193078,injury,en -https://www.wikidata.org/wiki/Q98299735,noncommunicable diseases,en -https://www.wikidata.org/wiki/Q506319,generic drug,en -https://www.wikidata.org/wiki/Q6672123,long-term care,en -http://purl.obolibrary.org/obo/NCIT_C17953,Education Level,en -http://purl.obolibrary.org/obo/SCDO_0001088,Social Support,en -http://purl.obolibrary.org/obo/NCIT_C90384,Food Consumption,en -https://www.wikidata.org/wiki/Q186360,nurse,en -https://www.wikidata.org/wiki/Q171558,accident,en -https://www.wikidata.org/wiki/Q66982216,health status,en -http://purl.obolibrary.org/obo/OBIB_0000716,surgical procedure,en -https://www.wikidata.org/wiki/Q5031455,Cancer survival rates,en -http://purl.obolibrary.org/obo/MFOMD_0000004,mental disorder,en -http://purl.obolibrary.org/obo/OMIT_0017009,Drug Costs,en -https://www.wikidata.org/wiki/Q1814351,public health intervention,en -http://purl.obolibrary.org/obo/OMIT_0002889,Behavior,en -https://www.wikidata.org/wiki/Q28885102,pharmaceutical product,en -https://publications.europa.eu/resource/authority/language/NLD,nižozemšćina,hsb -https://publications.europa.eu/resource/authority/language/NLD,hollenska,is -https://publications.europa.eu/resource/authority/language/NLD,nyderlandų kalba,lt -https://publications.europa.eu/resource/authority/language/NLD,Olandiż,mt -https://publications.europa.eu/resource/authority/language/NLD,Ollainnis,ga -https://publications.europa.eu/resource/authority/language/NLD,niderlandzki,pl -https://publications.europa.eu/resource/authority/language/NLD,holandski,sh -https://publications.europa.eu/resource/authority/language/NLD,hollandaca,tr -https://publications.europa.eu/resource/authority/language/NLD,nederlandsk,da -https://publications.europa.eu/resource/authority/language/NLD,холандски,mk -https://publications.europa.eu/resource/authority/language/NLD,Dutch,en -https://publications.europa.eu/resource/authority/language/NLD,nederländska,sv -https://publications.europa.eu/resource/authority/language/NLD,neerlandês,pt -https://publications.europa.eu/resource/authority/language/NLD,néerlandais,fr -https://publications.europa.eu/resource/authority/language/NLD,holandiešu valoda,lv -https://publications.europa.eu/resource/authority/language/NLD,nizozemština,cs -https://publications.europa.eu/resource/authority/language/NLD,holland,hu -https://publications.europa.eu/resource/authority/language/NLD,neerlandeză,ro -https://publications.europa.eu/resource/authority/language/NLD,холандски,sr -https://publications.europa.eu/resource/authority/language/NLD,nizozemski,hr -https://publications.europa.eu/resource/authority/language/NLD,нидерландски,bg -https://publications.europa.eu/resource/authority/language/NLD,nederlandsk,no -https://publications.europa.eu/resource/authority/language/NLD,ολλανδικά,el -https://publications.europa.eu/resource/authority/language/NLD,нідерландська мова,uk -https://publications.europa.eu/resource/authority/language/NLD,holandčina,sk -https://publications.europa.eu/resource/authority/language/NLD,nizozemščina,sl -https://publications.europa.eu/resource/authority/language/NLD,Nederlands,nl -https://publications.europa.eu/resource/authority/language/NLD,neerlandés,es -https://publications.europa.eu/resource/authority/language/NLD,Niederländisch,de -https://publications.europa.eu/resource/authority/language/NLD,hollandi keel,et -https://publications.europa.eu/resource/authority/language/NLD,нидерландский,ru -https://publications.europa.eu/resource/authority/language/NLD,neerlandese,it -https://publications.europa.eu/resource/authority/language/NLD,hollanti,fi -http://lexvo.org/id/iso639-3/nld,Dutch,en -http://purl.obolibrary.org/obo/SCDO_0000493,Health Service Utilization,en -https://www.wikidata.org/wiki/Q389735,cardiovascular disease,en -https://www.wikidata.org/wiki/Q105252400,vaccine acceptance,en -http://purl.obolibrary.org/obo/SCDO_0000414,Education,en -https://www.wikidata.org/wiki/Q11000047,health system,en -http://purl.obolibrary.org/obo/NCIT_C16877,Morbidity,en -http://purl.obolibrary.org/obo/OMIT_0027917,Patient Safety,en -http://publications.europa.eu/resource/authority/data-theme/HEAL,Υγεία,el -http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdrowie,pl -http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravje,sl -http://publications.europa.eu/resource/authority/data-theme/HEAL,Salute,it -http://publications.europa.eu/resource/authority/data-theme/HEAL,Saúde,pt -http://publications.europa.eu/resource/authority/data-theme/HEAL,Santé,fr -http://publications.europa.eu/resource/authority/data-theme/HEAL,Terveys,fi -http://publications.europa.eu/resource/authority/data-theme/HEAL,Sveikata,lt -http://publications.europa.eu/resource/authority/data-theme/HEAL,Здраве,bg -http://publications.europa.eu/resource/authority/data-theme/HEAL,Sláinte,ga -http://publications.europa.eu/resource/authority/data-theme/HEAL,Hälsa,sv -http://publications.europa.eu/resource/authority/data-theme/HEAL,Salud,es -http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdraví,cs -http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravotníctvo,sk -http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,nn -http://publications.europa.eu/resource/authority/data-theme/HEAL,Sundhed,da -http://publications.europa.eu/resource/authority/data-theme/HEAL,Veselība,lv -http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,nb -http://publications.europa.eu/resource/authority/data-theme/HEAL,Zdravlje,hr -http://publications.europa.eu/resource/authority/data-theme/HEAL,Gesundheit,de -http://publications.europa.eu/resource/authority/data-theme/HEAL,Sănătate,ro -http://publications.europa.eu/resource/authority/data-theme/HEAL,Tervis,et -http://publications.europa.eu/resource/authority/data-theme/HEAL,Saħħa,mt -http://publications.europa.eu/resource/authority/data-theme/HEAL,Egészségügy,hu -http://publications.europa.eu/resource/authority/data-theme/HEAL,Gezondheid,nl -http://publications.europa.eu/resource/authority/data-theme/HEAL,Helse,no -http://publications.europa.eu/resource/authority/data-theme/HEAL,Health,en -https://www.wikidata.org/wiki/Q67171878,tobacco use,en -https://www.wikidata.org/wiki/Q59283414,health care costs,en -https://www.wikidata.org/wiki/Q13579947,misinformation,en +https://www.wikidata.org/wiki/Q1339474,"maternal death",en +https://www.wikidata.org/wiki/Q15636229,"surgical procedure",en +https://www.wikidata.org/wiki/Q95449639,"Vaccine-Preventable Diseases",en +http://purl.obolibrary.org/obo/GSSO_008527,"leisure activity",en +https://www.wikidata.org/wiki/Q17054975,"Health Workforce",en +https://www.wikidata.org/wiki/Q8434,"education",en +https://publications.europa.eu/resource/authority/language/ROM,"romani",hu +https://publications.europa.eu/resource/authority/language/ROM,"romski",sh +https://publications.europa.eu/resource/authority/language/ROM,"romani",fi +https://publications.europa.eu/resource/authority/language/ROM,"rómčina",sk +https://publications.europa.eu/resource/authority/language/ROM,"romština",cs +https://publications.europa.eu/resource/authority/language/ROM,"romski",pl +https://publications.europa.eu/resource/authority/language/ROM,"Zingaru",mt +https://publications.europa.eu/resource/authority/language/ROM,"цыга́нский",ru +https://publications.europa.eu/resource/authority/language/ROM,"ромски",mk +https://publications.europa.eu/resource/authority/language/ROM,"romų kalba",lt +https://publications.europa.eu/resource/authority/language/ROM,"romani",is +https://publications.europa.eu/resource/authority/language/ROM,"romaní",es +https://publications.europa.eu/resource/authority/language/ROM,"romski",hr +https://publications.europa.eu/resource/authority/language/ROM,"ромски",bg +https://publications.europa.eu/resource/authority/language/ROM,"romani",tr +https://publications.europa.eu/resource/authority/language/ROM,"romščina",sl +https://publications.europa.eu/resource/authority/language/ROM,"Romani",de +https://publications.europa.eu/resource/authority/language/ROM,"roma keel",et +https://publications.europa.eu/resource/authority/language/ROM,"Romani",nl +https://publications.europa.eu/resource/authority/language/ROM,"romani",da +https://publications.europa.eu/resource/authority/language/ROM,"romani",pt +https://publications.europa.eu/resource/authority/language/ROM,"romani",sv +https://publications.europa.eu/resource/authority/language/ROM,"циганська мова",uk +https://publications.europa.eu/resource/authority/language/ROM,"romani",fr +https://publications.europa.eu/resource/authority/language/ROM,"čigānu valoda",lv +https://publications.europa.eu/resource/authority/language/ROM,"romaní",it +https://publications.europa.eu/resource/authority/language/ROM,"Romani",ga +https://publications.europa.eu/resource/authority/language/ROM,"romani",no +https://publications.europa.eu/resource/authority/language/ROM,"ромски",sr +https://publications.europa.eu/resource/authority/language/ROM,"Romani",en +https://publications.europa.eu/resource/authority/language/ROM,"romani",ro +https://publications.europa.eu/resource/authority/language/ROM,"ρομανικά",el +http://lexvo.org/id/iso639-3/rom,"Romani",en +https://www.wikidata.org/wiki/Q93815163,"Cancer Survival Rates",en +http://purl.obolibrary.org/obo/OMIT_0015761,"Work",en +https://publications.europa.eu/resource/authority/language/ENG,"engleză",ro +https://publications.europa.eu/resource/authority/language/ENG,"angielski",pl +https://publications.europa.eu/resource/authority/language/ENG,"Englisch",de +https://publications.europa.eu/resource/authority/language/ENG,"inglés",es +https://publications.europa.eu/resource/authority/language/ENG,"angličtina",sk +https://publications.europa.eu/resource/authority/language/ENG,"английский",ru +https://publications.europa.eu/resource/authority/language/ENG,"Engels",nl +https://publications.europa.eu/resource/authority/language/ENG,"engleski",hr +https://publications.europa.eu/resource/authority/language/ENG,"inglise keel",et +https://publications.europa.eu/resource/authority/language/ENG,"angļu valoda",lv +https://publications.europa.eu/resource/authority/language/ENG,"engelsk",no +https://publications.europa.eu/resource/authority/language/ENG,"jendźelšćina",hsb +https://publications.europa.eu/resource/authority/language/ENG,"енглески",sr +https://publications.europa.eu/resource/authority/language/ENG,"ıngilizce",tr +https://publications.europa.eu/resource/authority/language/ENG,"anglais",fr +https://publications.europa.eu/resource/authority/language/ENG,"inglese",it +https://publications.europa.eu/resource/authority/language/ENG,"engleski",sh +https://publications.europa.eu/resource/authority/language/ENG,"inglês",pt +https://publications.europa.eu/resource/authority/language/ENG,"engelsk",da +https://publications.europa.eu/resource/authority/language/ENG,"enska",is +https://publications.europa.eu/resource/authority/language/ENG,"angol",hu +https://publications.europa.eu/resource/authority/language/ENG,"Béarla",ga +https://publications.europa.eu/resource/authority/language/ENG,"Ingliż",mt +https://publications.europa.eu/resource/authority/language/ENG,"английски",bg +https://publications.europa.eu/resource/authority/language/ENG,"anglų kalba",lt +https://publications.europa.eu/resource/authority/language/ENG,"angličtina",cs +https://publications.europa.eu/resource/authority/language/ENG,"αγγλικά",el +https://publications.europa.eu/resource/authority/language/ENG,"engelska",sv +https://publications.europa.eu/resource/authority/language/ENG,"англійська мова",uk +https://publications.europa.eu/resource/authority/language/ENG,"angleščina",sl +https://publications.europa.eu/resource/authority/language/ENG,"англиски",mk +https://publications.europa.eu/resource/authority/language/ENG,"englanti",fi +https://publications.europa.eu/resource/authority/language/ENG,"English",en +http://lexvo.org/id/iso639-3/eng,"English",en +https://www.wikidata.org/wiki/Q622527,"self-injury",en +https://www.wikidata.org/wiki/Q2715623,"social network",en +https://publications.europa.eu/resource/authority/language/RUS,"Russisch",de +https://publications.europa.eu/resource/authority/language/RUS,"rusă",ro +https://publications.europa.eu/resource/authority/language/RUS,"russo",pt +https://publications.europa.eu/resource/authority/language/RUS,"vene keel",et +https://publications.europa.eu/resource/authority/language/RUS,"rosyjski",pl +https://publications.europa.eu/resource/authority/language/RUS,"Russu",mt +https://publications.europa.eu/resource/authority/language/RUS,"ruština",sk +https://publications.europa.eu/resource/authority/language/RUS,"російська мова",uk +https://publications.europa.eu/resource/authority/language/RUS,"ruso",es +https://publications.europa.eu/resource/authority/language/RUS,"ryska",sv +https://publications.europa.eu/resource/authority/language/RUS,"russisk",no +https://publications.europa.eu/resource/authority/language/RUS,"руски",bg +https://publications.europa.eu/resource/authority/language/RUS,"Rúisis",ga +https://publications.europa.eu/resource/authority/language/RUS,"russe",fr +https://publications.europa.eu/resource/authority/language/RUS,"russo",it +https://publications.europa.eu/resource/authority/language/RUS,"ruski",sh +https://publications.europa.eu/resource/authority/language/RUS,"russisk",da +https://publications.europa.eu/resource/authority/language/RUS,"Russisch",nl +https://publications.europa.eu/resource/authority/language/RUS,"krievu valoda",lv +https://publications.europa.eu/resource/authority/language/RUS,"rusça",tr +https://publications.europa.eu/resource/authority/language/RUS,"pусский",ru +https://publications.europa.eu/resource/authority/language/RUS,"ruština",cs +https://publications.europa.eu/resource/authority/language/RUS,"ruski",hr +https://publications.europa.eu/resource/authority/language/RUS,"Russian",en +https://publications.europa.eu/resource/authority/language/RUS,"ρωσικά",el +https://publications.europa.eu/resource/authority/language/RUS,"руски",mk +https://publications.europa.eu/resource/authority/language/RUS,"руски",sr +https://publications.europa.eu/resource/authority/language/RUS,"ruščina",sl +https://publications.europa.eu/resource/authority/language/RUS,"venäjä",fi +https://publications.europa.eu/resource/authority/language/RUS,"orosz",hu +https://publications.europa.eu/resource/authority/language/RUS,"rusų kalba",lt +https://publications.europa.eu/resource/authority/language/RUS,"rússneska",is +https://publications.europa.eu/resource/authority/language/RUS,"rušćina",hsb +http://lexvo.org/id/iso639-3/rus,"Russian",en +https://www.wikidata.org/wiki/Q1519843,"health technology",en +http://purl.obolibrary.org/obo/NCIT_C17009,"Poverty",en +http://purl.obolibrary.org/obo/SCDO_0000948,"Quality of Health Care",en +http://purl.obolibrary.org/obo/OMIT_0010070,"Mortality",en +http://purl.obolibrary.org/obo/NCIT_C41150,"Income",en +http://purl.obolibrary.org/obo/NCIT_C25172,"Employed",en +http://purl.obolibrary.org/obo/NCIT_C16696,"Hospital",en +https://www.wikidata.org/wiki/Q53464336,"Airborne Diseases",en +https://www.wikidata.org/wiki/Q7743,"home",en +http://purl.obolibrary.org/obo/OMIT_0013643,"Sexually Transmitted Diseases",en +https://www.wikidata.org/wiki/Q1762591,"periodic health examination",en +https://www.wikidata.org/wiki/Q22907655,"patient experience",en +http://purl.obolibrary.org/obo/MAXO_0000004,"surgical procedure",en +http://purl.obolibrary.org/obo/NCIT_C157935,"Non-Communicable Disorder",en +http://purl.obolibrary.org/obo/OMIT_0010062,"Morbidity",en +https://publications.europa.eu/resource/authority/language/NNO,"norvegiană nynorsk",ro +https://publications.europa.eu/resource/authority/language/NNO,"neonorueguês",pt +https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",en +https://publications.europa.eu/resource/authority/language/NNO,"νορβηγική νίνορσκ",el +https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk Norveġiż",mt +https://publications.europa.eu/resource/authority/language/NNO,"norvég nynorsk",hu +https://publications.europa.eu/resource/authority/language/NNO,"norština (nynorsk)",cs +https://publications.europa.eu/resource/authority/language/NNO,"norweski nynorsk",pl +https://publications.europa.eu/resource/authority/language/NNO,"norska (nynorska)",sv +https://publications.europa.eu/resource/authority/language/NNO,"norvegese nynorsk",it +https://publications.europa.eu/resource/authority/language/NNO,"jaunnorvēģu valoda",lv +https://publications.europa.eu/resource/authority/language/NNO,"novonorveški",hr +https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",es +https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk",de +https://publications.europa.eu/resource/authority/language/NNO,"nórčina (nynorsk)",sk +https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",da +https://publications.europa.eu/resource/authority/language/NNO,"норвежки съвременен",bg +https://publications.europa.eu/resource/authority/language/NNO,"Nua-Ioruais",ga +https://publications.europa.eu/resource/authority/language/NNO,"uusnorja",fi +https://publications.europa.eu/resource/authority/language/NNO,"norvegų niunoškas",lt +https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",nl +https://publications.europa.eu/resource/authority/language/NNO,"norvégien nynorsk",fr +https://publications.europa.eu/resource/authority/language/NNO,"novonorveščina",sl +https://publications.europa.eu/resource/authority/language/NNO,"uusnorra keel",et +https://publications.europa.eu/resource/authority/language/NNO,"норвезька нюнорська мова",uk +http://lexvo.org/id/iso639-3/nno,"Norwegian Nynorsk",en +https://www.wikidata.org/wiki/Q96482267,"vaccination coverage",en +https://www.wikidata.org/wiki/Q6784043,"mass gathering",en +https://www.wikidata.org/wiki/Q193078,"injury",en +https://www.wikidata.org/wiki/Q98299735,"noncommunicable diseases",en +https://www.wikidata.org/wiki/Q506319,"generic drug",en +https://www.wikidata.org/wiki/Q6672123,"long-term care",en +http://purl.obolibrary.org/obo/NCIT_C17953,"Education Level",en +http://purl.obolibrary.org/obo/SCDO_0001088,"Social Support",en +http://purl.obolibrary.org/obo/NCIT_C90384,"Food Consumption",en +https://www.wikidata.org/wiki/Q186360,"nurse",en +https://www.wikidata.org/wiki/Q171558,"accident",en +https://www.wikidata.org/wiki/Q66982216,"health status",en +http://purl.obolibrary.org/obo/OBIB_0000716,"surgical procedure",en +https://www.wikidata.org/wiki/Q5031455,"Cancer survival rates",en +http://purl.obolibrary.org/obo/MFOMD_0000004,"mental disorder",en +http://purl.obolibrary.org/obo/OMIT_0017009,"Drug Costs",en +https://www.wikidata.org/wiki/Q1814351,"public health intervention",en +http://purl.obolibrary.org/obo/OMIT_0002889,"Behavior",en +https://www.wikidata.org/wiki/Q28885102,"pharmaceutical product",en +https://publications.europa.eu/resource/authority/language/NLD,"nižozemšćina",hsb +https://publications.europa.eu/resource/authority/language/NLD,"hollenska",is +https://publications.europa.eu/resource/authority/language/NLD,"nyderlandų kalba",lt +https://publications.europa.eu/resource/authority/language/NLD,"Olandiż",mt +https://publications.europa.eu/resource/authority/language/NLD,"Ollainnis",ga +https://publications.europa.eu/resource/authority/language/NLD,"niderlandzki",pl +https://publications.europa.eu/resource/authority/language/NLD,"holandski",sh +https://publications.europa.eu/resource/authority/language/NLD,"hollandaca",tr +https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",da +https://publications.europa.eu/resource/authority/language/NLD,"холандски",mk +https://publications.europa.eu/resource/authority/language/NLD,"Dutch",en +https://publications.europa.eu/resource/authority/language/NLD,"nederländska",sv +https://publications.europa.eu/resource/authority/language/NLD,"neerlandês",pt +https://publications.europa.eu/resource/authority/language/NLD,"néerlandais",fr +https://publications.europa.eu/resource/authority/language/NLD,"holandiešu valoda",lv +https://publications.europa.eu/resource/authority/language/NLD,"nizozemština",cs +https://publications.europa.eu/resource/authority/language/NLD,"holland",hu +https://publications.europa.eu/resource/authority/language/NLD,"neerlandeză",ro +https://publications.europa.eu/resource/authority/language/NLD,"холандски",sr +https://publications.europa.eu/resource/authority/language/NLD,"nizozemski",hr +https://publications.europa.eu/resource/authority/language/NLD,"нидерландски",bg +https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",no +https://publications.europa.eu/resource/authority/language/NLD,"ολλανδικά",el +https://publications.europa.eu/resource/authority/language/NLD,"нідерландська мова",uk +https://publications.europa.eu/resource/authority/language/NLD,"holandčina",sk +https://publications.europa.eu/resource/authority/language/NLD,"nizozemščina",sl +https://publications.europa.eu/resource/authority/language/NLD,"Nederlands",nl +https://publications.europa.eu/resource/authority/language/NLD,"neerlandés",es +https://publications.europa.eu/resource/authority/language/NLD,"Niederländisch",de +https://publications.europa.eu/resource/authority/language/NLD,"hollandi keel",et +https://publications.europa.eu/resource/authority/language/NLD,"нидерландский",ru +https://publications.europa.eu/resource/authority/language/NLD,"neerlandese",it +https://publications.europa.eu/resource/authority/language/NLD,"hollanti",fi +http://lexvo.org/id/iso639-3/nld,"Dutch",en +http://purl.obolibrary.org/obo/SCDO_0000493,"Health Service Utilization",en +https://www.wikidata.org/wiki/Q389735,"cardiovascular disease",en +https://www.wikidata.org/wiki/Q105252400,"vaccine acceptance",en +http://purl.obolibrary.org/obo/SCDO_0000414,"Education",en +https://www.wikidata.org/wiki/Q11000047,"health system",en +http://purl.obolibrary.org/obo/NCIT_C16877,"Morbidity",en +http://purl.obolibrary.org/obo/OMIT_0027917,"Patient Safety",en +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Υγεία",el +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdrowie",pl +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravje",sl +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salute",it +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saúde",pt +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Santé",fr +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Terveys",fi +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sveikata",lt +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Здраве",bg +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sláinte",ga +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Hälsa",sv +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salud",es +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdraví",cs +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravotníctvo",sk +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nn +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sundhed",da +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Veselība",lv +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nb +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravlje",hr +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gesundheit",de +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sănătate",ro +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Tervis",et +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saħħa",mt +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Egészségügy",hu +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gezondheid",nl +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",no +http://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en +https://www.wikidata.org/wiki/Q67171878,"tobacco use",en +https://www.wikidata.org/wiki/Q59283414,"health care costs",en +https://www.wikidata.org/wiki/Q13579947,"misinformation",en http://purl.obolibrary.org/obo/OMIT_0001080,"Accidents, Traffic",en -http://purl.obolibrary.org/obo/OMRSE_00000013,physician role,en -http://purl.obolibrary.org/obo/NCIT_C18059,Tobacco Use,en -http://purl.obolibrary.org/obo/NCIT_C16729,Infant Mortality,en -http://purl.obolibrary.org/obo/NCIT_C20821,Nurse,en -https://www.wikidata.org/wiki/Q12174,obesity,en -https://publications.europa.eu/resource/authority/language/SRP,сръбски,bg -https://publications.europa.eu/resource/authority/language/SRP,Serbisch,de -https://publications.europa.eu/resource/authority/language/SRP,serbia,fi -https://publications.europa.eu/resource/authority/language/SRP,serbo,it -https://publications.europa.eu/resource/authority/language/SRP,Servisch,nl -https://publications.europa.eu/resource/authority/language/SRP,serbu valoda,lv -https://publications.europa.eu/resource/authority/language/SRP,Serbian,en -https://publications.europa.eu/resource/authority/language/SRP,Serb,mt -https://publications.europa.eu/resource/authority/language/SRP,srpski,sh -https://publications.europa.eu/resource/authority/language/SRP,srbština,cs -https://publications.europa.eu/resource/authority/language/SRP,srbčina,sk -https://publications.europa.eu/resource/authority/language/SRP,serbų kalba,lt -https://publications.europa.eu/resource/authority/language/SRP,сербский,ru -https://publications.europa.eu/resource/authority/language/SRP,sérvio,pt -https://publications.europa.eu/resource/authority/language/SRP,serbski,pl -https://publications.europa.eu/resource/authority/language/SRP,sırpça,tr -https://publications.europa.eu/resource/authority/language/SRP,сербська мова,uk -https://publications.europa.eu/resource/authority/language/SRP,srbščina,sl -https://publications.europa.eu/resource/authority/language/SRP,serbneska,is -https://publications.europa.eu/resource/authority/language/SRP,српски,mk -https://publications.europa.eu/resource/authority/language/SRP,serbiska,sv -https://publications.europa.eu/resource/authority/language/SRP,serbio,es -https://publications.europa.eu/resource/authority/language/SRP,Seirbis,ga -https://publications.europa.eu/resource/authority/language/SRP,sârbă,ro -https://publications.europa.eu/resource/authority/language/SRP,srpski,hr -https://publications.europa.eu/resource/authority/language/SRP,szerb,hu -https://publications.europa.eu/resource/authority/language/SRP,serbisk,da -https://publications.europa.eu/resource/authority/language/SRP,serbisk,no -https://publications.europa.eu/resource/authority/language/SRP,serbe,fr -https://publications.europa.eu/resource/authority/language/SRP,serbišćina,hsb -https://publications.europa.eu/resource/authority/language/SRP,serbia keel,et -https://publications.europa.eu/resource/authority/language/SRP,σερβικά,el -https://publications.europa.eu/resource/authority/language/SRP,српски,sr -http://lexvo.org/id/iso639-3/srp,Serbian,en -http://purl.obolibrary.org/obo/OMIT_0007885,Hospital Bed Capacity,en -http://purl.obolibrary.org/obo/OPMI_0000482,medical visit,en -http://purl.obolibrary.org/obo/APOLLO_SV_00000550,contact tracing,en -http://purl.obolibrary.org/obo/NCIT_C128353,Airborne Transmission,en -https://www.wikidata.org/wiki/Q142259,hospital bed,en -https://publications.europa.eu/resource/authority/language/MLT,maltesiska,sv -https://publications.europa.eu/resource/authority/language/MLT,maltiečių kalba,lt -https://publications.europa.eu/resource/authority/language/MLT,Maltese,en -https://publications.europa.eu/resource/authority/language/MLT,maltais,fr -https://publications.europa.eu/resource/authority/language/MLT,máltai,hu -https://publications.europa.eu/resource/authority/language/MLT,malteză,ro -https://publications.europa.eu/resource/authority/language/MLT,Malti,mt -https://publications.europa.eu/resource/authority/language/MLT,maltés,es -https://publications.europa.eu/resource/authority/language/MLT,maltčina,sk -https://publications.europa.eu/resource/authority/language/MLT,малтешки,sr -https://publications.europa.eu/resource/authority/language/MLT,malteški,sh -https://publications.europa.eu/resource/authority/language/MLT,maltiešu valoda,lv -https://publications.europa.eu/resource/authority/language/MLT,мальтийский,ru -https://publications.europa.eu/resource/authority/language/MLT,malta,fi -https://publications.europa.eu/resource/authority/language/MLT,малтешки,mk -https://publications.europa.eu/resource/authority/language/MLT,maltaca,tr -https://publications.europa.eu/resource/authority/language/MLT,malteščina,sl -https://publications.europa.eu/resource/authority/language/MLT,maltašćina,hsb -https://publications.europa.eu/resource/authority/language/MLT,maltština,cs -https://publications.europa.eu/resource/authority/language/MLT,maltese,it -https://publications.europa.eu/resource/authority/language/MLT,maltesisk,no -https://publications.europa.eu/resource/authority/language/MLT,malta keel,et -https://publications.europa.eu/resource/authority/language/MLT,малтийски,bg -https://publications.europa.eu/resource/authority/language/MLT,maltês,pt -https://publications.europa.eu/resource/authority/language/MLT,maltneska,is -https://publications.europa.eu/resource/authority/language/MLT,μαλτέζικα,el -https://publications.europa.eu/resource/authority/language/MLT,malteški,hr -https://publications.europa.eu/resource/authority/language/MLT,maltesisk,da -https://publications.europa.eu/resource/authority/language/MLT,maltański,pl -https://publications.europa.eu/resource/authority/language/MLT,Maltees,nl -https://publications.europa.eu/resource/authority/language/MLT,мальтійська мова,uk -https://publications.europa.eu/resource/authority/language/MLT,Máltais,ga -https://publications.europa.eu/resource/authority/language/MLT,Maltesisch,de -http://lexvo.org/id/iso639-3/mlt,Maltese,en -http://purl.obolibrary.org/obo/NCIT_C15406,Cancer Screening,en -https://publications.europa.eu/resource/authority/language/SWE,шведски,bg -https://publications.europa.eu/resource/authority/language/SWE,Schwedisch,de -https://publications.europa.eu/resource/authority/language/SWE,шведски,sr -https://publications.europa.eu/resource/authority/language/SWE,rootsi keel,et -https://publications.europa.eu/resource/authority/language/SWE,svenska,sv -https://publications.europa.eu/resource/authority/language/SWE,sænska,is -https://publications.europa.eu/resource/authority/language/SWE,шведский,ru -https://publications.europa.eu/resource/authority/language/SWE,suédois,fr -https://publications.europa.eu/resource/authority/language/SWE,ruotsi,fi -https://publications.europa.eu/resource/authority/language/SWE,Swedish,en -https://publications.europa.eu/resource/authority/language/SWE,svedese,it -https://publications.europa.eu/resource/authority/language/SWE,ısveççe,tr -https://publications.europa.eu/resource/authority/language/SWE,svensk,da -https://publications.europa.eu/resource/authority/language/SWE,sueco,pt -https://publications.europa.eu/resource/authority/language/SWE,suedeză,ro -https://publications.europa.eu/resource/authority/language/SWE,Sualainnis,ga -https://publications.europa.eu/resource/authority/language/SWE,шведська мова,uk -https://publications.europa.eu/resource/authority/language/SWE,švedščina,sl -https://publications.europa.eu/resource/authority/language/SWE,szwedzki,pl -https://publications.europa.eu/resource/authority/language/SWE,svéd,hu -https://publications.europa.eu/resource/authority/language/SWE,švedų kalba,lt -https://publications.europa.eu/resource/authority/language/SWE,шведски,mk -https://publications.europa.eu/resource/authority/language/SWE,Zweeds,nl -https://publications.europa.eu/resource/authority/language/SWE,švedski,hr -https://publications.europa.eu/resource/authority/language/SWE,šwedšćina,hsb -https://publications.europa.eu/resource/authority/language/SWE,švedski,sh -https://publications.europa.eu/resource/authority/language/SWE,švédčina,sk -https://publications.europa.eu/resource/authority/language/SWE,Svediż,mt -https://publications.europa.eu/resource/authority/language/SWE,švédština,cs -https://publications.europa.eu/resource/authority/language/SWE,zviedru valoda,lv -https://publications.europa.eu/resource/authority/language/SWE,σουηδικά,el -https://publications.europa.eu/resource/authority/language/SWE,sueco,es -https://publications.europa.eu/resource/authority/language/SWE,svensk,no -http://lexvo.org/id/iso639-3/swe,Swedish,en -http://purl.obolibrary.org/obo/OMIT_0004449,Communicable Diseases,en -https://www.wikidata.org/wiki/Q84263196,COVID-19,en -http://purl.obolibrary.org/obo/NCIT_C16205,Healthcare Activity,en -http://purl.obolibrary.org/obo/OMIT_0016881,Contact Tracing,en -https://www.wikidata.org/wiki/Q3706138,determinants of health,en -http://purl.obolibrary.org/obo/OBI_1110053,cancer,en -https://www.wikidata.org/wiki/Q110207349,psychoactive drug use,en -https://www.wikidata.org/wiki/Q42138532,genetic characteristic,en -http://purl.obolibrary.org/obo/NCIT_C2985,Diabetes Mellitus,en -https://www.wikidata.org/wiki/Q16917,hospital,en -http://purl.obolibrary.org/obo/NCIT_C173747,Protective Face Mask,en -https://publications.europa.eu/resource/authority/language/SLV,словенски,bg -https://publications.europa.eu/resource/authority/language/SLV,slovēņu valoda,lv -https://publications.europa.eu/resource/authority/language/SLV,slovensk,da -https://publications.europa.eu/resource/authority/language/SLV,slóvenska,is -https://publications.europa.eu/resource/authority/language/SLV,esloveno,pt -https://publications.europa.eu/resource/authority/language/SLV,Sloven,mt -https://publications.europa.eu/resource/authority/language/SLV,Slóivéinis,ga -https://publications.europa.eu/resource/authority/language/SLV,словенська мова,uk -https://publications.europa.eu/resource/authority/language/SLV,sloveno,it -https://publications.europa.eu/resource/authority/language/SLV,slovensk,no -https://publications.europa.eu/resource/authority/language/SLV,slovence,tr -https://publications.europa.eu/resource/authority/language/SLV,Sloveens,nl -https://publications.europa.eu/resource/authority/language/SLV,slovenski,sh -https://publications.europa.eu/resource/authority/language/SLV,sloveenia keel,et -https://publications.europa.eu/resource/authority/language/SLV,slovėnų kalba,lt -https://publications.europa.eu/resource/authority/language/SLV,słoweński,pl -https://publications.europa.eu/resource/authority/language/SLV,словеначки,sr -https://publications.europa.eu/resource/authority/language/SLV,σλοβενικά,el -https://publications.europa.eu/resource/authority/language/SLV,slovenă,ro -https://publications.europa.eu/resource/authority/language/SLV,Slowenisch,de -https://publications.europa.eu/resource/authority/language/SLV,słowjenšćina,hsb -https://publications.europa.eu/resource/authority/language/SLV,slovenski,hr -https://publications.europa.eu/resource/authority/language/SLV,slovinčina,sk -https://publications.europa.eu/resource/authority/language/SLV,словенечки,mk -https://publications.europa.eu/resource/authority/language/SLV,Slovenian,en -https://publications.europa.eu/resource/authority/language/SLV,esloveno,es -https://publications.europa.eu/resource/authority/language/SLV,slovenska,sv -https://publications.europa.eu/resource/authority/language/SLV,slovinština,cs -https://publications.europa.eu/resource/authority/language/SLV,словенский,ru -https://publications.europa.eu/resource/authority/language/SLV,szlovén,hu -https://publications.europa.eu/resource/authority/language/SLV,slovène,fr -https://publications.europa.eu/resource/authority/language/SLV,slovenščina,sl -https://publications.europa.eu/resource/authority/language/SLV,sloveeni,fi -http://lexvo.org/id/iso639-3/slv,Slovenian,en -https://www.wikidata.org/wiki/Q1128437,contact tracing,en -https://www.wikidata.org/wiki/Q3044843,cancer screening,en -https://publications.europa.eu/resource/authority/language/POL,Polainnis,ga -https://publications.europa.eu/resource/authority/language/POL,полски,mk -https://publications.europa.eu/resource/authority/language/POL,polacco,it -https://publications.europa.eu/resource/authority/language/POL,Pools,nl -https://publications.europa.eu/resource/authority/language/POL,polaco,es -https://publications.europa.eu/resource/authority/language/POL,Polnisch,de -https://publications.europa.eu/resource/authority/language/POL,пољски,sr -https://publications.europa.eu/resource/authority/language/POL,πολωνικά,el -https://publications.europa.eu/resource/authority/language/POL,pólšćina,hsb -https://publications.europa.eu/resource/authority/language/POL,polsk,da -https://publications.europa.eu/resource/authority/language/POL,polonais,fr -https://publications.europa.eu/resource/authority/language/POL,poljščina,sl -https://publications.europa.eu/resource/authority/language/POL,lenkų kalba,lt -https://publications.europa.eu/resource/authority/language/POL,polski,pl -https://publications.europa.eu/resource/authority/language/POL,poļu valoda,lv -https://publications.europa.eu/resource/authority/language/POL,poola keel,et -https://publications.europa.eu/resource/authority/language/POL,pólska,is -https://publications.europa.eu/resource/authority/language/POL,polština,cs -https://publications.europa.eu/resource/authority/language/POL,польська мова,uk -https://publications.europa.eu/resource/authority/language/POL,poljski,sh -https://publications.europa.eu/resource/authority/language/POL,puola,fi -https://publications.europa.eu/resource/authority/language/POL,polaco,pt -https://publications.europa.eu/resource/authority/language/POL,polsk,no -https://publications.europa.eu/resource/authority/language/POL,полски,bg -https://publications.europa.eu/resource/authority/language/POL,polonă,ro -https://publications.europa.eu/resource/authority/language/POL,lengyel,hu -https://publications.europa.eu/resource/authority/language/POL,польский,ru -https://publications.europa.eu/resource/authority/language/POL,poľština,sk -https://publications.europa.eu/resource/authority/language/POL,lehçe,tr -https://publications.europa.eu/resource/authority/language/POL,poljski,hr -https://publications.europa.eu/resource/authority/language/POL,polska,sv -https://publications.europa.eu/resource/authority/language/POL,Pollakk,mt -https://publications.europa.eu/resource/authority/language/POL,Polish,en -http://lexvo.org/id/iso639-3/pol,Polish,en -https://www.wikidata.org/wiki/Q39631,physician,en -https://www.wikidata.org/wiki/Q82642,blood pressure,en -http://purl.obolibrary.org/obo/OBI_0000844,obsolete hospital,en -https://www.wikidata.org/wiki/Q2647488,alcohol consumption,en -http://purl.obolibrary.org/obo/IDOMAL_0000023,zoonotic,en -https://www.wikidata.org/wiki/Q4927522,blood-borne disease,en -https://publications.europa.eu/resource/authority/language/HUN,maďarčina,sk -https://publications.europa.eu/resource/authority/language/HUN,ουγγρικά,el -https://publications.europa.eu/resource/authority/language/HUN,ungāru valoda,lv -https://publications.europa.eu/resource/authority/language/HUN,Hungarian,en -https://publications.europa.eu/resource/authority/language/HUN,Ungarisch,de -https://publications.europa.eu/resource/authority/language/HUN,ungari keel,et -https://publications.europa.eu/resource/authority/language/HUN,ungherese,it -https://publications.europa.eu/resource/authority/language/HUN,Ungeriż,mt -https://publications.europa.eu/resource/authority/language/HUN,maďarština,cs -https://publications.europa.eu/resource/authority/language/HUN,ungverska,is -https://publications.europa.eu/resource/authority/language/HUN,унгарски,bg -https://publications.europa.eu/resource/authority/language/HUN,унгарски,mk -https://publications.europa.eu/resource/authority/language/HUN,węgierski,pl -https://publications.europa.eu/resource/authority/language/HUN,Ungáiris,ga -https://publications.europa.eu/resource/authority/language/HUN,mađarski,sh -https://publications.europa.eu/resource/authority/language/HUN,vengrų kalba,lt -https://publications.europa.eu/resource/authority/language/HUN,macarca,tr -https://publications.europa.eu/resource/authority/language/HUN,Hongaars,nl -https://publications.europa.eu/resource/authority/language/HUN,hongrois,fr -https://publications.europa.eu/resource/authority/language/HUN,madźaršćina,hsb -https://publications.europa.eu/resource/authority/language/HUN,unkari,fi -https://publications.europa.eu/resource/authority/language/HUN,ungarsk,no -https://publications.europa.eu/resource/authority/language/HUN,húngaro,es -https://publications.europa.eu/resource/authority/language/HUN,magyar,hu -https://publications.europa.eu/resource/authority/language/HUN,ungarsk,da -https://publications.europa.eu/resource/authority/language/HUN,mađarski,hr -https://publications.europa.eu/resource/authority/language/HUN,угорська мова,uk -https://publications.europa.eu/resource/authority/language/HUN,húngaro,pt -https://publications.europa.eu/resource/authority/language/HUN,мађарски,sr -https://publications.europa.eu/resource/authority/language/HUN,maghiară,ro -https://publications.europa.eu/resource/authority/language/HUN,венгерский,ru -https://publications.europa.eu/resource/authority/language/HUN,ungerska,sv -https://publications.europa.eu/resource/authority/language/HUN,madžarščina,sl -http://lexvo.org/id/iso639-3/hun,Hungarian,en -http://purl.obolibrary.org/obo/OMIT_0012168,Poverty,en -http://purl.obolibrary.org/obo/OMIT_0008353,Infant Mortality,en -http://purl.obolibrary.org/obo/MFOMD_0000001,mental disease,en -https://www.wikidata.org/wiki/Q12135,mental disorder,en -http://purl.obolibrary.org/obo/VO_0000809,vaccination coverage,en -http://purl.obolibrary.org/obo/OMIT_0003154,Blood Pressure,en -http://purl.obolibrary.org/obo/OMIT_0024293,Overweight,en -http://semanticscience.org/resource/SIO_001022,diagnostic test,en -https://publications.europa.eu/resource/authority/language/HRV,croată,ro -https://publications.europa.eu/resource/authority/language/HRV,Kroatisch,de -https://publications.europa.eu/resource/authority/language/HRV,horvaadi keel,et -https://publications.europa.eu/resource/authority/language/HRV,κροατικά,el -https://publications.europa.eu/resource/authority/language/HRV,хорватська мова,uk -https://publications.europa.eu/resource/authority/language/HRV,хрватски,sr -https://publications.europa.eu/resource/authority/language/HRV,hırvatça,tr -https://publications.europa.eu/resource/authority/language/HRV,kroatisk,no -https://publications.europa.eu/resource/authority/language/HRV,Kroatisch,nl -https://publications.europa.eu/resource/authority/language/HRV,croata,es -https://publications.europa.eu/resource/authority/language/HRV,Cróitis,ga -https://publications.europa.eu/resource/authority/language/HRV,chorwatšćina,hsb -https://publications.europa.eu/resource/authority/language/HRV,hrvaščina,sl -https://publications.europa.eu/resource/authority/language/HRV,kroatisk,da -https://publications.europa.eu/resource/authority/language/HRV,króatíska,is -https://publications.europa.eu/resource/authority/language/HRV,croate,fr -https://publications.europa.eu/resource/authority/language/HRV,chorvátčina,sk -https://publications.europa.eu/resource/authority/language/HRV,kroatiska,sv -https://publications.europa.eu/resource/authority/language/HRV,Kroat,mt -https://publications.europa.eu/resource/authority/language/HRV,kroatų kalba,lt -https://publications.europa.eu/resource/authority/language/HRV,хорватский,ru -https://publications.europa.eu/resource/authority/language/HRV,croato,it -https://publications.europa.eu/resource/authority/language/HRV,хърватски,bg -https://publications.europa.eu/resource/authority/language/HRV,kroatia,fi -https://publications.europa.eu/resource/authority/language/HRV,horvātu valoda,lv -https://publications.europa.eu/resource/authority/language/HRV,croata,pt -https://publications.europa.eu/resource/authority/language/HRV,chorwacki,pl -https://publications.europa.eu/resource/authority/language/HRV,horvát,hu -https://publications.europa.eu/resource/authority/language/HRV,хрватски,mk -https://publications.europa.eu/resource/authority/language/HRV,hrvatski,sh -https://publications.europa.eu/resource/authority/language/HRV,chorvatština,cs -https://publications.europa.eu/resource/authority/language/HRV,hrvatski,hr -https://publications.europa.eu/resource/authority/language/HRV,Croatian,en -http://lexvo.org/id/iso639-3/hrv,Croatian,en -http://purl.obolibrary.org/obo/GSSO_009380,health care quality,en -https://www.wikidata.org/wiki/Q94298961,Medical Appointment,en -https://www.wikidata.org/wiki/Q3137154,non-communicable disease,en -http://purl.obolibrary.org/obo/SCDO_0001090,Socioeconomic Factors,en -http://purl.obolibrary.org/obo/IDO_0000436,infectious disease,en -https://www.wikidata.org/wiki/Q43656,cholesterol,en -http://purl.obolibrary.org/obo/OMIT_0022422,Maternal-Fetal Relations,en -http://purl.obolibrary.org/obo/OMIT_0013818,Social Environment,en -https://www.wikidata.org/wiki/Q3286546,respiratory disease,en -https://publications.europa.eu/resource/authority/language/ITA,Italian,en -https://publications.europa.eu/resource/authority/language/ITA,olasz,hu -https://publications.europa.eu/resource/authority/language/ITA,talijanski,hr -https://publications.europa.eu/resource/authority/language/ITA,italiano,es -https://publications.europa.eu/resource/authority/language/ITA,итальянский,ru -https://publications.europa.eu/resource/authority/language/ITA,italien,fr -https://publications.europa.eu/resource/authority/language/ITA,italijanščina,sl -https://publications.europa.eu/resource/authority/language/ITA,ıtalyanca,tr -https://publications.europa.eu/resource/authority/language/ITA,ítalska,is -https://publications.europa.eu/resource/authority/language/ITA,italiano,it -https://publications.europa.eu/resource/authority/language/ITA,italiano,pt -https://publications.europa.eu/resource/authority/language/ITA,italšćina,hsb -https://publications.europa.eu/resource/authority/language/ITA,itaalia keel,et -https://publications.europa.eu/resource/authority/language/ITA,italiensk,da -https://publications.europa.eu/resource/authority/language/ITA,італійська мова,uk -https://publications.europa.eu/resource/authority/language/ITA,italienska,sv -https://publications.europa.eu/resource/authority/language/ITA,italiensk,no -https://publications.europa.eu/resource/authority/language/ITA,italia,fi -https://publications.europa.eu/resource/authority/language/ITA,italština,cs -https://publications.europa.eu/resource/authority/language/ITA,ιταλικά,el -https://publications.europa.eu/resource/authority/language/ITA,Italiaans,nl -https://publications.europa.eu/resource/authority/language/ITA,italijanski,sh -https://publications.europa.eu/resource/authority/language/ITA,taliančina,sk -https://publications.europa.eu/resource/authority/language/ITA,италијански,sr -https://publications.europa.eu/resource/authority/language/ITA,włoski,pl -https://publications.europa.eu/resource/authority/language/ITA,Taljan,mt -https://publications.europa.eu/resource/authority/language/ITA,италиански,bg -https://publications.europa.eu/resource/authority/language/ITA,italų kalba,lt -https://publications.europa.eu/resource/authority/language/ITA,Iodáilis,ga -https://publications.europa.eu/resource/authority/language/ITA,itāļu valoda,lv -https://publications.europa.eu/resource/authority/language/ITA,италијански,mk -https://publications.europa.eu/resource/authority/language/ITA,Italienisch,de -https://publications.europa.eu/resource/authority/language/ITA,italiană,ro -http://lexvo.org/id/iso639-3/ita,Italian,en -http://purl.obolibrary.org/obo/SCDO_0001082,Social Environment,en -https://www.wikidata.org/wiki/Q7981051,well-being,en -https://www.wikidata.org/wiki/Q1367554,morbidity,en -http://edamontology.org/topic_3324,Infectious disease,en -http://purl.obolibrary.org/obo/TRANS_0000009,airborne transmission,en -http://purl.obolibrary.org/obo/OMIABIS_0001041,surgical procedure,en -http://purl.obolibrary.org/obo/GSSO_006598,self-injury,en -https://www.wikidata.org/wiki/Q11024,communication,en -https://www.wikidata.org/wiki/Q95439933,Vaccine-preventable Diseases,en -http://purl.obolibrary.org/obo/NCIT_C25193,Occupation,en -https://www.wikidata.org/wiki/Q835884,infant mortality,en -http://purl.obolibrary.org/obo/SCDO_0000496,Healthcare Access,en -http://purl.obolibrary.org/obo/OMIT_0007941,Housing,en -http://purl.obolibrary.org/obo/OHD_0000005,surgical procedure,en -http://purl.obolibrary.org/obo/SCDO_0000494,Health System,en -https://publications.europa.eu/resource/authority/language/SPA,spanyol,hu -https://publications.europa.eu/resource/authority/language/SPA,spansk,da -https://publications.europa.eu/resource/authority/language/SPA,Spanish,en -https://publications.europa.eu/resource/authority/language/SPA,Spanjol,mt -https://publications.europa.eu/resource/authority/language/SPA,Spaans,nl -https://publications.europa.eu/resource/authority/language/SPA,испанский,ru -https://publications.europa.eu/resource/authority/language/SPA,španščina,sl -https://publications.europa.eu/resource/authority/language/SPA,španielčina,sk -https://publications.europa.eu/resource/authority/language/SPA,hiszpański,pl -https://publications.europa.eu/resource/authority/language/SPA,spanska,sv -https://publications.europa.eu/resource/authority/language/SPA,Spanisch,de -https://publications.europa.eu/resource/authority/language/SPA,španski,sh -https://publications.europa.eu/resource/authority/language/SPA,ispanų kalba,lt -https://publications.europa.eu/resource/authority/language/SPA,испански,bg -https://publications.europa.eu/resource/authority/language/SPA,іспанська мова,uk -https://publications.europa.eu/resource/authority/language/SPA,espanhol,pt -https://publications.europa.eu/resource/authority/language/SPA,španělština,cs -https://publications.europa.eu/resource/authority/language/SPA,spænska,is -https://publications.europa.eu/resource/authority/language/SPA,шпански,mk -https://publications.europa.eu/resource/authority/language/SPA,spaniolă,ro -https://publications.europa.eu/resource/authority/language/SPA,španišćina,hsb -https://publications.europa.eu/resource/authority/language/SPA,španjolski,hr -https://publications.europa.eu/resource/authority/language/SPA,шпански,sr -https://publications.europa.eu/resource/authority/language/SPA,hispaania keel,et -https://publications.europa.eu/resource/authority/language/SPA,español,es -https://publications.europa.eu/resource/authority/language/SPA,spansk,no -https://publications.europa.eu/resource/authority/language/SPA,espanja,fi -https://publications.europa.eu/resource/authority/language/SPA,spāņu valoda,lv -https://publications.europa.eu/resource/authority/language/SPA,spagnolo,it -https://publications.europa.eu/resource/authority/language/SPA,ισπανικά,el -https://publications.europa.eu/resource/authority/language/SPA,espagnol,fr -https://publications.europa.eu/resource/authority/language/SPA,ıspanyolca,tr -https://publications.europa.eu/resource/authority/language/SPA,Spáinnis,ga -http://lexvo.org/id/iso639-3/spa,Spanish,en -https://www.wikidata.org/wiki/Q12198,sexually transmitted infection,en -http://purl.obolibrary.org/obo/NCIT_C16273,Alcohol Consumption,en -http://purl.obolibrary.org/obo/APOLLO_SV_00000239,infectious disease,en -https://www.wikidata.org/wiki/Q1475557,patient safety,en -https://www.wikidata.org/wiki/Q188419,life expectancy,en -https://www.wikidata.org/wiki/Q1571836,social environment,en -https://www.wikidata.org/wiki/Q189656,disinformation,en -https://www.wikidata.org/wiki/Q12131,disability,en -http://purl.obolibrary.org/obo/NCIT_C173636,Social Distancing,en -https://www.wikidata.org/wiki/Q180910,leisure,en -http://purl.obolibrary.org/obo/OBI_1110040,infectious disease,en -https://publications.europa.eu/resource/authority/language/LAV,lett,hu -https://publications.europa.eu/resource/authority/language/LAV,letão,pt -https://publications.europa.eu/resource/authority/language/LAV,letton,fr -https://publications.europa.eu/resource/authority/language/LAV,Laitvis,ga -https://publications.europa.eu/resource/authority/language/LAV,łotewski,pl -https://publications.europa.eu/resource/authority/language/LAV,läti keel,et -https://publications.europa.eu/resource/authority/language/LAV,lettone,it -https://publications.europa.eu/resource/authority/language/LAV,latvių kalba,lt -https://publications.europa.eu/resource/authority/language/LAV,letišćina,hsb -https://publications.europa.eu/resource/authority/language/LAV,латиська мова,uk -https://publications.europa.eu/resource/authority/language/LAV,letón,es -https://publications.europa.eu/resource/authority/language/LAV,lettneska,is -https://publications.europa.eu/resource/authority/language/LAV,latvia,fi -https://publications.europa.eu/resource/authority/language/LAV,латышский,ru -https://publications.europa.eu/resource/authority/language/LAV,Latvian,en -https://publications.europa.eu/resource/authority/language/LAV,latviešu valoda,lv -https://publications.europa.eu/resource/authority/language/LAV,lettiska,sv -https://publications.europa.eu/resource/authority/language/LAV,letonca,tr -https://publications.europa.eu/resource/authority/language/LAV,летонски,sr -https://publications.europa.eu/resource/authority/language/LAV,letonă,ro -https://publications.europa.eu/resource/authority/language/LAV,Latvjan,mt -https://publications.europa.eu/resource/authority/language/LAV,lotyština,cs -https://publications.europa.eu/resource/authority/language/LAV,lettisk,da -https://publications.europa.eu/resource/authority/language/LAV,latvisk,no -https://publications.europa.eu/resource/authority/language/LAV,Lets,nl -https://publications.europa.eu/resource/authority/language/LAV,letonski,sh -https://publications.europa.eu/resource/authority/language/LAV,lotyština,sk -https://publications.europa.eu/resource/authority/language/LAV,латвийски,bg -https://publications.europa.eu/resource/authority/language/LAV,latvijščina,sl -https://publications.europa.eu/resource/authority/language/LAV,λετονικά,el -https://publications.europa.eu/resource/authority/language/LAV,latvijski,hr -https://publications.europa.eu/resource/authority/language/LAV,латвиски,mk -https://publications.europa.eu/resource/authority/language/LAV,Lettisch,de -http://lexvo.org/id/iso639-3/lav,Latvian,en -http://purl.obolibrary.org/obo/GSSO_006601,substance use,en -http://id.loc.gov/vocabulary/iso639-1/en,English,en -http://id.loc.gov/vocabulary/iso639-1/en,anglais,fr -http://id.loc.gov/vocabulary/iso639-1/en,Englisch,de -http://id.loc.gov/vocabulary/iso639-1/de,German,en -http://id.loc.gov/vocabulary/iso639-1/nl,Dutch,en -https://www.wikidata.org/wiki/Q10294,poverty,en -https://publications.europa.eu/resource/authority/language/FRA,francuski,sh -https://publications.europa.eu/resource/authority/language/FRA,fransk,da -https://publications.europa.eu/resource/authority/language/FRA,fransk,no -https://publications.europa.eu/resource/authority/language/FRA,francúzština,sk -https://publications.europa.eu/resource/authority/language/FRA,френски,bg -https://publications.europa.eu/resource/authority/language/FRA,francuski,hr -https://publications.europa.eu/resource/authority/language/FRA,prancūzų kalba,lt -https://publications.europa.eu/resource/authority/language/FRA,francese,it -https://publications.europa.eu/resource/authority/language/FRA,francês,pt -https://publications.europa.eu/resource/authority/language/FRA,French,en -https://publications.europa.eu/resource/authority/language/FRA,ranska,fi -https://publications.europa.eu/resource/authority/language/FRA,francés,es -https://publications.europa.eu/resource/authority/language/FRA,franska,is -https://publications.europa.eu/resource/authority/language/FRA,francuski,pl -https://publications.europa.eu/resource/authority/language/FRA,fransızca,tr -https://publications.europa.eu/resource/authority/language/FRA,Französisch,de -https://publications.europa.eu/resource/authority/language/FRA,французька мова,uk -https://publications.europa.eu/resource/authority/language/FRA,Frans,nl -https://publications.europa.eu/resource/authority/language/FRA,французский,ru -https://publications.europa.eu/resource/authority/language/FRA,Fraincis,ga -https://publications.europa.eu/resource/authority/language/FRA,γαλλικά,el -https://publications.europa.eu/resource/authority/language/FRA,Franċiż,mt -https://publications.europa.eu/resource/authority/language/FRA,franču valoda,lv -https://publications.europa.eu/resource/authority/language/FRA,francouzština,cs -https://publications.europa.eu/resource/authority/language/FRA,француски,mk -https://publications.europa.eu/resource/authority/language/FRA,franska,sv -https://publications.europa.eu/resource/authority/language/FRA,француски,sr -https://publications.europa.eu/resource/authority/language/FRA,franceză,ro -https://publications.europa.eu/resource/authority/language/FRA,francia,hu -https://publications.europa.eu/resource/authority/language/FRA,francošćina,hsb -https://publications.europa.eu/resource/authority/language/FRA,français,fr -https://publications.europa.eu/resource/authority/language/FRA,prantsuse keel,et -https://publications.europa.eu/resource/authority/language/FRA,francoščina,sl -http://lexvo.org/id/iso639-3/fra,French,en -https://www.wikidata.org/wiki/Q332428,overweight,en -https://www.wikidata.org/wiki/Q7907939,vaccine-preventable diseases,en -https://www.wikidata.org/wiki/Q1247867,housing,en -http://purl.obolibrary.org/obo/OMIT_0003085,Birth Weight,en -http://purl.obolibrary.org/obo/SCDO_0000897,Physical Environment,en -http://purl.obolibrary.org/obo/ENVO_00002173,hospital,en -https://publications.europa.eu/resource/authority/language/FIN,finsk,da -https://publications.europa.eu/resource/authority/language/FIN,somu valoda,lv -https://publications.europa.eu/resource/authority/language/FIN,suomių kalba,lt -https://publications.europa.eu/resource/authority/language/FIN,fince,tr -https://publications.europa.eu/resource/authority/language/FIN,фински,mk -https://publications.europa.eu/resource/authority/language/FIN,φινλανδικά,el -https://publications.europa.eu/resource/authority/language/FIN,soome keel,et -https://publications.europa.eu/resource/authority/language/FIN,finnska,is -https://publications.europa.eu/resource/authority/language/FIN,finski,hr -https://publications.europa.eu/resource/authority/language/FIN,fínčina,sk -https://publications.europa.eu/resource/authority/language/FIN,finés,es -https://publications.europa.eu/resource/authority/language/FIN,suomi,fi -https://publications.europa.eu/resource/authority/language/FIN,finšćina,hsb -https://publications.europa.eu/resource/authority/language/FIN,фински,bg -https://publications.europa.eu/resource/authority/language/FIN,finlandeză,ro -https://publications.europa.eu/resource/authority/language/FIN,finština,cs -https://publications.europa.eu/resource/authority/language/FIN,Finnish,en -https://publications.europa.eu/resource/authority/language/FIN,fiński,pl -https://publications.europa.eu/resource/authority/language/FIN,фінська мова,uk -https://publications.europa.eu/resource/authority/language/FIN,Fins,nl -https://publications.europa.eu/resource/authority/language/FIN,finlandês,pt -https://publications.europa.eu/resource/authority/language/FIN,Finnisch,de -https://publications.europa.eu/resource/authority/language/FIN,finsk,no -https://publications.europa.eu/resource/authority/language/FIN,finski,sh -https://publications.europa.eu/resource/authority/language/FIN,Finlandiż,mt -https://publications.europa.eu/resource/authority/language/FIN,finlandese,it -https://publications.europa.eu/resource/authority/language/FIN,фински,sr -https://publications.europa.eu/resource/authority/language/FIN,финский,ru -https://publications.europa.eu/resource/authority/language/FIN,finska,sv -https://publications.europa.eu/resource/authority/language/FIN,finščina,sl -https://publications.europa.eu/resource/authority/language/FIN,finnois,fr -https://publications.europa.eu/resource/authority/language/FIN,finn,hu -https://publications.europa.eu/resource/authority/language/FIN,Fionlainnis,ga -http://lexvo.org/id/iso639-3/fin,Finnish,en -https://www.wikidata.org/wiki/Q1527264,income,en -https://www.wikidata.org/wiki/Q5259414,tooth pathology,en -http://purl.obolibrary.org/obo/NCIT_C2893,Psychiatric Disorder,en -http://purl.obolibrary.org/obo/SCDO_0000490,Health Insurance Coverage,en -https://health-ri.sandbox.semlab-leiden.nl/profile/2f08228e-1789-40f8-84cd-28e3288c3604,Dataset Profile,en -http://purl.obolibrary.org/obo/MAXO_0000126,cancer screening,en -https://www.wikidata.org/wiki/Q4323994,traffic,en -https://fair.healthinformationportal.eu/profile/2f08228e-1789-40f8-84cd-28e3288c3604,Dataset Profile,en -https://www.wikidata.org/wiki/Q70364280,health resources,en -http://purl.obolibrary.org/obo/OMIT_0013846,Socioeconomic Factors,en -http://purl.obolibrary.org/obo/NCIT_C118206,Self-Injury,en -https://www.wikidata.org/wiki/Q108293842,health services use,en -http://purl.obolibrary.org/obo/OMIT_0007467,Health Resources,en -https://www.wikidata.org/wiki/Q3769299,human behavior,en -http://semanticscience.org/resource/SIO_000398,nurse,en -http://purl.obolibrary.org/obo/NCIT_C74299,Work,en -https://www.wikidata.org/wiki/Q12737077,occupation,en -http://purl.obolibrary.org/obo/NCIT_C17468,Socioeconomic Factors,en -https://www.wikidata.org/wiki/Q17003063,health care quality,en -http://purl.obolibrary.org/obo/OMIT_0007476,Health Status,en -http://purl.obolibrary.org/obo/OBI_0002787,face mask,en -http://purl.obolibrary.org/obo/GSSO_001369,surgical procedure,en -http://snomed.info/id/420014008,Blood borne transmission,en +http://purl.obolibrary.org/obo/OMRSE_00000013,"physician role",en +http://purl.obolibrary.org/obo/NCIT_C18059,"Tobacco Use",en +http://purl.obolibrary.org/obo/NCIT_C16729,"Infant Mortality",en +http://purl.obolibrary.org/obo/NCIT_C20821,"Nurse",en +https://www.wikidata.org/wiki/Q12174,"obesity",en +https://publications.europa.eu/resource/authority/language/SRP,"сръбски",bg +https://publications.europa.eu/resource/authority/language/SRP,"Serbisch",de +https://publications.europa.eu/resource/authority/language/SRP,"serbia",fi +https://publications.europa.eu/resource/authority/language/SRP,"serbo",it +https://publications.europa.eu/resource/authority/language/SRP,"Servisch",nl +https://publications.europa.eu/resource/authority/language/SRP,"serbu valoda",lv +https://publications.europa.eu/resource/authority/language/SRP,"Serbian",en +https://publications.europa.eu/resource/authority/language/SRP,"Serb",mt +https://publications.europa.eu/resource/authority/language/SRP,"srpski",sh +https://publications.europa.eu/resource/authority/language/SRP,"srbština",cs +https://publications.europa.eu/resource/authority/language/SRP,"srbčina",sk +https://publications.europa.eu/resource/authority/language/SRP,"serbų kalba",lt +https://publications.europa.eu/resource/authority/language/SRP,"сербский",ru +https://publications.europa.eu/resource/authority/language/SRP,"sérvio",pt +https://publications.europa.eu/resource/authority/language/SRP,"serbski",pl +https://publications.europa.eu/resource/authority/language/SRP,"sırpça",tr +https://publications.europa.eu/resource/authority/language/SRP,"сербська мова",uk +https://publications.europa.eu/resource/authority/language/SRP,"srbščina",sl +https://publications.europa.eu/resource/authority/language/SRP,"serbneska",is +https://publications.europa.eu/resource/authority/language/SRP,"српски",mk +https://publications.europa.eu/resource/authority/language/SRP,"serbiska",sv +https://publications.europa.eu/resource/authority/language/SRP,"serbio",es +https://publications.europa.eu/resource/authority/language/SRP,"Seirbis",ga +https://publications.europa.eu/resource/authority/language/SRP,"sârbă",ro +https://publications.europa.eu/resource/authority/language/SRP,"srpski",hr +https://publications.europa.eu/resource/authority/language/SRP,"szerb",hu +https://publications.europa.eu/resource/authority/language/SRP,"serbisk",da +https://publications.europa.eu/resource/authority/language/SRP,"serbisk",no +https://publications.europa.eu/resource/authority/language/SRP,"serbe",fr +https://publications.europa.eu/resource/authority/language/SRP,"serbišćina",hsb +https://publications.europa.eu/resource/authority/language/SRP,"serbia keel",et +https://publications.europa.eu/resource/authority/language/SRP,"σερβικά",el +https://publications.europa.eu/resource/authority/language/SRP,"српски",sr +http://lexvo.org/id/iso639-3/srp,"Serbian",en +http://purl.obolibrary.org/obo/OMIT_0007885,"Hospital Bed Capacity",en +http://purl.obolibrary.org/obo/OPMI_0000482,"medical visit",en +http://purl.obolibrary.org/obo/APOLLO_SV_00000550,"contact tracing",en +http://purl.obolibrary.org/obo/NCIT_C128353,"Airborne Transmission",en +https://www.wikidata.org/wiki/Q142259,"hospital bed",en +https://publications.europa.eu/resource/authority/language/MLT,"maltesiska",sv +https://publications.europa.eu/resource/authority/language/MLT,"maltiečių kalba",lt +https://publications.europa.eu/resource/authority/language/MLT,"Maltese",en +https://publications.europa.eu/resource/authority/language/MLT,"maltais",fr +https://publications.europa.eu/resource/authority/language/MLT,"máltai",hu +https://publications.europa.eu/resource/authority/language/MLT,"malteză",ro +https://publications.europa.eu/resource/authority/language/MLT,"Malti",mt +https://publications.europa.eu/resource/authority/language/MLT,"maltés",es +https://publications.europa.eu/resource/authority/language/MLT,"maltčina",sk +https://publications.europa.eu/resource/authority/language/MLT,"малтешки",sr +https://publications.europa.eu/resource/authority/language/MLT,"malteški",sh +https://publications.europa.eu/resource/authority/language/MLT,"maltiešu valoda",lv +https://publications.europa.eu/resource/authority/language/MLT,"мальтийский",ru +https://publications.europa.eu/resource/authority/language/MLT,"malta",fi +https://publications.europa.eu/resource/authority/language/MLT,"малтешки",mk +https://publications.europa.eu/resource/authority/language/MLT,"maltaca",tr +https://publications.europa.eu/resource/authority/language/MLT,"malteščina",sl +https://publications.europa.eu/resource/authority/language/MLT,"maltašćina",hsb +https://publications.europa.eu/resource/authority/language/MLT,"maltština",cs +https://publications.europa.eu/resource/authority/language/MLT,"maltese",it +https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",no +https://publications.europa.eu/resource/authority/language/MLT,"malta keel",et +https://publications.europa.eu/resource/authority/language/MLT,"малтийски",bg +https://publications.europa.eu/resource/authority/language/MLT,"maltês",pt +https://publications.europa.eu/resource/authority/language/MLT,"maltneska",is +https://publications.europa.eu/resource/authority/language/MLT,"μαλτέζικα",el +https://publications.europa.eu/resource/authority/language/MLT,"malteški",hr +https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",da +https://publications.europa.eu/resource/authority/language/MLT,"maltański",pl +https://publications.europa.eu/resource/authority/language/MLT,"Maltees",nl +https://publications.europa.eu/resource/authority/language/MLT,"мальтійська мова",uk +https://publications.europa.eu/resource/authority/language/MLT,"Máltais",ga +https://publications.europa.eu/resource/authority/language/MLT,"Maltesisch",de +http://lexvo.org/id/iso639-3/mlt,"Maltese",en +http://purl.obolibrary.org/obo/NCIT_C15406,"Cancer Screening",en +https://publications.europa.eu/resource/authority/language/SWE,"шведски",bg +https://publications.europa.eu/resource/authority/language/SWE,"Schwedisch",de +https://publications.europa.eu/resource/authority/language/SWE,"шведски",sr +https://publications.europa.eu/resource/authority/language/SWE,"rootsi keel",et +https://publications.europa.eu/resource/authority/language/SWE,"svenska",sv +https://publications.europa.eu/resource/authority/language/SWE,"sænska",is +https://publications.europa.eu/resource/authority/language/SWE,"шведский",ru +https://publications.europa.eu/resource/authority/language/SWE,"suédois",fr +https://publications.europa.eu/resource/authority/language/SWE,"ruotsi",fi +https://publications.europa.eu/resource/authority/language/SWE,"Swedish",en +https://publications.europa.eu/resource/authority/language/SWE,"svedese",it +https://publications.europa.eu/resource/authority/language/SWE,"ısveççe",tr +https://publications.europa.eu/resource/authority/language/SWE,"svensk",da +https://publications.europa.eu/resource/authority/language/SWE,"sueco",pt +https://publications.europa.eu/resource/authority/language/SWE,"suedeză",ro +https://publications.europa.eu/resource/authority/language/SWE,"Sualainnis",ga +https://publications.europa.eu/resource/authority/language/SWE,"шведська мова",uk +https://publications.europa.eu/resource/authority/language/SWE,"švedščina",sl +https://publications.europa.eu/resource/authority/language/SWE,"szwedzki",pl +https://publications.europa.eu/resource/authority/language/SWE,"svéd",hu +https://publications.europa.eu/resource/authority/language/SWE,"švedų kalba",lt +https://publications.europa.eu/resource/authority/language/SWE,"шведски",mk +https://publications.europa.eu/resource/authority/language/SWE,"Zweeds",nl +https://publications.europa.eu/resource/authority/language/SWE,"švedski",hr +https://publications.europa.eu/resource/authority/language/SWE,"šwedšćina",hsb +https://publications.europa.eu/resource/authority/language/SWE,"švedski",sh +https://publications.europa.eu/resource/authority/language/SWE,"švédčina",sk +https://publications.europa.eu/resource/authority/language/SWE,"Svediż",mt +https://publications.europa.eu/resource/authority/language/SWE,"švédština",cs +https://publications.europa.eu/resource/authority/language/SWE,"zviedru valoda",lv +https://publications.europa.eu/resource/authority/language/SWE,"σουηδικά",el +https://publications.europa.eu/resource/authority/language/SWE,"sueco",es +https://publications.europa.eu/resource/authority/language/SWE,"svensk",no +http://lexvo.org/id/iso639-3/swe,"Swedish",en +http://purl.obolibrary.org/obo/OMIT_0004449,"Communicable Diseases",en +https://www.wikidata.org/wiki/Q84263196,"COVID-19",en +http://purl.obolibrary.org/obo/NCIT_C16205,"Healthcare Activity",en +http://purl.obolibrary.org/obo/OMIT_0016881,"Contact Tracing",en +https://www.wikidata.org/wiki/Q3706138,"determinants of health",en +http://purl.obolibrary.org/obo/OBI_1110053,"cancer",en +https://www.wikidata.org/wiki/Q110207349,"psychoactive drug use",en +https://www.wikidata.org/wiki/Q42138532,"genetic characteristic",en +http://purl.obolibrary.org/obo/NCIT_C2985,"Diabetes Mellitus",en +https://www.wikidata.org/wiki/Q16917,"hospital",en +http://purl.obolibrary.org/obo/NCIT_C173747,"Protective Face Mask",en +https://publications.europa.eu/resource/authority/language/SLV,"словенски",bg +https://publications.europa.eu/resource/authority/language/SLV,"slovēņu valoda",lv +https://publications.europa.eu/resource/authority/language/SLV,"slovensk",da +https://publications.europa.eu/resource/authority/language/SLV,"slóvenska",is +https://publications.europa.eu/resource/authority/language/SLV,"esloveno",pt +https://publications.europa.eu/resource/authority/language/SLV,"Sloven",mt +https://publications.europa.eu/resource/authority/language/SLV,"Slóivéinis",ga +https://publications.europa.eu/resource/authority/language/SLV,"словенська мова",uk +https://publications.europa.eu/resource/authority/language/SLV,"sloveno",it +https://publications.europa.eu/resource/authority/language/SLV,"slovensk",no +https://publications.europa.eu/resource/authority/language/SLV,"slovence",tr +https://publications.europa.eu/resource/authority/language/SLV,"Sloveens",nl +https://publications.europa.eu/resource/authority/language/SLV,"slovenski",sh +https://publications.europa.eu/resource/authority/language/SLV,"sloveenia keel",et +https://publications.europa.eu/resource/authority/language/SLV,"slovėnų kalba",lt +https://publications.europa.eu/resource/authority/language/SLV,"słoweński",pl +https://publications.europa.eu/resource/authority/language/SLV,"словеначки",sr +https://publications.europa.eu/resource/authority/language/SLV,"σλοβενικά",el +https://publications.europa.eu/resource/authority/language/SLV,"slovenă",ro +https://publications.europa.eu/resource/authority/language/SLV,"Slowenisch",de +https://publications.europa.eu/resource/authority/language/SLV,"słowjenšćina",hsb +https://publications.europa.eu/resource/authority/language/SLV,"slovenski",hr +https://publications.europa.eu/resource/authority/language/SLV,"slovinčina",sk +https://publications.europa.eu/resource/authority/language/SLV,"словенечки",mk +https://publications.europa.eu/resource/authority/language/SLV,"Slovenian",en +https://publications.europa.eu/resource/authority/language/SLV,"esloveno",es +https://publications.europa.eu/resource/authority/language/SLV,"slovenska",sv +https://publications.europa.eu/resource/authority/language/SLV,"slovinština",cs +https://publications.europa.eu/resource/authority/language/SLV,"словенский",ru +https://publications.europa.eu/resource/authority/language/SLV,"szlovén",hu +https://publications.europa.eu/resource/authority/language/SLV,"slovène",fr +https://publications.europa.eu/resource/authority/language/SLV,"slovenščina",sl +https://publications.europa.eu/resource/authority/language/SLV,"sloveeni",fi +http://lexvo.org/id/iso639-3/slv,"Slovenian",en +https://www.wikidata.org/wiki/Q1128437,"contact tracing",en +https://www.wikidata.org/wiki/Q3044843,"cancer screening",en +https://publications.europa.eu/resource/authority/language/POL,"Polainnis",ga +https://publications.europa.eu/resource/authority/language/POL,"полски",mk +https://publications.europa.eu/resource/authority/language/POL,"polacco",it +https://publications.europa.eu/resource/authority/language/POL,"Pools",nl +https://publications.europa.eu/resource/authority/language/POL,"polaco",es +https://publications.europa.eu/resource/authority/language/POL,"Polnisch",de +https://publications.europa.eu/resource/authority/language/POL,"пољски",sr +https://publications.europa.eu/resource/authority/language/POL,"πολωνικά",el +https://publications.europa.eu/resource/authority/language/POL,"pólšćina",hsb +https://publications.europa.eu/resource/authority/language/POL,"polsk",da +https://publications.europa.eu/resource/authority/language/POL,"polonais",fr +https://publications.europa.eu/resource/authority/language/POL,"poljščina",sl +https://publications.europa.eu/resource/authority/language/POL,"lenkų kalba",lt +https://publications.europa.eu/resource/authority/language/POL,"polski",pl +https://publications.europa.eu/resource/authority/language/POL,"poļu valoda",lv +https://publications.europa.eu/resource/authority/language/POL,"poola keel",et +https://publications.europa.eu/resource/authority/language/POL,"pólska",is +https://publications.europa.eu/resource/authority/language/POL,"polština",cs +https://publications.europa.eu/resource/authority/language/POL,"польська мова",uk +https://publications.europa.eu/resource/authority/language/POL,"poljski",sh +https://publications.europa.eu/resource/authority/language/POL,"puola",fi +https://publications.europa.eu/resource/authority/language/POL,"polaco",pt +https://publications.europa.eu/resource/authority/language/POL,"polsk",no +https://publications.europa.eu/resource/authority/language/POL,"полски",bg +https://publications.europa.eu/resource/authority/language/POL,"polonă",ro +https://publications.europa.eu/resource/authority/language/POL,"lengyel",hu +https://publications.europa.eu/resource/authority/language/POL,"польский",ru +https://publications.europa.eu/resource/authority/language/POL,"poľština",sk +https://publications.europa.eu/resource/authority/language/POL,"lehçe",tr +https://publications.europa.eu/resource/authority/language/POL,"poljski",hr +https://publications.europa.eu/resource/authority/language/POL,"polska",sv +https://publications.europa.eu/resource/authority/language/POL,"Pollakk",mt +https://publications.europa.eu/resource/authority/language/POL,"Polish",en +http://lexvo.org/id/iso639-3/pol,"Polish",en +https://www.wikidata.org/wiki/Q39631,"physician",en +https://www.wikidata.org/wiki/Q82642,"blood pressure",en +http://purl.obolibrary.org/obo/OBI_0000844,"obsolete hospital",en +https://www.wikidata.org/wiki/Q2647488,"alcohol consumption",en +http://purl.obolibrary.org/obo/IDOMAL_0000023,"zoonotic",en +https://www.wikidata.org/wiki/Q4927522,"blood-borne disease",en +https://publications.europa.eu/resource/authority/language/HUN,"maďarčina",sk +https://publications.europa.eu/resource/authority/language/HUN,"ουγγρικά",el +https://publications.europa.eu/resource/authority/language/HUN,"ungāru valoda",lv +https://publications.europa.eu/resource/authority/language/HUN,"Hungarian",en +https://publications.europa.eu/resource/authority/language/HUN,"Ungarisch",de +https://publications.europa.eu/resource/authority/language/HUN,"ungari keel",et +https://publications.europa.eu/resource/authority/language/HUN,"ungherese",it +https://publications.europa.eu/resource/authority/language/HUN,"Ungeriż",mt +https://publications.europa.eu/resource/authority/language/HUN,"maďarština",cs +https://publications.europa.eu/resource/authority/language/HUN,"ungverska",is +https://publications.europa.eu/resource/authority/language/HUN,"унгарски",bg +https://publications.europa.eu/resource/authority/language/HUN,"унгарски",mk +https://publications.europa.eu/resource/authority/language/HUN,"węgierski",pl +https://publications.europa.eu/resource/authority/language/HUN,"Ungáiris",ga +https://publications.europa.eu/resource/authority/language/HUN,"mađarski",sh +https://publications.europa.eu/resource/authority/language/HUN,"vengrų kalba",lt +https://publications.europa.eu/resource/authority/language/HUN,"macarca",tr +https://publications.europa.eu/resource/authority/language/HUN,"Hongaars",nl +https://publications.europa.eu/resource/authority/language/HUN,"hongrois",fr +https://publications.europa.eu/resource/authority/language/HUN,"madźaršćina",hsb +https://publications.europa.eu/resource/authority/language/HUN,"unkari",fi +https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",no +https://publications.europa.eu/resource/authority/language/HUN,"húngaro",es +https://publications.europa.eu/resource/authority/language/HUN,"magyar",hu +https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",da +https://publications.europa.eu/resource/authority/language/HUN,"mađarski",hr +https://publications.europa.eu/resource/authority/language/HUN,"угорська мова",uk +https://publications.europa.eu/resource/authority/language/HUN,"húngaro",pt +https://publications.europa.eu/resource/authority/language/HUN,"мађарски",sr +https://publications.europa.eu/resource/authority/language/HUN,"maghiară",ro +https://publications.europa.eu/resource/authority/language/HUN,"венгерский",ru +https://publications.europa.eu/resource/authority/language/HUN,"ungerska",sv +https://publications.europa.eu/resource/authority/language/HUN,"madžarščina",sl +http://lexvo.org/id/iso639-3/hun,"Hungarian",en +http://purl.obolibrary.org/obo/OMIT_0012168,"Poverty",en +http://purl.obolibrary.org/obo/OMIT_0008353,"Infant Mortality",en +http://purl.obolibrary.org/obo/MFOMD_0000001,"mental disease",en +https://www.wikidata.org/wiki/Q12135,"mental disorder",en +http://purl.obolibrary.org/obo/VO_0000809,"vaccination coverage",en +http://purl.obolibrary.org/obo/OMIT_0003154,"Blood Pressure",en +http://purl.obolibrary.org/obo/OMIT_0024293,"Overweight",en +http://semanticscience.org/resource/SIO_001022,"diagnostic test",en +https://publications.europa.eu/resource/authority/language/HRV,"croată",ro +https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",de +https://publications.europa.eu/resource/authority/language/HRV,"horvaadi keel",et +https://publications.europa.eu/resource/authority/language/HRV,"κροατικά",el +https://publications.europa.eu/resource/authority/language/HRV,"хорватська мова",uk +https://publications.europa.eu/resource/authority/language/HRV,"хрватски",sr +https://publications.europa.eu/resource/authority/language/HRV,"hırvatça",tr +https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",no +https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",nl +https://publications.europa.eu/resource/authority/language/HRV,"croata",es +https://publications.europa.eu/resource/authority/language/HRV,"Cróitis",ga +https://publications.europa.eu/resource/authority/language/HRV,"chorwatšćina",hsb +https://publications.europa.eu/resource/authority/language/HRV,"hrvaščina",sl +https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",da +https://publications.europa.eu/resource/authority/language/HRV,"króatíska",is +https://publications.europa.eu/resource/authority/language/HRV,"croate",fr +https://publications.europa.eu/resource/authority/language/HRV,"chorvátčina",sk +https://publications.europa.eu/resource/authority/language/HRV,"kroatiska",sv +https://publications.europa.eu/resource/authority/language/HRV,"Kroat",mt +https://publications.europa.eu/resource/authority/language/HRV,"kroatų kalba",lt +https://publications.europa.eu/resource/authority/language/HRV,"хорватский",ru +https://publications.europa.eu/resource/authority/language/HRV,"croato",it +https://publications.europa.eu/resource/authority/language/HRV,"хърватски",bg +https://publications.europa.eu/resource/authority/language/HRV,"kroatia",fi +https://publications.europa.eu/resource/authority/language/HRV,"horvātu valoda",lv +https://publications.europa.eu/resource/authority/language/HRV,"croata",pt +https://publications.europa.eu/resource/authority/language/HRV,"chorwacki",pl +https://publications.europa.eu/resource/authority/language/HRV,"horvát",hu +https://publications.europa.eu/resource/authority/language/HRV,"хрватски",mk +https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",sh +https://publications.europa.eu/resource/authority/language/HRV,"chorvatština",cs +https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",hr +https://publications.europa.eu/resource/authority/language/HRV,"Croatian",en +http://lexvo.org/id/iso639-3/hrv,"Croatian",en +http://purl.obolibrary.org/obo/GSSO_009380,"health care quality",en +https://www.wikidata.org/wiki/Q94298961,"Medical Appointment",en +https://www.wikidata.org/wiki/Q3137154,"non-communicable disease",en +http://purl.obolibrary.org/obo/SCDO_0001090,"Socioeconomic Factors",en +http://purl.obolibrary.org/obo/IDO_0000436,"infectious disease",en +https://www.wikidata.org/wiki/Q43656,"cholesterol",en +http://purl.obolibrary.org/obo/OMIT_0022422,"Maternal-Fetal Relations",en +http://purl.obolibrary.org/obo/OMIT_0013818,"Social Environment",en +https://www.wikidata.org/wiki/Q3286546,"respiratory disease",en +https://publications.europa.eu/resource/authority/language/ITA,"Italian",en +https://publications.europa.eu/resource/authority/language/ITA,"olasz",hu +https://publications.europa.eu/resource/authority/language/ITA,"talijanski",hr +https://publications.europa.eu/resource/authority/language/ITA,"italiano",es +https://publications.europa.eu/resource/authority/language/ITA,"итальянский",ru +https://publications.europa.eu/resource/authority/language/ITA,"italien",fr +https://publications.europa.eu/resource/authority/language/ITA,"italijanščina",sl +https://publications.europa.eu/resource/authority/language/ITA,"ıtalyanca",tr +https://publications.europa.eu/resource/authority/language/ITA,"ítalska",is +https://publications.europa.eu/resource/authority/language/ITA,"italiano",it +https://publications.europa.eu/resource/authority/language/ITA,"italiano",pt +https://publications.europa.eu/resource/authority/language/ITA,"italšćina",hsb +https://publications.europa.eu/resource/authority/language/ITA,"itaalia keel",et +https://publications.europa.eu/resource/authority/language/ITA,"italiensk",da +https://publications.europa.eu/resource/authority/language/ITA,"італійська мова",uk +https://publications.europa.eu/resource/authority/language/ITA,"italienska",sv +https://publications.europa.eu/resource/authority/language/ITA,"italiensk",no +https://publications.europa.eu/resource/authority/language/ITA,"italia",fi +https://publications.europa.eu/resource/authority/language/ITA,"italština",cs +https://publications.europa.eu/resource/authority/language/ITA,"ιταλικά",el +https://publications.europa.eu/resource/authority/language/ITA,"Italiaans",nl +https://publications.europa.eu/resource/authority/language/ITA,"italijanski",sh +https://publications.europa.eu/resource/authority/language/ITA,"taliančina",sk +https://publications.europa.eu/resource/authority/language/ITA,"италијански",sr +https://publications.europa.eu/resource/authority/language/ITA,"włoski",pl +https://publications.europa.eu/resource/authority/language/ITA,"Taljan",mt +https://publications.europa.eu/resource/authority/language/ITA,"италиански",bg +https://publications.europa.eu/resource/authority/language/ITA,"italų kalba",lt +https://publications.europa.eu/resource/authority/language/ITA,"Iodáilis",ga +https://publications.europa.eu/resource/authority/language/ITA,"itāļu valoda",lv +https://publications.europa.eu/resource/authority/language/ITA,"италијански",mk +https://publications.europa.eu/resource/authority/language/ITA,"Italienisch",de +https://publications.europa.eu/resource/authority/language/ITA,"italiană",ro +http://lexvo.org/id/iso639-3/ita,"Italian",en +http://purl.obolibrary.org/obo/SCDO_0001082,"Social Environment",en +https://www.wikidata.org/wiki/Q7981051,"well-being",en +https://www.wikidata.org/wiki/Q1367554,"morbidity",en +http://edamontology.org/topic_3324,"Infectious disease",en +http://purl.obolibrary.org/obo/TRANS_0000009,"airborne transmission",en +http://purl.obolibrary.org/obo/OMIABIS_0001041,"surgical procedure",en +http://purl.obolibrary.org/obo/GSSO_006598,"self-injury",en +https://www.wikidata.org/wiki/Q11024,"communication",en +https://www.wikidata.org/wiki/Q95439933,"Vaccine-preventable Diseases",en +http://purl.obolibrary.org/obo/NCIT_C25193,"Occupation",en +https://www.wikidata.org/wiki/Q835884,"infant mortality",en +http://purl.obolibrary.org/obo/SCDO_0000496,"Healthcare Access",en +http://purl.obolibrary.org/obo/OMIT_0007941,"Housing",en +http://purl.obolibrary.org/obo/OHD_0000005,"surgical procedure",en +http://purl.obolibrary.org/obo/SCDO_0000494,"Health System",en +https://publications.europa.eu/resource/authority/language/SPA,"spanyol",hu +https://publications.europa.eu/resource/authority/language/SPA,"spansk",da +https://publications.europa.eu/resource/authority/language/SPA,"Spanish",en +https://publications.europa.eu/resource/authority/language/SPA,"Spanjol",mt +https://publications.europa.eu/resource/authority/language/SPA,"Spaans",nl +https://publications.europa.eu/resource/authority/language/SPA,"испанский",ru +https://publications.europa.eu/resource/authority/language/SPA,"španščina",sl +https://publications.europa.eu/resource/authority/language/SPA,"španielčina",sk +https://publications.europa.eu/resource/authority/language/SPA,"hiszpański",pl +https://publications.europa.eu/resource/authority/language/SPA,"spanska",sv +https://publications.europa.eu/resource/authority/language/SPA,"Spanisch",de +https://publications.europa.eu/resource/authority/language/SPA,"španski",sh +https://publications.europa.eu/resource/authority/language/SPA,"ispanų kalba",lt +https://publications.europa.eu/resource/authority/language/SPA,"испански",bg +https://publications.europa.eu/resource/authority/language/SPA,"іспанська мова",uk +https://publications.europa.eu/resource/authority/language/SPA,"espanhol",pt +https://publications.europa.eu/resource/authority/language/SPA,"španělština",cs +https://publications.europa.eu/resource/authority/language/SPA,"spænska",is +https://publications.europa.eu/resource/authority/language/SPA,"шпански",mk +https://publications.europa.eu/resource/authority/language/SPA,"spaniolă",ro +https://publications.europa.eu/resource/authority/language/SPA,"španišćina",hsb +https://publications.europa.eu/resource/authority/language/SPA,"španjolski",hr +https://publications.europa.eu/resource/authority/language/SPA,"шпански",sr +https://publications.europa.eu/resource/authority/language/SPA,"hispaania keel",et +https://publications.europa.eu/resource/authority/language/SPA,"español",es +https://publications.europa.eu/resource/authority/language/SPA,"spansk",no +https://publications.europa.eu/resource/authority/language/SPA,"espanja",fi +https://publications.europa.eu/resource/authority/language/SPA,"spāņu valoda",lv +https://publications.europa.eu/resource/authority/language/SPA,"spagnolo",it +https://publications.europa.eu/resource/authority/language/SPA,"ισπανικά",el +https://publications.europa.eu/resource/authority/language/SPA,"espagnol",fr +https://publications.europa.eu/resource/authority/language/SPA,"ıspanyolca",tr +https://publications.europa.eu/resource/authority/language/SPA,"Spáinnis",ga +http://lexvo.org/id/iso639-3/spa,"Spanish",en +https://www.wikidata.org/wiki/Q12198,"sexually transmitted infection",en +http://purl.obolibrary.org/obo/NCIT_C16273,"Alcohol Consumption",en +http://purl.obolibrary.org/obo/APOLLO_SV_00000239,"infectious disease",en +https://www.wikidata.org/wiki/Q1475557,"patient safety",en +https://www.wikidata.org/wiki/Q188419,"life expectancy",en +https://www.wikidata.org/wiki/Q1571836,"social environment",en +https://www.wikidata.org/wiki/Q189656,"disinformation",en +https://www.wikidata.org/wiki/Q12131,"disability",en +http://purl.obolibrary.org/obo/NCIT_C173636,"Social Distancing",en +https://www.wikidata.org/wiki/Q180910,"leisure",en +http://purl.obolibrary.org/obo/OBI_1110040,"infectious disease",en +https://publications.europa.eu/resource/authority/language/LAV,"lett",hu +https://publications.europa.eu/resource/authority/language/LAV,"letão",pt +https://publications.europa.eu/resource/authority/language/LAV,"letton",fr +https://publications.europa.eu/resource/authority/language/LAV,"Laitvis",ga +https://publications.europa.eu/resource/authority/language/LAV,"łotewski",pl +https://publications.europa.eu/resource/authority/language/LAV,"läti keel",et +https://publications.europa.eu/resource/authority/language/LAV,"lettone",it +https://publications.europa.eu/resource/authority/language/LAV,"latvių kalba",lt +https://publications.europa.eu/resource/authority/language/LAV,"letišćina",hsb +https://publications.europa.eu/resource/authority/language/LAV,"латиська мова",uk +https://publications.europa.eu/resource/authority/language/LAV,"letón",es +https://publications.europa.eu/resource/authority/language/LAV,"lettneska",is +https://publications.europa.eu/resource/authority/language/LAV,"latvia",fi +https://publications.europa.eu/resource/authority/language/LAV,"латышский",ru +https://publications.europa.eu/resource/authority/language/LAV,"Latvian",en +https://publications.europa.eu/resource/authority/language/LAV,"latviešu valoda",lv +https://publications.europa.eu/resource/authority/language/LAV,"lettiska",sv +https://publications.europa.eu/resource/authority/language/LAV,"letonca",tr +https://publications.europa.eu/resource/authority/language/LAV,"летонски",sr +https://publications.europa.eu/resource/authority/language/LAV,"letonă",ro +https://publications.europa.eu/resource/authority/language/LAV,"Latvjan",mt +https://publications.europa.eu/resource/authority/language/LAV,"lotyština",cs +https://publications.europa.eu/resource/authority/language/LAV,"lettisk",da +https://publications.europa.eu/resource/authority/language/LAV,"latvisk",no +https://publications.europa.eu/resource/authority/language/LAV,"Lets",nl +https://publications.europa.eu/resource/authority/language/LAV,"letonski",sh +https://publications.europa.eu/resource/authority/language/LAV,"lotyština",sk +https://publications.europa.eu/resource/authority/language/LAV,"латвийски",bg +https://publications.europa.eu/resource/authority/language/LAV,"latvijščina",sl +https://publications.europa.eu/resource/authority/language/LAV,"λετονικά",el +https://publications.europa.eu/resource/authority/language/LAV,"latvijski",hr +https://publications.europa.eu/resource/authority/language/LAV,"латвиски",mk +https://publications.europa.eu/resource/authority/language/LAV,"Lettisch",de +http://lexvo.org/id/iso639-3/lav,"Latvian",en +http://purl.obolibrary.org/obo/GSSO_006601,"substance use",en +http://id.loc.gov/vocabulary/iso639-1/en,"English",en +http://id.loc.gov/vocabulary/iso639-1/en,"anglais",fr +http://id.loc.gov/vocabulary/iso639-1/en,"Englisch",de +http://id.loc.gov/vocabulary/iso639-1/de,"German",en +http://id.loc.gov/vocabulary/iso639-1/nl,"Dutch",en +https://www.wikidata.org/wiki/Q10294,"poverty",en +https://publications.europa.eu/resource/authority/language/FRA,"francuski",sh +https://publications.europa.eu/resource/authority/language/FRA,"fransk",da +https://publications.europa.eu/resource/authority/language/FRA,"fransk",no +https://publications.europa.eu/resource/authority/language/FRA,"francúzština",sk +https://publications.europa.eu/resource/authority/language/FRA,"френски",bg +https://publications.europa.eu/resource/authority/language/FRA,"francuski",hr +https://publications.europa.eu/resource/authority/language/FRA,"prancūzų kalba",lt +https://publications.europa.eu/resource/authority/language/FRA,"francese",it +https://publications.europa.eu/resource/authority/language/FRA,"francês",pt +https://publications.europa.eu/resource/authority/language/FRA,"French",en +https://publications.europa.eu/resource/authority/language/FRA,"ranska",fi +https://publications.europa.eu/resource/authority/language/FRA,"francés",es +https://publications.europa.eu/resource/authority/language/FRA,"franska",is +https://publications.europa.eu/resource/authority/language/FRA,"francuski",pl +https://publications.europa.eu/resource/authority/language/FRA,"fransızca",tr +https://publications.europa.eu/resource/authority/language/FRA,"Französisch",de +https://publications.europa.eu/resource/authority/language/FRA,"французька мова",uk +https://publications.europa.eu/resource/authority/language/FRA,"Frans",nl +https://publications.europa.eu/resource/authority/language/FRA,"французский",ru +https://publications.europa.eu/resource/authority/language/FRA,"Fraincis",ga +https://publications.europa.eu/resource/authority/language/FRA,"γαλλικά",el +https://publications.europa.eu/resource/authority/language/FRA,"Franċiż",mt +https://publications.europa.eu/resource/authority/language/FRA,"franču valoda",lv +https://publications.europa.eu/resource/authority/language/FRA,"francouzština",cs +https://publications.europa.eu/resource/authority/language/FRA,"француски",mk +https://publications.europa.eu/resource/authority/language/FRA,"franska",sv +https://publications.europa.eu/resource/authority/language/FRA,"француски",sr +https://publications.europa.eu/resource/authority/language/FRA,"franceză",ro +https://publications.europa.eu/resource/authority/language/FRA,"francia",hu +https://publications.europa.eu/resource/authority/language/FRA,"francošćina",hsb +https://publications.europa.eu/resource/authority/language/FRA,"français",fr +https://publications.europa.eu/resource/authority/language/FRA,"prantsuse keel",et +https://publications.europa.eu/resource/authority/language/FRA,"francoščina",sl +http://lexvo.org/id/iso639-3/fra,"French",en +https://www.wikidata.org/wiki/Q332428,"overweight",en +https://www.wikidata.org/wiki/Q7907939,"vaccine-preventable diseases",en +https://www.wikidata.org/wiki/Q1247867,"housing",en +http://purl.obolibrary.org/obo/OMIT_0003085,"Birth Weight",en +http://purl.obolibrary.org/obo/SCDO_0000897,"Physical Environment",en +http://purl.obolibrary.org/obo/ENVO_00002173,"hospital",en +https://publications.europa.eu/resource/authority/language/FIN,"finsk",da +https://publications.europa.eu/resource/authority/language/FIN,"somu valoda",lv +https://publications.europa.eu/resource/authority/language/FIN,"suomių kalba",lt +https://publications.europa.eu/resource/authority/language/FIN,"fince",tr +https://publications.europa.eu/resource/authority/language/FIN,"фински",mk +https://publications.europa.eu/resource/authority/language/FIN,"φινλανδικά",el +https://publications.europa.eu/resource/authority/language/FIN,"soome keel",et +https://publications.europa.eu/resource/authority/language/FIN,"finnska",is +https://publications.europa.eu/resource/authority/language/FIN,"finski",hr +https://publications.europa.eu/resource/authority/language/FIN,"fínčina",sk +https://publications.europa.eu/resource/authority/language/FIN,"finés",es +https://publications.europa.eu/resource/authority/language/FIN,"suomi",fi +https://publications.europa.eu/resource/authority/language/FIN,"finšćina",hsb +https://publications.europa.eu/resource/authority/language/FIN,"фински",bg +https://publications.europa.eu/resource/authority/language/FIN,"finlandeză",ro +https://publications.europa.eu/resource/authority/language/FIN,"finština",cs +https://publications.europa.eu/resource/authority/language/FIN,"Finnish",en +https://publications.europa.eu/resource/authority/language/FIN,"fiński",pl +https://publications.europa.eu/resource/authority/language/FIN,"фінська мова",uk +https://publications.europa.eu/resource/authority/language/FIN,"Fins",nl +https://publications.europa.eu/resource/authority/language/FIN,"finlandês",pt +https://publications.europa.eu/resource/authority/language/FIN,"Finnisch",de +https://publications.europa.eu/resource/authority/language/FIN,"finsk",no +https://publications.europa.eu/resource/authority/language/FIN,"finski",sh +https://publications.europa.eu/resource/authority/language/FIN,"Finlandiż",mt +https://publications.europa.eu/resource/authority/language/FIN,"finlandese",it +https://publications.europa.eu/resource/authority/language/FIN,"фински",sr +https://publications.europa.eu/resource/authority/language/FIN,"финский",ru +https://publications.europa.eu/resource/authority/language/FIN,"finska",sv +https://publications.europa.eu/resource/authority/language/FIN,"finščina",sl +https://publications.europa.eu/resource/authority/language/FIN,"finnois",fr +https://publications.europa.eu/resource/authority/language/FIN,"finn",hu +https://publications.europa.eu/resource/authority/language/FIN,"Fionlainnis",ga +http://lexvo.org/id/iso639-3/fin,"Finnish",en +https://www.wikidata.org/wiki/Q1527264,"income",en +https://www.wikidata.org/wiki/Q5259414,"tooth pathology",en +http://purl.obolibrary.org/obo/NCIT_C2893,"Psychiatric Disorder",en +http://purl.obolibrary.org/obo/SCDO_0000490,"Health Insurance Coverage",en +https://health-ri.sandbox.semlab-leiden.nl/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en +http://purl.obolibrary.org/obo/MAXO_0000126,"cancer screening",en +https://www.wikidata.org/wiki/Q4323994,"traffic",en +https://fair.healthinformationportal.eu/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en +https://www.wikidata.org/wiki/Q70364280,"health resources",en +http://purl.obolibrary.org/obo/OMIT_0013846,"Socioeconomic Factors",en +http://purl.obolibrary.org/obo/NCIT_C118206,"Self-Injury",en +https://www.wikidata.org/wiki/Q108293842,"health services use",en +http://purl.obolibrary.org/obo/OMIT_0007467,"Health Resources",en +https://www.wikidata.org/wiki/Q3769299,"human behavior",en +http://semanticscience.org/resource/SIO_000398,"nurse",en +http://purl.obolibrary.org/obo/NCIT_C74299,"Work",en +https://www.wikidata.org/wiki/Q12737077,"occupation",en +http://purl.obolibrary.org/obo/NCIT_C17468,"Socioeconomic Factors",en +https://www.wikidata.org/wiki/Q17003063,"health care quality",en +http://purl.obolibrary.org/obo/OMIT_0007476,"Health Status",en +http://purl.obolibrary.org/obo/OBI_0002787,"face mask",en +http://purl.obolibrary.org/obo/GSSO_001369,"surgical procedure",en +http://snomed.info/id/420014008,"Blood borne transmission",en http://snomed.info/id/91537007,"Hospital bed, device",en -http://www.ebi.ac.uk/efo/EFO_0000684,respiratory system disease,en -http://purl.obolibrary.org/obo/CHEBI_52217,pharmaceutical,en -http://purl.bioontology.org/ontology/MESH/D011203,Poverty,en -http://www.ebi.ac.uk/efo/EFO_0000400,diabetes mellitus,en -http://purl.obolibrary.org/obo/MONDO_0004995,cardiovascular disorder,en -http://www.ebi.ac.uk/efo/EFO_0000319,cardiovascular disease,en -http://purl.obolibrary.org/obo/MONDO_0005084,mental disorder,en -http://purl.obolibrary.org/obo/MONDO_0004992,cancer,en -http://purl.obolibrary.org/obo/MONDO_0100096,COVID-19,en -http://purl.obolibrary.org/obo/MONDO_0005087,respiratory system disorder,en -http://purl.obolibrary.org/obo/MONDO_0005550,infectious disease,en -http://www.ebi.ac.uk/efo/EFO_0004299,life expectancy,en -http://www.ebi.ac.uk/efo/EFO_0004778,self rated health,en -http://purl.obolibrary.org/obo/MONDO_0005015,diabetes mellitus,en -http://www.ebi.ac.uk/efo/EFO_0005741,infectious disease,en -http://purl.obolibrary.org/obo/DOID_9351,diabetes mellitus,en -http://www.ebi.ac.uk/efo/EFO_1001216,tooth disease,en -http://purl.obolibrary.org/obo/DOID_162,cancer,en -http://www.ebi.ac.uk/efo/EFO_0004352,mortality,en -http://purl.obolibrary.org/obo/DOID_0080600,COVID-19,en -https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en -http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,COVID-19,en -http://publications.europa.eu/resource/authority/access-right/PUBLIC,Public,en -http://publications.europa.eu/resource/authority/access-right/RESTRICTED,Restricted,en -http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,Non-public,en -http://purl.org/adms/status/Completed,Completed,en -http://purl.org/adms/status/Deprecated,Deprecated,en -http://purl.org/adms/status/UnderDevelopment,UnderDevelopment,en -http://purl.org/adms/status/Withdrawn,Withdrawn,en -http://purl.org/cld/freq/triennial,triennial,en -http://purl.org/cld/freq/biennial,biennial,en -http://purl.org/cld/freq/annual,annual,en -http://purl.org/cld/freq/semiannual,semiannual,en -http://purl.org/cld/freq/threeTimesAYear,three times a year,en -http://purl.org/cld/freq/quarterly,quarterly,en -http://purl.org/cld/freq/bimonthly,bimonthly,en -http://purl.org/cld/freq/monthly,monthly,en -http://purl.org/cld/freq/semimonthly,semimonthly,en -http://purl.org/cld/freq/biweekly,biweekly,en -http://purl.org/cld/freq/threeTimesAMonth,three times a month,en -http://purl.org/cld/freq/weekly,weekly,en -http://purl.org/cld/freq/semiweekly,semiweekly,en -http://purl.org/cld/freq/threeTimesAWeek,three times a week,en -http://purl.org/cld/freq/daily,daily,en -http://purl.org/cld/freq/continuous,continuous,en -http://purl.org/cld/freq/irregular,irregular,en -https://publications.europa.eu/resource/authority/language/LTZ,Luxembourgish,en -http://lexvo.org/id/iso639-3/ltz,Luxembourgish,en -https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,Invasive Breast Carcinoma,en -https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,Invasive Breast Carcinoma,en -http://purl.bioontology.org/ontology/ICD10CM/J96.2,Acute and chronic respiratory failure,en -access_rights,Access Rights,en -organization,Catalogues,en -publisher_name,Publishers,en -res_format,File Formats,en -spatial,Spatial Coverage,en -tags,Keywords,en -theme,Themes,en -https://publications.europa.eu/resource/authority/dataset-type/APROF,Application profile,en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,ATTO table - EUR-Lex domain,en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,ATTO table - Publications domain,en -https://publications.europa.eu/resource/authority/dataset-type/CODE_LIST,Code list,en -https://publications.europa.eu/resource/authority/dataset-type/CORE_COMP,Core component,en -https://publications.europa.eu/resource/authority/resource-type/DATABASE,Database,en -https://publications.europa.eu/resource/authority/dataset-type/DIRECTORY,Directory,en -https://publications.europa.eu/resource/authority/resource-type/DOC,Document,en -https://publications.europa.eu/resource/authority/dataset-type/DOMAIN_MODEL,Domain model,en -https://publications.europa.eu/resource/authority/dataset-type/GEOSPATIAL,Geospatial data,en -https://publications.europa.eu/resource/authority/dataset-type/GLOSSARY,Glossary,en -https://publications.europa.eu/resource/authority/dataset-type/HVD,High-value dataset,en -https://publications.europa.eu/resource/authority/dataset-type/IEPD,Information exchange package description,en -https://publications.europa.eu/resource/authority/dataset-type/MAPPING,Mapping,en -https://publications.europa.eu/resource/authority/dataset-type/NAL,Name authority list,en -https://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY,Ontology,en -https://publications.europa.eu/resource/authority/resource-type/REPORT_PERIOD,Periodic report,en -https://publications.europa.eu/resource/authority/dataset-type/OP_DATPRO,Provisional data,en -http://purl.obolibrary.org/obo/T4FS_0000109,Raw data,en -https://publications.europa.eu/resource/authority/dataset-type/RELEASE,Release,en -http://publications.europa.eu/resource/authority/resource-type/REPORT,Report,en -http://publications.europa.eu/resource/authority/resource-type/REPOSITORY,Repository,en -https://publications.europa.eu/resource/authority/dataset-type/SCHEMA,Schema,en -https://publications.europa.eu/resource/authority/dataset-type/DSCRP_SERV,Service description,en -https://publications.europa.eu/resource/authority/dataset-type/STATISTICAL,Statistical data,en -https://publications.europa.eu/resource/authority/dataset-type/STYLES,Styles sheets,en -https://publications.europa.eu/resource/authority/dataset-type/SYNTAX_ECD_SCHEME,Syntax encoding scheme,en -https://publications.europa.eu/resource/authority/dataset-type/SYNTHETIC_DATA,Synthetic data,en -https://publications.europa.eu/resource/authority/dataset-type/TAXONOMY,Taxonomy,en -https://publications.europa.eu/resource/authority/dataset-type/TEST_DATA,Test data,en -https://publications.europa.eu/resource/authority/dataset-type/THESAURUS,Thesaurus,en -https://publications.europa.eu/resource/authority/access-right/CONFIDENTIAL,confidential,en -https://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,non-public,en -https://publications.europa.eu/resource/authority/access-right/NORMAL,normal,en -https://publications.europa.eu/resource/authority/access-right/PUBLIC,public,en -https://publications.europa.eu/resource/authority/access-right/RESTRICTED,restricted,en -https://publications.europa.eu/resource/authority/access-right/SENSITIVE,sensitive,en -https://publications.europa.eu/resource/authority/frequency/ANNUAL,annual,en -https://publications.europa.eu/resource/authority/frequency/BIDECENNIAL,bidecennial,en -https://publications.europa.eu/resource/authority/frequency/BIENNIAL,biennial,en -https://publications.europa.eu/resource/authority/frequency/BIHOURLY,bihourly,en -https://publications.europa.eu/resource/authority/frequency/BIMONTHLY,bimonthly,en -https://publications.europa.eu/resource/authority/frequency/BIWEEKLY,biweekly,en -https://publications.europa.eu/resource/authority/frequency/CONT,cont,en -https://publications.europa.eu/resource/authority/frequency/UPDATE_CONT,continuously updated,en -https://publications.europa.eu/resource/authority/frequency/DAILY,daily,en -https://publications.europa.eu/resource/authority/frequency/DECENNIAL,decennial,en -https://publications.europa.eu/resource/authority/frequency/HOURLY,hourly,en -https://publications.europa.eu/resource/authority/frequency/IRREG,irregular,en -https://publications.europa.eu/resource/authority/frequency/MONTHLY,monthly,en -https://publications.europa.eu/resource/authority/frequency/NEVER,never,en -https://publications.europa.eu/resource/authority/frequency/OTHER,other,en -https://publications.europa.eu/resource/authority/frequency/OP_DATPRO,Provisional data,en -https://publications.europa.eu/resource/authority/frequency/QUADRENNIAL,quadrennial,en -https://publications.europa.eu/resource/authority/frequency/QUARTERLY,quarterly,en -https://publications.europa.eu/resource/authority/frequency/QUINQUENNIAL,quinquennial,en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_2,semiannual,en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_2,semimonthly,en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_2,semiweekly,en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_3,three times a month,en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_3,three times a week,en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_3,three times a year,en -https://publications.europa.eu/resource/authority/frequency/TRIDECENNIAL,tridecennial,en -https://publications.europa.eu/resource/authority/frequency/TRIENNIAL,triennial,en -https://publications.europa.eu/resource/authority/frequency/TRIHOURLY,trihourly,en -https://publications.europa.eu/resource/authority/frequency/DAILY_2,twice a day,en -https://publications.europa.eu/resource/authority/frequency/UNKNOWN,unknown,en -https://publications.europa.eu/resource/authority/frequency/WEEKLY,weekly,en +http://www.ebi.ac.uk/efo/EFO_0000684,"respiratory system disease",en +http://purl.obolibrary.org/obo/CHEBI_52217,"pharmaceutical",en +http://purl.bioontology.org/ontology/MESH/D011203,"Poverty",en +http://www.ebi.ac.uk/efo/EFO_0000400,"diabetes mellitus",en +http://purl.obolibrary.org/obo/MONDO_0004995,"cardiovascular disorder",en +http://www.ebi.ac.uk/efo/EFO_0000319,"cardiovascular disease",en +http://purl.obolibrary.org/obo/MONDO_0005084,"mental disorder",en +http://purl.obolibrary.org/obo/MONDO_0004992,"cancer",en +http://purl.obolibrary.org/obo/MONDO_0100096,"COVID-19",en +http://purl.obolibrary.org/obo/MONDO_0005087,"respiratory system disorder",en +http://purl.obolibrary.org/obo/MONDO_0005550,"infectious disease",en +http://www.ebi.ac.uk/efo/EFO_0004299,"life expectancy",en +http://www.ebi.ac.uk/efo/EFO_0004778,"self rated health",en +http://purl.obolibrary.org/obo/MONDO_0005015,"diabetes mellitus",en +http://www.ebi.ac.uk/efo/EFO_0005741,"infectious disease",en +http://purl.obolibrary.org/obo/DOID_9351,"diabetes mellitus",en +http://www.ebi.ac.uk/efo/EFO_1001216,"tooth disease",en +http://purl.obolibrary.org/obo/DOID_162,"cancer",en +http://www.ebi.ac.uk/efo/EFO_0004352,"mortality",en +http://purl.obolibrary.org/obo/DOID_0080600,"COVID-19",en +https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en +http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en +http://publications.europa.eu/resource/authority/access-right/PUBLIC,"Public",en +http://publications.europa.eu/resource/authority/access-right/RESTRICTED,"Restricted",en +http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"Non-public",en +http://purl.org/adms/status/Completed,"Completed",en +http://purl.org/adms/status/Deprecated,"Deprecated",en +http://purl.org/adms/status/UnderDevelopment,"UnderDevelopment",en +http://purl.org/adms/status/Withdrawn,"Withdrawn",en +http://purl.org/cld/freq/triennial,"triennial",en +http://purl.org/cld/freq/biennial,"biennial",en +http://purl.org/cld/freq/annual,"annual",en +http://purl.org/cld/freq/semiannual,"semiannual",en +http://purl.org/cld/freq/threeTimesAYear,"three times a year",en +http://purl.org/cld/freq/quarterly,"quarterly",en +http://purl.org/cld/freq/bimonthly,"bimonthly",en +http://purl.org/cld/freq/monthly,"monthly",en +http://purl.org/cld/freq/semimonthly,"semimonthly",en +http://purl.org/cld/freq/biweekly,"biweekly",en +http://purl.org/cld/freq/threeTimesAMonth,"three times a month",en +http://purl.org/cld/freq/weekly,"weekly",en +http://purl.org/cld/freq/semiweekly,"semiweekly",en +http://purl.org/cld/freq/threeTimesAWeek,"three times a week",en +http://purl.org/cld/freq/daily,"daily",en +http://purl.org/cld/freq/continuous,"continuous",en +http://purl.org/cld/freq/irregular,"irregular",en +https://publications.europa.eu/resource/authority/language/LTZ,"Luxembourgish",en +http://lexvo.org/id/iso639-3/ltz,"Luxembourgish",en +https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,"Invasive Breast Carcinoma",en +https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en +http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en +access_rights,"Access Rights",en +organization,"Catalogues",en +publisher_name,"Publishers",en +res_format,"File Formats",en +spatial,"Spatial Coverage",en +tags,"Keywords",en +theme,"Themes",en +https://publications.europa.eu/resource/authority/dataset-type/APROF,"Application profile",en +https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,"ATTO table - EUR-Lex domain",en +https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,"ATTO table - Publications domain",en +https://publications.europa.eu/resource/authority/dataset-type/CODE_LIST,"Code list",en +https://publications.europa.eu/resource/authority/dataset-type/CORE_COMP,"Core component",en +https://publications.europa.eu/resource/authority/resource-type/DATABASE,"Database",en +https://publications.europa.eu/resource/authority/dataset-type/DIRECTORY,"Directory",en +https://publications.europa.eu/resource/authority/resource-type/DOC,"Document",en +https://publications.europa.eu/resource/authority/dataset-type/DOMAIN_MODEL,"Domain model",en +https://publications.europa.eu/resource/authority/dataset-type/GEOSPATIAL,"Geospatial data",en +https://publications.europa.eu/resource/authority/dataset-type/GLOSSARY,"Glossary",en +https://publications.europa.eu/resource/authority/dataset-type/HVD,"High-value dataset",en +https://publications.europa.eu/resource/authority/dataset-type/IEPD,"Information exchange package description",en +https://publications.europa.eu/resource/authority/dataset-type/MAPPING,"Mapping",en +https://publications.europa.eu/resource/authority/dataset-type/NAL,"Name authority list",en +https://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY,"Ontology",en +https://publications.europa.eu/resource/authority/resource-type/REPORT_PERIOD,"Periodic report",en +https://publications.europa.eu/resource/authority/dataset-type/OP_DATPRO,"Provisional data",en +http://purl.obolibrary.org/obo/T4FS_0000109,"Raw data",en +https://publications.europa.eu/resource/authority/dataset-type/RELEASE,"Release",en +http://publications.europa.eu/resource/authority/resource-type/REPORT,"Report",en +http://publications.europa.eu/resource/authority/resource-type/REPOSITORY,"Repository",en +https://publications.europa.eu/resource/authority/dataset-type/SCHEMA,"Schema",en +https://publications.europa.eu/resource/authority/dataset-type/DSCRP_SERV,"Service description",en +https://publications.europa.eu/resource/authority/dataset-type/STATISTICAL,"Statistical data",en +https://publications.europa.eu/resource/authority/dataset-type/STYLES,"Styles sheets",en +https://publications.europa.eu/resource/authority/dataset-type/SYNTAX_ECD_SCHEME,"Syntax encoding scheme",en +https://publications.europa.eu/resource/authority/dataset-type/SYNTHETIC_DATA,"Synthetic data",en +https://publications.europa.eu/resource/authority/dataset-type/TAXONOMY,"Taxonomy",en +https://publications.europa.eu/resource/authority/dataset-type/TEST_DATA,"Test data",en +https://publications.europa.eu/resource/authority/dataset-type/THESAURUS,"Thesaurus",en +https://publications.europa.eu/resource/authority/access-right/CONFIDENTIAL,"confidential",en +https://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"non-public",en +https://publications.europa.eu/resource/authority/access-right/NORMAL,"normal",en +https://publications.europa.eu/resource/authority/access-right/PUBLIC,"public",en +https://publications.europa.eu/resource/authority/access-right/RESTRICTED,"restricted",en +https://publications.europa.eu/resource/authority/access-right/SENSITIVE,"sensitive",en +https://publications.europa.eu/resource/authority/frequency/ANNUAL,"annual",en +https://publications.europa.eu/resource/authority/frequency/BIDECENNIAL,"bidecennial",en +https://publications.europa.eu/resource/authority/frequency/BIENNIAL,"biennial",en +https://publications.europa.eu/resource/authority/frequency/BIHOURLY,"bihourly",en +https://publications.europa.eu/resource/authority/frequency/BIMONTHLY,"bimonthly",en +https://publications.europa.eu/resource/authority/frequency/BIWEEKLY,"biweekly",en +https://publications.europa.eu/resource/authority/frequency/CONT,"cont",en +https://publications.europa.eu/resource/authority/frequency/UPDATE_CONT,"continuously updated",en +https://publications.europa.eu/resource/authority/frequency/DAILY,"daily",en +https://publications.europa.eu/resource/authority/frequency/DECENNIAL,"decennial",en +https://publications.europa.eu/resource/authority/frequency/HOURLY,"hourly",en +https://publications.europa.eu/resource/authority/frequency/IRREG,"irregular",en +https://publications.europa.eu/resource/authority/frequency/MONTHLY,"monthly",en +https://publications.europa.eu/resource/authority/frequency/NEVER,"never",en +https://publications.europa.eu/resource/authority/frequency/OTHER,"other",en +https://publications.europa.eu/resource/authority/frequency/OP_DATPRO,"Provisional data",en +https://publications.europa.eu/resource/authority/frequency/QUADRENNIAL,"quadrennial",en +https://publications.europa.eu/resource/authority/frequency/QUARTERLY,"quarterly",en +https://publications.europa.eu/resource/authority/frequency/QUINQUENNIAL,"quinquennial",en +https://publications.europa.eu/resource/authority/frequency/ANNUAL_2,"semiannual",en +https://publications.europa.eu/resource/authority/frequency/MONTHLY_2,"semimonthly",en +https://publications.europa.eu/resource/authority/frequency/WEEKLY_2,"semiweekly",en +https://publications.europa.eu/resource/authority/frequency/MONTHLY_3,"three times a month",en +https://publications.europa.eu/resource/authority/frequency/WEEKLY_3,"three times a week",en +https://publications.europa.eu/resource/authority/frequency/ANNUAL_3,"three times a year",en +https://publications.europa.eu/resource/authority/frequency/TRIDECENNIAL,"tridecennial",en +https://publications.europa.eu/resource/authority/frequency/TRIENNIAL,"triennial",en +https://publications.europa.eu/resource/authority/frequency/TRIHOURLY,"trihourly",en +https://publications.europa.eu/resource/authority/frequency/DAILY_2,"twice a day",en +https://publications.europa.eu/resource/authority/frequency/UNKNOWN,"unknown",en +https://publications.europa.eu/resource/authority/frequency/WEEKLY,"weekly",en https://publications.europa.eu/resource/authority/data-theme/AGRI,"Agriculture, fisheries, forestry and food",en -https://publications.europa.eu/resource/authority/data-theme/ECON,Economy and finance,en +https://publications.europa.eu/resource/authority/data-theme/ECON,"Economy and finance",en https://publications.europa.eu/resource/authority/data-theme/EDUC,"Education, culture and sport",en -https://publications.europa.eu/resource/authority/data-theme/ENER,Energy,en -https://publications.europa.eu/resource/authority/data-theme/ENVI,Environment,en -https://publications.europa.eu/resource/authority/data-theme/GOVE,Government and public sector,en -https://publications.europa.eu/resource/authority/data-theme/HEAL,Health,en -https://publications.europa.eu/resource/authority/data-theme/INTR,International issues,en +https://publications.europa.eu/resource/authority/data-theme/ENER,"Energy",en +https://publications.europa.eu/resource/authority/data-theme/ENVI,"Environment",en +https://publications.europa.eu/resource/authority/data-theme/GOVE,"Government and public sector",en +https://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en +https://publications.europa.eu/resource/authority/data-theme/INTR,"International issues",en https://publications.europa.eu/resource/authority/data-theme/JUST,"Justice, legal system and public safety",en -https://publications.europa.eu/resource/authority/data-theme/SOCI,Population and society,en -https://publications.europa.eu/resource/authority/data-theme/OP_DATPRO,Provisional data,en -https://publications.europa.eu/resource/authority/data-theme/REGI,Regions and cities,en -https://publications.europa.eu/resource/authority/data-theme/TECH,Science and technology,en -https://publications.europa.eu/resource/authority/data-theme/TRAN,Transport,en -https://publications.europa.eu/resource/authority/file-type/7Z,7z,en -https://publications.europa.eu/resource/authority/file-type/AAB,AAB,en -https://publications.europa.eu/resource/authority/file-type/AAC,AAC,en -https://publications.europa.eu/resource/authority/file-type/AKN4EU,AKN4EU file,en -https://publications.europa.eu/resource/authority/file-type/AKN4EU_ZIP,AKN4EU ZIP,en -https://publications.europa.eu/resource/authority/file-type/AZW,Amazon Kindle eBook,en -https://publications.europa.eu/resource/authority/file-type/APK,APK,en -https://publications.europa.eu/resource/authority/file-type/APPX,AppX,en -https://publications.europa.eu/resource/authority/file-type/ARC_GZ,ARC GZ,en -https://publications.europa.eu/resource/authority/file-type/ARC,ARC,en -https://publications.europa.eu/resource/authority/file-type/MAP_PRVW,ArcGIS Map Preview,en -https://publications.europa.eu/resource/authority/file-type/MAP_SRVC,ArcGIS Map Service,en -https://publications.europa.eu/resource/authority/file-type/ARCINFO_COV,ArcInfo coverage,en -https://publications.europa.eu/resource/authority/file-type/ARJ,ARJ,en -https://publications.europa.eu/resource/authority/file-type/ATOM,Atom Feed,en -https://publications.europa.eu/resource/authority/file-type/BIN,Binary Data,en -https://publications.europa.eu/resource/authority/file-type/BMP,Bitmap Image File,en -https://publications.europa.eu/resource/authority/file-type/BITS,BITS XML,en -https://publications.europa.eu/resource/authority/file-type/BWF,BWF,en -https://publications.europa.eu/resource/authority/file-type/BZIP2,bzip2,en -https://publications.europa.eu/resource/authority/file-type/LAZ,Compressed LAS file,en -https://publications.europa.eu/resource/authority/file-type/CSS,CSS,en -https://publications.europa.eu/resource/authority/file-type/CSV,CSV,en -https://publications.europa.eu/resource/authority/file-type/DAPK,DAPK,en -https://publications.europa.eu/resource/authority/file-type/DBF,DBF,en -https://publications.europa.eu/resource/authority/file-type/DCR,DCR File,en -https://publications.europa.eu/resource/authority/file-type/DEB,deb,en -https://publications.europa.eu/resource/authority/file-type/DGN,DGN,en -https://publications.europa.eu/resource/authority/file-type/DMG,DMG,en -https://publications.europa.eu/resource/authority/file-type/DWCA,DwC-A,en -https://publications.europa.eu/resource/authority/file-type/DWG,DWG,en -https://publications.europa.eu/resource/authority/file-type/DXF,DXF,en -https://publications.europa.eu/resource/authority/file-type/E00,E00,en -https://publications.europa.eu/resource/authority/file-type/EAR,EAR,en -https://publications.europa.eu/resource/authority/file-type/ECW,ECW,en -https://publications.europa.eu/resource/authority/file-type/EFORMS_XML,eForms XML,en -https://publications.europa.eu/resource/authority/file-type/EPS,Encapsulated Postscript,en -https://publications.europa.eu/resource/authority/file-type/EPUB,EPUB,en -https://publications.europa.eu/resource/authority/file-type/GRID_ASCII,Esri ASCII grid,en -https://publications.europa.eu/resource/authority/file-type/GRID,Esri binary grid,en -https://publications.europa.eu/resource/authority/file-type/GDB,Esri File Geodatabase,en -https://publications.europa.eu/resource/authority/file-type/REST,Esri REST,en -https://publications.europa.eu/resource/authority/file-type/SHP,Esri Shape,en -https://publications.europa.eu/resource/authority/file-type/ETSI_XML,ETSI signature validation report,en -https://publications.europa.eu/resource/authority/file-type/XLS,Excel XLS,en -https://publications.europa.eu/resource/authority/file-type/XLSX,Excel XLSX,en -https://publications.europa.eu/resource/authority/file-type/EXE,EXE,en -https://publications.europa.eu/resource/authority/file-type/FMX4_ZIP,FMX4 ZIP,en -https://publications.europa.eu/resource/authority/file-type/FMX2,Formex 2,en -https://publications.europa.eu/resource/authority/file-type/FMX3,Formex 3,en -https://publications.europa.eu/resource/authority/file-type/FMX4,Formex 4,en -https://publications.europa.eu/resource/authority/file-type/GEOJSON,GeoJSON,en -https://publications.europa.eu/resource/authority/file-type/GPKG,GeoPackage,en -https://publications.europa.eu/resource/authority/file-type/GEOTIFF,GeoTIFF,en -https://publications.europa.eu/resource/authority/file-type/GIF,GIF,en -https://publications.europa.eu/resource/authority/file-type/GML,GML,en -https://publications.europa.eu/resource/authority/file-type/GZIP,GNU zip,en -https://publications.europa.eu/resource/authority/file-type/GTFS,GTFS,en -https://publications.europa.eu/resource/authority/file-type/HDF,HDF,en -https://publications.europa.eu/resource/authority/file-type/HDT,HDT,en -https://publications.europa.eu/resource/authority/file-type/HTML_SIMPL,HTML simplified,en -https://publications.europa.eu/resource/authority/file-type/HTML,HTML,en -https://publications.europa.eu/resource/authority/file-type/HTML5,HTML5,en -https://publications.europa.eu/resource/authority/file-type/MSG_HTTP,HTTP Message,en -https://publications.europa.eu/resource/authority/file-type/ICS,ICalendar,en -https://publications.europa.eu/resource/authority/file-type/IMMC_XML,IMMC XML message,en -https://publications.europa.eu/resource/authority/file-type/INDD,INDD,en -https://publications.europa.eu/resource/authority/file-type/IPA,IPA,en -https://publications.europa.eu/resource/authority/file-type/ISO,ISO image,en -https://publications.europa.eu/resource/authority/file-type/JAR,JAR,en -https://publications.europa.eu/resource/authority/file-type/JATS,JATS XML,en -https://publications.europa.eu/resource/authority/file-type/JS,JavaScript,en -https://publications.europa.eu/resource/authority/file-type/JPEG2000,JPEG 2000,en -https://publications.europa.eu/resource/authority/file-type/JPEG,JPEG,en -https://publications.europa.eu/resource/authority/file-type/JSON_LD,JSON-LD,en -https://publications.europa.eu/resource/authority/file-type/JSON,JSON,en -https://publications.europa.eu/resource/authority/file-type/KML,KML,en -https://publications.europa.eu/resource/authority/file-type/KMZ,KMZ,en -https://publications.europa.eu/resource/authority/file-type/LAS,LASer file,en -https://publications.europa.eu/resource/authority/file-type/LPK,Layer package,en -https://publications.europa.eu/resource/authority/file-type/LEG,LEG,en -https://publications.europa.eu/resource/authority/file-type/LHA,LHA,en -https://publications.europa.eu/resource/authority/file-type/LZIP,lzip,en -https://publications.europa.eu/resource/authority/file-type/LZMA,lzma,en -https://publications.europa.eu/resource/authority/file-type/LZO,lzo,en -https://publications.europa.eu/resource/authority/file-type/TAB,MapInfo TAB file,en -https://publications.europa.eu/resource/authority/file-type/TAB_RSTR,MapInfo TAB raster file,en -https://publications.europa.eu/resource/authority/file-type/MATHML,MathML,en -https://publications.europa.eu/resource/authority/file-type/MBOX,MBOX,en -https://publications.europa.eu/resource/authority/file-type/MDB,MDB,en -https://publications.europa.eu/resource/authority/file-type/METS_ZIP,METS package,en -https://publications.europa.eu/resource/authority/file-type/METS,METS XML,en -https://publications.europa.eu/resource/authority/file-type/MHTML,MHTML,en -https://publications.europa.eu/resource/authority/file-type/MIF_MID,MIF/MID,en -https://publications.europa.eu/resource/authority/file-type/MOBI,Mobipocket eBook,en -https://publications.europa.eu/resource/authority/file-type/MOP,MOP,en -https://publications.europa.eu/resource/authority/file-type/MOV,MOV,en -https://publications.europa.eu/resource/authority/file-type/MP3,MP3,en -https://publications.europa.eu/resource/authority/file-type/MPEG2,MPEG-2,en -https://publications.europa.eu/resource/authority/file-type/MPEG4_AVC,MPEG-4 AVC,en -https://publications.europa.eu/resource/authority/file-type/MPEG4,MPEG-4,en -https://publications.europa.eu/resource/authority/file-type/MRSID,MrSID,en -https://publications.europa.eu/resource/authority/file-type/MSI,MSI,en -https://publications.europa.eu/resource/authority/file-type/MXD,MXD,en -https://publications.europa.eu/resource/authority/file-type/N3,N3,en -https://publications.europa.eu/resource/authority/file-type/NETCDF,NetCDF,en -https://publications.europa.eu/resource/authority/file-type/OAPK,OAPK,en -https://publications.europa.eu/resource/authority/file-type/OCTET,Octet Stream,en -https://publications.europa.eu/resource/authority/file-type/ODF,ODF,en -https://publications.europa.eu/resource/authority/file-type/ODP,ODP,en -https://publications.europa.eu/resource/authority/file-type/ODS,ODS,en -https://publications.europa.eu/resource/authority/file-type/ODT,ODT,en -https://publications.europa.eu/resource/authority/file-type/ODC,OpenDocument Chart,en -https://publications.europa.eu/resource/authority/file-type/ODB,OpenDocument Database,en -https://publications.europa.eu/resource/authority/file-type/ODG,OpenDocument Image,en -https://publications.europa.eu/resource/authority/file-type/DMP,Oracle Dump,en -https://publications.europa.eu/resource/authority/file-type/OVF,OVF,en -https://publications.europa.eu/resource/authority/file-type/OWL,OWL,en -https://publications.europa.eu/resource/authority/file-type/PDF,PDF,en -https://publications.europa.eu/resource/authority/file-type/PDFA1A,PDF/A-1a,en -https://publications.europa.eu/resource/authority/file-type/PDFA1B,PDF/A-1b,en -https://publications.europa.eu/resource/authority/file-type/PDFA2A,PDF/A-2a,en -https://publications.europa.eu/resource/authority/file-type/PDFA2B,PDF/A-2b,en -https://publications.europa.eu/resource/authority/file-type/PDFUA,PDF/UA,en -https://publications.europa.eu/resource/authority/file-type/PDFX1A,PDF/X-1a,en -https://publications.europa.eu/resource/authority/file-type/PDFX2A,PDF/X-2a,en -https://publications.europa.eu/resource/authority/file-type/PDFX4,PDF/X-4,en -https://publications.europa.eu/resource/authority/file-type/PDFX,PDF/X,en -https://publications.europa.eu/resource/authority/file-type/PDF1X,PDF1X,en -https://publications.europa.eu/resource/authority/file-type/PDFA3,PDFA-3,en -https://publications.europa.eu/resource/authority/file-type/PL,Perl script,en -https://publications.europa.eu/resource/authority/file-type/TXT,Plain text,en -https://publications.europa.eu/resource/authority/file-type/PNG,PNG,en -https://publications.europa.eu/resource/authority/file-type/PPSX,PowerPoint PPSX,en -https://publications.europa.eu/resource/authority/file-type/PPT,PowerPoint PPT,en -https://publications.europa.eu/resource/authority/file-type/PPTX,PowerPoint PPTX,en -https://publications.europa.eu/resource/authority/file-type/PPS,PowerPoint Slide Show,en -https://publications.europa.eu/resource/authority/file-type/PS,PS,en -https://publications.europa.eu/resource/authority/file-type/PSD,PSD,en -https://publications.europa.eu/resource/authority/file-type/PWP,PWP,en -https://publications.europa.eu/resource/authority/file-type/QGS,QGS,en -https://publications.europa.eu/resource/authority/file-type/RAR,RAR,en -https://publications.europa.eu/resource/authority/file-type/RDF_N_QUADS,RDF N-Quads,en -https://publications.europa.eu/resource/authority/file-type/RDF_N_TRIPLES,RDF N-Triples,en -https://publications.europa.eu/resource/authority/file-type/RDF_THRIFT,RDF Thrift,en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIG,RDF TriG,en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIX,RDF TriX,en -https://publications.europa.eu/resource/authority/file-type/RDF_TURTLE,RDF Turtle,en -https://publications.europa.eu/resource/authority/file-type/RDF_XML,RDF XML,en -https://publications.europa.eu/resource/authority/file-type/RDF,RDF,en -https://publications.europa.eu/resource/authority/file-type/RDFA,RDFa,en -https://publications.europa.eu/resource/authority/file-type/RPM,RPM,en -https://publications.europa.eu/resource/authority/file-type/RSS,RSS feed,en -https://publications.europa.eu/resource/authority/file-type/RTF,RTF,en -https://publications.europa.eu/resource/authority/file-type/SB3,sb3,en -https://publications.europa.eu/resource/authority/file-type/SDMX,SDMX,en -https://publications.europa.eu/resource/authority/file-type/DTD_SGML,SGML DTD,en -https://publications.europa.eu/resource/authority/file-type/SGML,SGML,en -https://publications.europa.eu/resource/authority/file-type/SKOS_XML,SKOS,en -https://publications.europa.eu/resource/authority/file-type/SPARQLQRES,SPARQL results,en -https://publications.europa.eu/resource/authority/file-type/SPARQLQ,SPARQL,en -https://publications.europa.eu/resource/authority/file-type/SQL,SQL,en -https://publications.europa.eu/resource/authority/file-type/STL,StL,en -https://publications.europa.eu/resource/authority/file-type/SVG,SVG,en -https://publications.europa.eu/resource/authority/file-type/SWM,SWM,en -https://publications.europa.eu/resource/authority/file-type/TAR_GZ,TAR GZ,en -https://publications.europa.eu/resource/authority/file-type/TAR_XZ,TAR XZ,en -https://publications.europa.eu/resource/authority/file-type/TAR,TAR,en -https://publications.europa.eu/resource/authority/file-type/TIFF_FX,TIFF FX,en -https://publications.europa.eu/resource/authority/file-type/TIFF,TIFF,en -https://publications.europa.eu/resource/authority/file-type/TMX,TMX,en -https://publications.europa.eu/resource/authority/file-type/TSV,TSV,en -https://publications.europa.eu/resource/authority/file-type/UNGEN,Ungen,en -https://publications.europa.eu/resource/authority/file-type/WAR,WAR,en -https://publications.europa.eu/resource/authority/file-type/WARC_GZ,WARC GZ,en -https://publications.europa.eu/resource/authority/file-type/WARC,WARC,en -https://publications.europa.eu/resource/authority/file-type/WAV,WAV,en -https://publications.europa.eu/resource/authority/file-type/WCS_SRVC,WCS,en -https://publications.europa.eu/resource/authority/file-type/WEBP,WebP,en -https://publications.europa.eu/resource/authority/file-type/WFS_SRVC,WFS,en -https://publications.europa.eu/resource/authority/file-type/WIM,WIM,en -https://publications.europa.eu/resource/authority/file-type/WMS_SRVC,WMS,en -https://publications.europa.eu/resource/authority/file-type/WMTS_SRVC,WMTS,en -https://publications.europa.eu/resource/authority/file-type/DOC,Word DOC,en -https://publications.europa.eu/resource/authority/file-type/DOCX,Word DOCX,en -https://publications.europa.eu/resource/authority/file-type/WORLD,World file,en -https://publications.europa.eu/resource/authority/file-type/XHTML_SIMPL,XHTML simplified,en -https://publications.europa.eu/resource/authority/file-type/XHTML,XHTML,en -https://publications.europa.eu/resource/authority/file-type/XHTML5,XHTML5,en -https://publications.europa.eu/resource/authority/file-type/XLIFF,XLIFF,en -https://publications.europa.eu/resource/authority/file-type/XLSB,XLSB,en -https://publications.europa.eu/resource/authority/file-type/XLSM,XLSM,en -https://publications.europa.eu/resource/authority/file-type/DTD_XML,XML DTD,en -https://publications.europa.eu/resource/authority/file-type/SCHEMA_XML,XML schema,en -https://publications.europa.eu/resource/authority/file-type/XML,XML,en -https://publications.europa.eu/resource/authority/file-type/XSLFO,XSL-FO,en -https://publications.europa.eu/resource/authority/file-type/XSLT,XSLT,en -https://publications.europa.eu/resource/authority/file-type/XYZ,XYZ Chemical File,en -https://publications.europa.eu/resource/authority/file-type/XZ,xz,en -https://publications.europa.eu/resource/authority/file-type/YAML,YAML,en -https://publications.europa.eu/resource/authority/file-type/Z,Z,en -https://publications.europa.eu/resource/authority/file-type/ZIP,ZIP,en -https://publications.europa.eu/resource/authority/file-type/GMZ,Zipped GML,en -https://publications.europa.eu/resource/authority/file-type/ISO_ZIP,Zipped ISO image,en +https://publications.europa.eu/resource/authority/data-theme/SOCI,"Population and society",en +https://publications.europa.eu/resource/authority/data-theme/OP_DATPRO,"Provisional data",en +https://publications.europa.eu/resource/authority/data-theme/REGI,"Regions and cities",en +https://publications.europa.eu/resource/authority/data-theme/TECH,"Science and technology",en +https://publications.europa.eu/resource/authority/data-theme/TRAN,"Transport",en +https://publications.europa.eu/resource/authority/file-type/7Z,"7z",en +https://publications.europa.eu/resource/authority/file-type/AAB,"AAB",en +https://publications.europa.eu/resource/authority/file-type/AAC,"AAC",en +https://publications.europa.eu/resource/authority/file-type/AKN4EU,"AKN4EU file",en +https://publications.europa.eu/resource/authority/file-type/AKN4EU_ZIP,"AKN4EU ZIP",en +https://publications.europa.eu/resource/authority/file-type/AZW,"Amazon Kindle eBook",en +https://publications.europa.eu/resource/authority/file-type/APK,"APK",en +https://publications.europa.eu/resource/authority/file-type/APPX,"AppX",en +https://publications.europa.eu/resource/authority/file-type/ARC_GZ,"ARC GZ",en +https://publications.europa.eu/resource/authority/file-type/ARC,"ARC",en +https://publications.europa.eu/resource/authority/file-type/MAP_PRVW,"ArcGIS Map Preview",en +https://publications.europa.eu/resource/authority/file-type/MAP_SRVC,"ArcGIS Map Service",en +https://publications.europa.eu/resource/authority/file-type/ARCINFO_COV,"ArcInfo coverage",en +https://publications.europa.eu/resource/authority/file-type/ARJ,"ARJ",en +https://publications.europa.eu/resource/authority/file-type/ATOM,"Atom Feed",en +https://publications.europa.eu/resource/authority/file-type/BIN,"Binary Data",en +https://publications.europa.eu/resource/authority/file-type/BMP,"Bitmap Image File",en +https://publications.europa.eu/resource/authority/file-type/BITS,"BITS XML",en +https://publications.europa.eu/resource/authority/file-type/BWF,"BWF",en +https://publications.europa.eu/resource/authority/file-type/BZIP2,"bzip2",en +https://publications.europa.eu/resource/authority/file-type/LAZ,"Compressed LAS file",en +https://publications.europa.eu/resource/authority/file-type/CSS,"CSS",en +https://publications.europa.eu/resource/authority/file-type/CSV,"CSV",en +https://publications.europa.eu/resource/authority/file-type/DAPK,"DAPK",en +https://publications.europa.eu/resource/authority/file-type/DBF,"DBF",en +https://publications.europa.eu/resource/authority/file-type/DCR,"DCR File",en +https://publications.europa.eu/resource/authority/file-type/DEB,"deb",en +https://publications.europa.eu/resource/authority/file-type/DGN,"DGN",en +https://publications.europa.eu/resource/authority/file-type/DMG,"DMG",en +https://publications.europa.eu/resource/authority/file-type/DWCA,"DwC-A",en +https://publications.europa.eu/resource/authority/file-type/DWG,"DWG",en +https://publications.europa.eu/resource/authority/file-type/DXF,"DXF",en +https://publications.europa.eu/resource/authority/file-type/E00,"E00",en +https://publications.europa.eu/resource/authority/file-type/EAR,"EAR",en +https://publications.europa.eu/resource/authority/file-type/ECW,"ECW",en +https://publications.europa.eu/resource/authority/file-type/EFORMS_XML,"eForms XML",en +https://publications.europa.eu/resource/authority/file-type/EPS,"Encapsulated Postscript",en +https://publications.europa.eu/resource/authority/file-type/EPUB,"EPUB",en +https://publications.europa.eu/resource/authority/file-type/GRID_ASCII,"Esri ASCII grid",en +https://publications.europa.eu/resource/authority/file-type/GRID,"Esri binary grid",en +https://publications.europa.eu/resource/authority/file-type/GDB,"Esri File Geodatabase",en +https://publications.europa.eu/resource/authority/file-type/REST,"Esri REST",en +https://publications.europa.eu/resource/authority/file-type/SHP,"Esri Shape",en +https://publications.europa.eu/resource/authority/file-type/ETSI_XML,"ETSI signature validation report",en +https://publications.europa.eu/resource/authority/file-type/XLS,"Excel XLS",en +https://publications.europa.eu/resource/authority/file-type/XLSX,"Excel XLSX",en +https://publications.europa.eu/resource/authority/file-type/EXE,"EXE",en +https://publications.europa.eu/resource/authority/file-type/FMX4_ZIP,"FMX4 ZIP",en +https://publications.europa.eu/resource/authority/file-type/FMX2,"Formex 2",en +https://publications.europa.eu/resource/authority/file-type/FMX3,"Formex 3",en +https://publications.europa.eu/resource/authority/file-type/FMX4,"Formex 4",en +https://publications.europa.eu/resource/authority/file-type/GEOJSON,"GeoJSON",en +https://publications.europa.eu/resource/authority/file-type/GPKG,"GeoPackage",en +https://publications.europa.eu/resource/authority/file-type/GEOTIFF,"GeoTIFF",en +https://publications.europa.eu/resource/authority/file-type/GIF,"GIF",en +https://publications.europa.eu/resource/authority/file-type/GML,"GML",en +https://publications.europa.eu/resource/authority/file-type/GZIP,"GNU zip",en +https://publications.europa.eu/resource/authority/file-type/GTFS,"GTFS",en +https://publications.europa.eu/resource/authority/file-type/HDF,"HDF",en +https://publications.europa.eu/resource/authority/file-type/HDT,"HDT",en +https://publications.europa.eu/resource/authority/file-type/HTML_SIMPL,"HTML simplified",en +https://publications.europa.eu/resource/authority/file-type/HTML,"HTML",en +https://publications.europa.eu/resource/authority/file-type/HTML5,"HTML5",en +https://publications.europa.eu/resource/authority/file-type/MSG_HTTP,"HTTP Message",en +https://publications.europa.eu/resource/authority/file-type/ICS,"ICalendar",en +https://publications.europa.eu/resource/authority/file-type/IMMC_XML,"IMMC XML message",en +https://publications.europa.eu/resource/authority/file-type/INDD,"INDD",en +https://publications.europa.eu/resource/authority/file-type/IPA,"IPA",en +https://publications.europa.eu/resource/authority/file-type/ISO,"ISO image",en +https://publications.europa.eu/resource/authority/file-type/JAR,"JAR",en +https://publications.europa.eu/resource/authority/file-type/JATS,"JATS XML",en +https://publications.europa.eu/resource/authority/file-type/JS,"JavaScript",en +https://publications.europa.eu/resource/authority/file-type/JPEG2000,"JPEG 2000",en +https://publications.europa.eu/resource/authority/file-type/JPEG,"JPEG",en +https://publications.europa.eu/resource/authority/file-type/JSON_LD,"JSON-LD",en +https://publications.europa.eu/resource/authority/file-type/JSON,"JSON",en +https://publications.europa.eu/resource/authority/file-type/KML,"KML",en +https://publications.europa.eu/resource/authority/file-type/KMZ,"KMZ",en +https://publications.europa.eu/resource/authority/file-type/LAS,"LASer file",en +https://publications.europa.eu/resource/authority/file-type/LPK,"Layer package",en +https://publications.europa.eu/resource/authority/file-type/LEG,"LEG",en +https://publications.europa.eu/resource/authority/file-type/LHA,"LHA",en +https://publications.europa.eu/resource/authority/file-type/LZIP,"lzip",en +https://publications.europa.eu/resource/authority/file-type/LZMA,"lzma",en +https://publications.europa.eu/resource/authority/file-type/LZO,"lzo",en +https://publications.europa.eu/resource/authority/file-type/TAB,"MapInfo TAB file",en +https://publications.europa.eu/resource/authority/file-type/TAB_RSTR,"MapInfo TAB raster file",en +https://publications.europa.eu/resource/authority/file-type/MATHML,"MathML",en +https://publications.europa.eu/resource/authority/file-type/MBOX,"MBOX",en +https://publications.europa.eu/resource/authority/file-type/MDB,"MDB",en +https://publications.europa.eu/resource/authority/file-type/METS_ZIP,"METS package",en +https://publications.europa.eu/resource/authority/file-type/METS,"METS XML",en +https://publications.europa.eu/resource/authority/file-type/MHTML,"MHTML",en +https://publications.europa.eu/resource/authority/file-type/MIF_MID,"MIF/MID",en +https://publications.europa.eu/resource/authority/file-type/MOBI,"Mobipocket eBook",en +https://publications.europa.eu/resource/authority/file-type/MOP,"MOP",en +https://publications.europa.eu/resource/authority/file-type/MOV,"MOV",en +https://publications.europa.eu/resource/authority/file-type/MP3,"MP3",en +https://publications.europa.eu/resource/authority/file-type/MPEG2,"MPEG-2",en +https://publications.europa.eu/resource/authority/file-type/MPEG4_AVC,"MPEG-4 AVC",en +https://publications.europa.eu/resource/authority/file-type/MPEG4,"MPEG-4",en +https://publications.europa.eu/resource/authority/file-type/MRSID,"MrSID",en +https://publications.europa.eu/resource/authority/file-type/MSI,"MSI",en +https://publications.europa.eu/resource/authority/file-type/MXD,"MXD",en +https://publications.europa.eu/resource/authority/file-type/N3,"N3",en +https://publications.europa.eu/resource/authority/file-type/NETCDF,"NetCDF",en +https://publications.europa.eu/resource/authority/file-type/OAPK,"OAPK",en +https://publications.europa.eu/resource/authority/file-type/OCTET,"Octet Stream",en +https://publications.europa.eu/resource/authority/file-type/ODF,"ODF",en +https://publications.europa.eu/resource/authority/file-type/ODP,"ODP",en +https://publications.europa.eu/resource/authority/file-type/ODS,"ODS",en +https://publications.europa.eu/resource/authority/file-type/ODT,"ODT",en +https://publications.europa.eu/resource/authority/file-type/ODC,"OpenDocument Chart",en +https://publications.europa.eu/resource/authority/file-type/ODB,"OpenDocument Database",en +https://publications.europa.eu/resource/authority/file-type/ODG,"OpenDocument Image",en +https://publications.europa.eu/resource/authority/file-type/DMP,"Oracle Dump",en +https://publications.europa.eu/resource/authority/file-type/OVF,"OVF",en +https://publications.europa.eu/resource/authority/file-type/OWL,"OWL",en +https://publications.europa.eu/resource/authority/file-type/PDF,"PDF",en +https://publications.europa.eu/resource/authority/file-type/PDFA1A,"PDF/A-1a",en +https://publications.europa.eu/resource/authority/file-type/PDFA1B,"PDF/A-1b",en +https://publications.europa.eu/resource/authority/file-type/PDFA2A,"PDF/A-2a",en +https://publications.europa.eu/resource/authority/file-type/PDFA2B,"PDF/A-2b",en +https://publications.europa.eu/resource/authority/file-type/PDFUA,"PDF/UA",en +https://publications.europa.eu/resource/authority/file-type/PDFX1A,"PDF/X-1a",en +https://publications.europa.eu/resource/authority/file-type/PDFX2A,"PDF/X-2a",en +https://publications.europa.eu/resource/authority/file-type/PDFX4,"PDF/X-4",en +https://publications.europa.eu/resource/authority/file-type/PDFX,"PDF/X",en +https://publications.europa.eu/resource/authority/file-type/PDF1X,"PDF1X",en +https://publications.europa.eu/resource/authority/file-type/PDFA3,"PDFA-3",en +https://publications.europa.eu/resource/authority/file-type/PL,"Perl script",en +https://publications.europa.eu/resource/authority/file-type/TXT,"Plain text",en +https://publications.europa.eu/resource/authority/file-type/PNG,"PNG",en +https://publications.europa.eu/resource/authority/file-type/PPSX,"PowerPoint PPSX",en +https://publications.europa.eu/resource/authority/file-type/PPT,"PowerPoint PPT",en +https://publications.europa.eu/resource/authority/file-type/PPTX,"PowerPoint PPTX",en +https://publications.europa.eu/resource/authority/file-type/PPS,"PowerPoint Slide Show",en +https://publications.europa.eu/resource/authority/file-type/PS,"PS",en +https://publications.europa.eu/resource/authority/file-type/PSD,"PSD",en +https://publications.europa.eu/resource/authority/file-type/PWP,"PWP",en +https://publications.europa.eu/resource/authority/file-type/QGS,"QGS",en +https://publications.europa.eu/resource/authority/file-type/RAR,"RAR",en +https://publications.europa.eu/resource/authority/file-type/RDF_N_QUADS,"RDF N-Quads",en +https://publications.europa.eu/resource/authority/file-type/RDF_N_TRIPLES,"RDF N-Triples",en +https://publications.europa.eu/resource/authority/file-type/RDF_THRIFT,"RDF Thrift",en +https://publications.europa.eu/resource/authority/file-type/RDF_TRIG,"RDF TriG",en +https://publications.europa.eu/resource/authority/file-type/RDF_TRIX,"RDF TriX",en +https://publications.europa.eu/resource/authority/file-type/RDF_TURTLE,"RDF Turtle",en +https://publications.europa.eu/resource/authority/file-type/RDF_XML,"RDF XML",en +https://publications.europa.eu/resource/authority/file-type/RDF,"RDF",en +https://publications.europa.eu/resource/authority/file-type/RDFA,"RDFa",en +https://publications.europa.eu/resource/authority/file-type/RPM,"RPM",en +https://publications.europa.eu/resource/authority/file-type/RSS,"RSS feed",en +https://publications.europa.eu/resource/authority/file-type/RTF,"RTF",en +https://publications.europa.eu/resource/authority/file-type/SB3,"sb3",en +https://publications.europa.eu/resource/authority/file-type/SDMX,"SDMX",en +https://publications.europa.eu/resource/authority/file-type/DTD_SGML,"SGML DTD",en +https://publications.europa.eu/resource/authority/file-type/SGML,"SGML",en +https://publications.europa.eu/resource/authority/file-type/SKOS_XML,"SKOS",en +https://publications.europa.eu/resource/authority/file-type/SPARQLQRES,"SPARQL results",en +https://publications.europa.eu/resource/authority/file-type/SPARQLQ,"SPARQL",en +https://publications.europa.eu/resource/authority/file-type/SQL,"SQL",en +https://publications.europa.eu/resource/authority/file-type/STL,"StL",en +https://publications.europa.eu/resource/authority/file-type/SVG,"SVG",en +https://publications.europa.eu/resource/authority/file-type/SWM,"SWM",en +https://publications.europa.eu/resource/authority/file-type/TAR_GZ,"TAR GZ",en +https://publications.europa.eu/resource/authority/file-type/TAR_XZ,"TAR XZ",en +https://publications.europa.eu/resource/authority/file-type/TAR,"TAR",en +https://publications.europa.eu/resource/authority/file-type/TIFF_FX,"TIFF FX",en +https://publications.europa.eu/resource/authority/file-type/TIFF,"TIFF",en +https://publications.europa.eu/resource/authority/file-type/TMX,"TMX",en +https://publications.europa.eu/resource/authority/file-type/TSV,"TSV",en +https://publications.europa.eu/resource/authority/file-type/UNGEN,"Ungen",en +https://publications.europa.eu/resource/authority/file-type/WAR,"WAR",en +https://publications.europa.eu/resource/authority/file-type/WARC_GZ,"WARC GZ",en +https://publications.europa.eu/resource/authority/file-type/WARC,"WARC",en +https://publications.europa.eu/resource/authority/file-type/WAV,"WAV",en +https://publications.europa.eu/resource/authority/file-type/WCS_SRVC,"WCS",en +https://publications.europa.eu/resource/authority/file-type/WEBP,"WebP",en +https://publications.europa.eu/resource/authority/file-type/WFS_SRVC,"WFS",en +https://publications.europa.eu/resource/authority/file-type/WIM,"WIM",en +https://publications.europa.eu/resource/authority/file-type/WMS_SRVC,"WMS",en +https://publications.europa.eu/resource/authority/file-type/WMTS_SRVC,"WMTS",en +https://publications.europa.eu/resource/authority/file-type/DOC,"Word DOC",en +https://publications.europa.eu/resource/authority/file-type/DOCX,"Word DOCX",en +https://publications.europa.eu/resource/authority/file-type/WORLD,"World file",en +https://publications.europa.eu/resource/authority/file-type/XHTML_SIMPL,"XHTML simplified",en +https://publications.europa.eu/resource/authority/file-type/XHTML,"XHTML",en +https://publications.europa.eu/resource/authority/file-type/XHTML5,"XHTML5",en +https://publications.europa.eu/resource/authority/file-type/XLIFF,"XLIFF",en +https://publications.europa.eu/resource/authority/file-type/XLSB,"XLSB",en +https://publications.europa.eu/resource/authority/file-type/XLSM,"XLSM",en +https://publications.europa.eu/resource/authority/file-type/DTD_XML,"XML DTD",en +https://publications.europa.eu/resource/authority/file-type/SCHEMA_XML,"XML schema",en +https://publications.europa.eu/resource/authority/file-type/XML,"XML",en +https://publications.europa.eu/resource/authority/file-type/XSLFO,"XSL-FO",en +https://publications.europa.eu/resource/authority/file-type/XSLT,"XSLT",en +https://publications.europa.eu/resource/authority/file-type/XYZ,"XYZ Chemical File",en +https://publications.europa.eu/resource/authority/file-type/XZ,"xz",en +https://publications.europa.eu/resource/authority/file-type/YAML,"YAML",en +https://publications.europa.eu/resource/authority/file-type/Z,"Z",en +https://publications.europa.eu/resource/authority/file-type/ZIP,"ZIP",en +https://publications.europa.eu/resource/authority/file-type/GMZ,"Zipped GML",en +https://publications.europa.eu/resource/authority/file-type/ISO_ZIP,"Zipped ISO image",en http://publications.europa.eu/resource/authority/country/GRL,"Greenland",en http://publications.europa.eu/resource/authority/country/BDI,"Burundi",en http://publications.europa.eu/resource/authority/country/BEN,"Benin",en From 1d7b00c099acf8c9d24bb02621899223000b95d5 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 7 Jun 2024 21:40:08 +0200 Subject: [PATCH 119/284] fix(cron): Run harvester cron job in background (run and clean up logging) - Create entrypoint script to export environment variables to /etc/profile.d/custom_env.sh - Update crontab to source environment variables from custom_env.sh - Start cron daemon in background and tail cron log to keep container running - Ensure CKAN cron jobs have necessary environment context Closes #67 --- ckan/Dockerfile | 12 ++++++++++++ ckan/Dockerfile.dev | 14 +++++++++++++- ckan/config/ckan_harvesting.conf | 15 +++++++++++++++ ckan/config/crontab-harvester | 13 +++++++++++++ ckan/docker-entrypoint.d/cp_env_to_cron_env.sh | 8 ++++++++ 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 ckan/config/crontab-harvester create mode 100644 ckan/docker-entrypoint.d/cp_env_to_cron_env.sh diff --git a/ckan/Dockerfile b/ckan/Dockerfile index e0fa60f29..84eea14b2 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -41,6 +41,18 @@ RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan COPY docker-entrypoint.d/* /docker-entrypoint.d/ COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf +# Copy crontab file to the cron.d directory +ADD config/crontab-harvester /etc/cron.d/crontab-harvester + +# Give execution rights on the cron job +RUN chmod 644 /etc/cron.d/crontab-harvester + +# Apply cron job +RUN crontab -u ckan /etc/cron.d/crontab-harvester + +# Create log file for cron +RUN touch /var/log/cron.log && chown ckan:ckan /var/log/cron.log + # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) COPY patches ${APP_DIR}/patches diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 93ea4a6ea..8c1d11a3c 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -35,6 +35,18 @@ RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan COPY docker-entrypoint.d/* /docker-entrypoint.d/ COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf +# Copy crontab file to the cron.d directory +ADD config/crontab-harvester /etc/cron.d/crontab-harvester + +# Give execution rights on the cron job +RUN chmod 644 /etc/cron.d/crontab-harvester + +# Apply cron job +RUN crontab -u ckan /etc/cron.d/crontab-harvester + +# Create log file for cron +RUN touch /var/log/cron.log && chown ckan:ckan /var/log/cron.log + # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) COPY patches ${APP_DIR}/patches @@ -47,4 +59,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" \ No newline at end of file diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/ckan_harvesting.conf index 2bc456690..3f4407535 100644 --- a/ckan/config/ckan_harvesting.conf +++ b/ckan/config/ckan_harvesting.conf @@ -28,3 +28,18 @@ stderr_logfile=/var/log/ckan/std/fetch_consumer.log autostart=true autorestart=true startsecs=10 + + +[program:crond] + +; Full Path to executable, should be path to virtural environment, +; Full path to config file too. + +command=/usr/sbin/crond -n + +numprocs=1 +stdout_logfile=/var/log/cron.log +stderr_logfile=/var/log/cron.log +autostart=true +autorestart=true +startsecs=10 \ No newline at end of file diff --git a/ckan/config/crontab-harvester b/ckan/config/crontab-harvester new file mode 100644 index 000000000..18d729c73 --- /dev/null +++ b/ckan/config/crontab-harvester @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only + +# Set the shell to bash +SHELL=/bin/bash + +# Source the environment variables +BASH_ENV=/etc/profile.d/custom_env.sh + +# Every 15 minutes, run the harvester and clean the harvest log every day at 5am +*/15 * * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run +0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh new file mode 100644 index 000000000..00c006eb9 --- /dev/null +++ b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh @@ -0,0 +1,8 @@ +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only + +#!/bin/sh + +# Dump environment variables to a file that will be sourced by cron +printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh \ No newline at end of file From 6301200a8d2951bbea6b8a20b6cb9892f40bd233 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Mon, 10 Jun 2024 13:08:15 +0200 Subject: [PATCH 120/284] Update ckan/config/ckan_harvesting.conf Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --- ckan/config/ckan_harvesting.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/ckan_harvesting.conf index 3f4407535..89d885e2e 100644 --- a/ckan/config/ckan_harvesting.conf +++ b/ckan/config/ckan_harvesting.conf @@ -32,7 +32,7 @@ startsecs=10 [program:crond] -; Full Path to executable, should be path to virtural environment, +; Full Path to executable, should be path to virtual environment, ; Full path to config file too. command=/usr/sbin/crond -n From 5905c54803fad4b54504154615bf087d01685748 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 10 Jun 2024 13:24:58 +0200 Subject: [PATCH 121/284] fix newline issus --- ckan/Dockerfile.dev | 2 +- ckan/config/ckan_harvesting.conf | 2 +- ckan/docker-entrypoint.d/cp_env_to_cron_env.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 8c1d11a3c..966d8cd86 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -59,4 +59,4 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" \ No newline at end of file +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/ckan_harvesting.conf index 3f4407535..e695b53b2 100644 --- a/ckan/config/ckan_harvesting.conf +++ b/ckan/config/ckan_harvesting.conf @@ -42,4 +42,4 @@ stdout_logfile=/var/log/cron.log stderr_logfile=/var/log/cron.log autostart=true autorestart=true -startsecs=10 \ No newline at end of file +startsecs=10 diff --git a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh index 00c006eb9..022efe48e 100644 --- a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh +++ b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh @@ -5,4 +5,4 @@ #!/bin/sh # Dump environment variables to a file that will be sourced by cron -printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh \ No newline at end of file +printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh From 081f143731f5bbccc3635029b2a6aeebf725e568 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 12 Jun 2024 16:19:35 +0200 Subject: [PATCH 122/284] doc: update CHANGELOG.md --- CHANGELOG.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3cb8a7d6d..24cf999aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,20 +25,67 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security +## [v1.2.1] - 2024-06-12 + +### Changed + +- chore: change versions of fairdatapoint harvester and gdi extensions by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/66 +- chore: update vocabulary by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/68 +- chore: update fairdatapoint by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/69 + +### Fixed + +- fix(cron): Run harvester cron job in background (run and clean up log… by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/71 +- fix(csv): resolve "extra data after last expected column" error by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/70 + +## [v1.2.0] - 2024-05-19 + +### Changed + +chore: change versions of fairdatapoint harvester and gdi extensions + +## [v1.1.3] - 2024-05-19 + +### Fixed + +- fix: fix harvester issues + +## [v1.1.2] - 2024-05-12 + +### Changed + +- chore: preload CKAN term translation by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/56 +- chore: remove keycloak from localhost by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/58 +- chore(deps): bump 2.10 version to 2.10.4 by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/57 +- chore: update gdi-userportal reference by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/60 +- chore: add more labels by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/62 + +### Fixed + +- fix(azure-deployment): Trigger repull on new CKAN version by updating… by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/52 +- fix: point to fairdatapoint extension tag by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/54 +- fix: #51 bug report by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/55 +- fix: set up profiles to fix parsing from file bug by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/59 +- fix: update gdi-userportal reference by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/61 +- enable multilingual plugins; pre-populate ckan db with labels by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/53 +- fix: update fairdatapoint harvester reference by @a-nayden in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/63 ## [v1.1.1] - 2024-03-01 ### Added + - chore: #15 add REUSE headers by @brunopacheco1 in #44 - feat(harvester): Configure automatic CRON job for CKAN Harvester #25 by @hcvdwerf in #45 ### Fixed -- fix: Re-add ckanext scheming extension from Civity to solved harvester issues + +- fix: Re-add ckanext scheming extension from Civity to solved harvester issues - fix(theme-fetcher): handle empty iterable in theme reduction process #36 by @hcvdwerf in #48 ## [v1.0.0] - 2024-01-30 ### Added + - ckanext-scheming v3.0.0. - ckanext-dcat v1.5.1. - ckanext-harvest v1.5.6. @@ -51,4 +98,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Unused datastore dependencies. ### Fixed + - Replaced all non-GDI extension locations by their original ones. From 1e28832f1ad184cb4e108f338900f8db9cbccc00 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 28 Jun 2024 11:07:34 +0200 Subject: [PATCH 123/284] chore: change versions of fairdatapoint harvester and gdi extensions ->1.2.2 --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 84eea14b2..4ce5207aa 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 966d8cd86..faa014631 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From fc1e7b852ff2b4e77eeca636a875265380ded046 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 2 Jul 2024 14:32:23 +0200 Subject: [PATCH 124/284] feat: add missing vocubulary items Breast cancer and Breast cancer risk factors --- ckan/docker-entrypoint.d/common_vocabulary_tags.csv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index d3ba0b7b2..f36f276b7 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1057,6 +1057,8 @@ http://www.ebi.ac.uk/efo/EFO_1001216,"tooth disease",en http://purl.obolibrary.org/obo/DOID_162,"cancer",en http://www.ebi.ac.uk/efo/EFO_0004352,"mortality",en http://purl.obolibrary.org/obo/DOID_0080600,"COVID-19",en +http://purl.obolibrary.org/obo/NCIT_C15546,"Breast Cancer Screening",en +http://purl.obolibrary.org/obo/NCIT_C20116,"Breast Cancer Risk Factor",en https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en http://publications.europa.eu/resource/authority/access-right/PUBLIC,"Public",en From cc48e56331aaab02f8be5d2999ee994cabfc6613 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Tue, 2 Jul 2024 16:09:34 +0200 Subject: [PATCH 125/284] =?UTF-8?q?chore:=20change=20versions=20of=20faird?= =?UTF-8?q?atapoint=20harvester=20and=20gdi=20extensions=20=E2=80=A6=20(#7?= =?UTF-8?q?2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: change versions of fairdatapoint harvester and gdi extensions ->1.2.2 * feat: add missing vocubulary items Breast cancer and Breast cancer risk factors --------- Co-authored-by: Hans-Chrstian --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- ckan/docker-entrypoint.d/common_vocabulary_tags.csv | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 84eea14b2..4ce5207aa 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -26,7 +26,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 966d8cd86..faa014631 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ck RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index d3ba0b7b2..f36f276b7 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1057,6 +1057,8 @@ http://www.ebi.ac.uk/efo/EFO_1001216,"tooth disease",en http://purl.obolibrary.org/obo/DOID_162,"cancer",en http://www.ebi.ac.uk/efo/EFO_0004352,"mortality",en http://purl.obolibrary.org/obo/DOID_0080600,"COVID-19",en +http://purl.obolibrary.org/obo/NCIT_C15546,"Breast Cancer Screening",en +http://purl.obolibrary.org/obo/NCIT_C20116,"Breast Cancer Risk Factor",en https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en http://publications.europa.eu/resource/authority/access-right/PUBLIC,"Public",en From 816b0eb36711e689f810f72ed774c244caa67e85 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 4 Jul 2024 22:36:05 +0200 Subject: [PATCH 126/284] fix: Set compatibility_mode to false to map correctly publisher closes #73 --- ckan/docker-entrypoint.d/setup_scheming.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 672fc70e2..db2954584 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -11,4 +11,4 @@ ckan config-tool $CKAN_INI -s app:main \ "scheming.presets = ckanext.scheming:presets.json"\ "scheming.dataset_fallback = false"\ "ckanext.dcat.rdf.profiles = euro_dcat_ap_2 fairdatapoint_dcat_ap"\ - "ckanext.dcat.compatibility_mode = true" + "ckanext.dcat.compatibility_mode = false" From 3ad49a80f1b33bf0986a3c9727ee46288e2ae3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seha=20Artu=C3=A7?= Date: Thu, 11 Jul 2024 10:54:21 +0200 Subject: [PATCH 127/284] feat: trivy and ort implementation --- .github/workflows/weekly_vuln_scan.yml | 67 ++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/weekly_vuln_scan.yml diff --git a/.github/workflows/weekly_vuln_scan.yml b/.github/workflows/weekly_vuln_scan.yml new file mode 100644 index 000000000..6bd987cae --- /dev/null +++ b/.github/workflows/weekly_vuln_scan.yml @@ -0,0 +1,67 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# SPDX-License-Identifier: Apache-2.0 + +name: Scan Latest Two Semantically Versioned Image with Trivy and ORT + +on: + schedule: + - cron: "0 14 * * 1" # Works on Every Monday at 14:00 UTC + workflow_dispatch: + +env: + IMAGE_NAME: ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker + LATEST_PATCHES: "" + +jobs: + fetch-and-scan: + runs-on: ubuntu-latest + steps: + - name: Setup Docker + run: sudo service docker start + + - name: Login to GitHub Container Registry + run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: List Docker Image Tags and Fetch Latest Two + run: | + IMAGE="ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker" + echo "Fetching Docker image tags..." + RESPONSE=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "https://api.github.com/orgs/genomicdatainfrastructure/packages/container/gdi-userportal-ckan-docker/versions") + + # Log the response for debugging + echo "Response from curl: $RESPONSE" + + # Extract tags and creation dates, then sort by creation date + TAGS_WITH_DATES=$(echo "$RESPONSE" | jq -r '.[] | .metadata.container.tags[] as $tag | select($tag | test("^sha-[a-z0-9]+$")) | "\($tag) \(.created_at)"' | sort -k2 -r) + + # Get the latest tag from each of the latest two minor versions + LATEST_TAGS=$(echo "$TAGS_WITH_DATES" | awk '{split($1, a, "."); key=a[1] "." a[2]; if (!seen[key]++) print $1}' | head -n 2 | tr '\n' ' ') + + # Print the results + echo "Tags fetched: $LATEST_TAGS" + + echo "LATEST_PATCHES=$LATEST_TAGS" >> $GITHUB_ENV + + - name: Pull and Scan Docker Images with Trivy + run: | + IFS=' ' read -ra TAGS <<< "${{ env.LATEST_PATCHES }}" + for TAG in "${TAGS[@]}" + do + IMAGE_TAG="ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker:$TAG" + echo "Pulling $IMAGE_TAG" + docker pull $IMAGE_TAG || exit 1 + echo "Scanning $IMAGE_TAG with Trivy" + docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy:latest image --severity CRITICAL,HIGH --exit-code 1 "$IMAGE_TAG" || exit 1 + + done + + - name: OSS Review Toolkit (ORT) Analysis + uses: actions/checkout@v4 + with: + repository: ${{ github.repository }} + + - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + with: + allow-dynamic-versions: "true" + fail-on: "issues" + run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" From dadfa805225d87d248646fc649069db4e29da690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seha=20Artu=C3=A7?= Date: Thu, 11 Jul 2024 11:10:39 +0200 Subject: [PATCH 128/284] feat: trivy and ort implementation --- .github/workflows/weekly_vuln_scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/weekly_vuln_scan.yml b/.github/workflows/weekly_vuln_scan.yml index 6bd987cae..6dfefec43 100644 --- a/.github/workflows/weekly_vuln_scan.yml +++ b/.github/workflows/weekly_vuln_scan.yml @@ -5,7 +5,7 @@ name: Scan Latest Two Semantically Versioned Image with Trivy and ORT on: schedule: - - cron: "0 14 * * 1" # Works on Every Monday at 14:00 UTC + - cron: "0 14 * * 1" # Works on every Monday at 14:00 UTC workflow_dispatch: env: From 8afed71c1ba58923292312cc296abf152e822791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Seha=20Artu=C3=A7?= Date: Thu, 11 Jul 2024 16:31:03 +0200 Subject: [PATCH 129/284] feat: renovate integration --- renovate.json | 29 +++++++++++++++++++++++++++++ renovate.json.license | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 renovate.json create mode 100644 renovate.json.license diff --git a/renovate.json b/renovate.json new file mode 100644 index 000000000..c70be7297 --- /dev/null +++ b/renovate.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "packageRules": [ + { + "depTypeList": ["devDependencies", "require-dev"], + "updateTypes": ["patch", "minor", "major"], + "groupName": "devDependencies" + }, + { + "description": "Trigger fix release for patch updates", + "matchPackageNames": [ + "renovate/renovate", + "ghcr.io/renovatebot/renovate" + ], + "automerge": true, + "matchUpdateTypes": ["patch"], + "semanticCommitType": "fix", + "automergeType": "pr" + } + ], + "extends": [ + "config:base", + ":preserveSemverRanges", + ":dependencyDashboard", + ":rebaseStalePrs", + ":enableVulnerabilityAlertsWithLabel('security')", + "group:recommended" + ] +} diff --git a/renovate.json.license b/renovate.json.license new file mode 100644 index 000000000..c75c82f12 --- /dev/null +++ b/renovate.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: 2024 PNED G.I.E. + +SPDX-License-Identifier: Apache-2.0 From 83808ab4e4e583e2e1ccc1e9123af1523ad3bf52 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:31 +0000 Subject: [PATCH 130/284] chore(deps): update azure/webapps-deploy digest to 5c1d76e --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64f82a23b..4636385e6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -95,7 +95,7 @@ jobs: - name: Deploy to Azure Web App id: deploy-to-webapp - uses: azure/webapps-deploy@85270a1854658d167ab239bce43949edb336fa7c + uses: azure/webapps-deploy@5c1d76ea769631d040d04d0883468281f78a2375 with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} From 488950a28cd48649aa38fc9e1f4c0f23c861387f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:33 +0000 Subject: [PATCH 131/284] chore(deps): update docker/login-action digest to 0d4c9c5 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64f82a23b..3428f0267 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,7 +39,7 @@ jobs: uses: actions/checkout@v4 - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1fb7cdc5c..9e295ab0f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v4 - name: Log in to the Container registry - uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} From 9a9924102407f9cf19867b76a9abc780480fd978 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:35 +0000 Subject: [PATCH 132/284] chore(deps): update docker/metadata-action digest to a64d048 --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1fb7cdc5c..bcee78b7c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -45,7 +45,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + uses: docker/metadata-action@a64d0487d7069df33b279515d35d60fa80e2ea62 with: images: ${{ env.IMAGE_NAME }} tags: | From 01e96234119c5424f0d9557e43ff45f4424649b2 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:37 +0000 Subject: [PATCH 133/284] chore(deps): update oss-review-toolkit/ort-ci-github-action digest to 81698a9 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/weekly_vuln_scan.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64f82a23b..101138422 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde with: allow-dynamic-versions: "true" fail-on: "issues" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1fb7cdc5c..4de848f89 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde with: allow-dynamic-versions: "true" fail-on: "issues" diff --git a/.github/workflows/weekly_vuln_scan.yml b/.github/workflows/weekly_vuln_scan.yml index 6dfefec43..dec39fd3b 100644 --- a/.github/workflows/weekly_vuln_scan.yml +++ b/.github/workflows/weekly_vuln_scan.yml @@ -60,7 +60,7 @@ jobs: with: repository: ${{ github.repository }} - - uses: oss-review-toolkit/ort-ci-github-action@7f23c1f8d169dad430e41df223d3b8409c7a156e + - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde with: allow-dynamic-versions: "true" fail-on: "issues" From 5cdfbd6e1556cfc51dd087296c32a232acccade8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:40 +0000 Subject: [PATCH 134/284] chore(deps): update docker/build-push-action action to v6 --- .github/workflows/main.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 64f82a23b..bae382b8e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -67,7 +67,7 @@ jobs: echo "last_tag=${TAGS[LAST_INDEX]}" >> $GITHUB_OUTPUT - name: Build Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: ./ckan push: false @@ -86,7 +86,7 @@ jobs: severity: "CRITICAL" - name: Push Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: ./ckan push: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1fb7cdc5c..2a9982156 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: echo "last_tag=${TAGS[LAST_INDEX]}" >> $GITHUB_OUTPUT - name: Build Docker image for scanning - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: ./ckan push: false @@ -84,7 +84,7 @@ jobs: severity: "CRITICAL" - name: Build and push Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: ./ckan push: true From b0f7e7020c995b792000c2c94bdc1115ffe7903f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:42 +0000 Subject: [PATCH 135/284] chore(deps): update fsfe/reuse-action action to v4 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 425d3348d..b8bb8068e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v4 - name: REUSE Compliance Check - uses: fsfe/reuse-action@v2 + uses: fsfe/reuse-action@v4 From 319c6dbe507264b582951c5516474e998057a5be Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 11 Jul 2024 15:18:44 +0000 Subject: [PATCH 136/284] chore(deps): update postgres docker tag to v16 --- postgresql/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index 4073007ae..f56e55ecb 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM postgres:12-alpine +FROM postgres:16-alpine # Include extra setup scripts (eg datastore) COPY --chown=postgres:postgres docker-entrypoint-initdb.d /docker-entrypoint-initdb.d From de08c30393ee629f0988cb17e01edcfaad2a22b5 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 12 Jul 2024 10:01:22 +0200 Subject: [PATCH 137/284] chore(deps): replace commit ids by tags --- .github/workflows/main.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .github/workflows/weekly_vuln_scan.yml | 11 ++++++++--- src/ckanext-gdi-userportal | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ab25d7c8..b05d66708 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde + - uses: oss-review-toolkit/ort-ci-github-action@v1 with: allow-dynamic-versions: "true" fail-on: "issues" @@ -39,7 +39,7 @@ jobs: uses: actions/checkout@v4 - name: Log in to the Container registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@master + uses: aquasecurity/trivy-action@0.24.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" @@ -95,7 +95,7 @@ jobs: - name: Deploy to Azure Web App id: deploy-to-webapp - uses: azure/webapps-deploy@5c1d76ea769631d040d04d0883468281f78a2375 + uses: azure/webapps-deploy@v3 with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fccf1816e..a48059912 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde + - uses: oss-review-toolkit/ort-ci-github-action@v1 with: allow-dynamic-versions: "true" fail-on: "issues" @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v4 - name: Log in to the Container registry - uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 + uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} @@ -45,7 +45,7 @@ jobs: - name: Extract metadata (tags, labels) for Docker id: meta - uses: docker/metadata-action@a64d0487d7069df33b279515d35d60fa80e2ea62 + uses: docker/metadata-action@v5 with: images: ${{ env.IMAGE_NAME }} tags: | @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@master + uses: aquasecurity/trivy-action@0.24.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/weekly_vuln_scan.yml b/.github/workflows/weekly_vuln_scan.yml index dec39fd3b..3a205f715 100644 --- a/.github/workflows/weekly_vuln_scan.yml +++ b/.github/workflows/weekly_vuln_scan.yml @@ -9,6 +9,7 @@ on: workflow_dispatch: env: + REGISTRY: ghcr.io IMAGE_NAME: ghcr.io/genomicdatainfrastructure/gdi-userportal-ckan-docker LATEST_PATCHES: "" @@ -19,8 +20,12 @@ jobs: - name: Setup Docker run: sudo service docker start - - name: Login to GitHub Container Registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: List Docker Image Tags and Fetch Latest Two run: | @@ -60,7 +65,7 @@ jobs: with: repository: ${{ github.repository }} - - uses: oss-review-toolkit/ort-ci-github-action@81698a977ebcf51bb3d6ef5c6a04220cf60d3bde + - uses: oss-review-toolkit/ort-ci-github-action@v1 with: allow-dynamic-versions: "true" fail-on: "issues" diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 468453964..761da45cd 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 46845396496451139ba64b5ea8985d56122ceb5d +Subproject commit 761da45cdbe7e7095fc7d5dc7a1dac7a5fa696c2 From eb7feb1ee2f18915a51de2f56cdb10fbf23a1379 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 24 Jul 2024 11:31:17 +0200 Subject: [PATCH 138/284] chore: align ckan-docker repositories --- .env.example => .env | 18 ++++++++++++------ .gitignore | 3 +-- ckan/Dockerfile | 7 +------ ckan/Dockerfile.dev | 3 +++ ckan/docker-entrypoint.d/setup_logger_level.sh | 7 +++++++ docker-compose.yml | 9 ++------- 6 files changed, 26 insertions(+), 21 deletions(-) rename .env.example => .env (91%) create mode 100644 ckan/docker-entrypoint.d/setup_logger_level.sh diff --git a/.env.example b/.env similarity index 91% rename from .env.example rename to .env index e49cecd4e..4b2fcb499 100644 --- a/.env.example +++ b/.env @@ -15,14 +15,13 @@ CKAN_DB_USER=ckandbuser CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb -# CKAN +# CKAN core CKAN_VERSION=2.10.4 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 CKAN_PORT=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME -CKAN__AUTH__USER_CREATE_ORGANIZATIONS=false # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME @@ -36,15 +35,13 @@ CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@${POSTGRES_HOST}/ckan_test -TEST_CKAN_DATASTORE_WRITE_URL=postgresql://ckan:ckan@${POSTGRES_HOST}/datastore_test -TEST_CKAN_DATASTORE_READ_URL=postgresql://datastore_ro:datastore@${POSTGRES_HOST}/datastore_test CKAN_SOLR_URL=http://solr:8983/solr/ckan TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan +CKAN_REDIS_URL=redis://redis:6379/1 +TEST_CKAN_REDIS_URL=redis://redis:6379/1 # Redis REDIS_VERSION=6 -CKAN_REDIS_URL=redis://redis:6379/1 -TEST_CKAN_REDIS_URL=redis://redis:6379/1 # Extensions CKANEXT__OIDC_PKCE__BASE_URL=https://keycloak-test.healthdata.nl/realms/ckan/protocol/openid-connect @@ -63,3 +60,12 @@ CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 + +CKAN__AUTH__USER_CREATE_ORGANIZATIONS=false + + +# Debug +CKAN___DEBUG=true + +#Logger +CKAN___LOGGER_CKANEXT__LEVEL=DEBUG diff --git a/.gitignore b/.gitignore index d6d2c865c..99b0f455d 100755 --- a/.gitignore +++ b/.gitignore @@ -12,5 +12,4 @@ _service-provider/* _solr/schema.xml _src/* local/* -.env -venv \ No newline at end of file +venv diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 4ce5207aa..738a0596c 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,9 +6,6 @@ FROM ckan/ckan-base:2.10.4 -# Install any extensions needed by your CKAN instance -# See Dockerfile.dev for more details and examples - RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.3#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt @@ -72,7 +69,5 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # TODO # 1. Remove this command once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 -RUN mkdir /var/lib/ckan/storage -RUN mkdir /var/lib/ckan/storage/uploads -RUN mkdir /var/lib/ckan/storage/uploads/group +RUN mkdir -p /var/lib/ckan/storage/uploads/group RUN chmod -R u+rwx "/var/lib/ckan" diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index faa014631..2c483ca39 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -1,5 +1,6 @@ # SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # SPDX-FileContributor: PNED G.I.E. +# SPDX-FileContributor: Stichting Health-RI # # SPDX-License-Identifier: AGPL-3.0-only @@ -60,3 +61,5 @@ RUN for d in $APP_DIR/patches/*; do \ done ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" + +COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/docker-entrypoint.d/setup_logger_level.sh b/ckan/docker-entrypoint.d/setup_logger_level.sh new file mode 100644 index 000000000..acbc07902 --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_logger_level.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +echo "[DEFAULT] Setting up debug" +#ckan config-tool $CKAN_INI -s DEFAULT "debug = $CKAN___DEBUG" + +echo "[logger_ckanext] Setting up level" +#ckan config-tool $CKAN_INI -s logger_ckanext "level = $CKAN___LOGGER_CKANEXT__LEVEL" diff --git a/docker-compose.yml b/docker-compose.yml index cea8e4229..0a473097d 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,13 +36,8 @@ services: postgres: build: context: postgresql/ - environment: - - POSTGRES_USER - - POSTGRES_PASSWORD - - POSTGRES_DB - - CKAN_DB_USER - - CKAN_DB_PASSWORD - - CKAN_DB + env_file: + - .env volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped From 0ad067e9f710b67b8b81d0f8660d9c8119991c35 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 24 Jul 2024 14:22:34 +0200 Subject: [PATCH 139/284] chore: setup default user permissions --- .env | 3 -- .../setup_default_user_permissions.sh | 33 +++++++++++++++++++ .../docker-entrypoint.d/setup_logger_level.sh | 5 +++ 3 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 ckan/docker-entrypoint.d/setup_default_user_permissions.sh diff --git a/.env b/.env index 4b2fcb499..1d5adacc3 100644 --- a/.env +++ b/.env @@ -61,9 +61,6 @@ CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 -CKAN__AUTH__USER_CREATE_ORGANIZATIONS=false - - # Debug CKAN___DEBUG=true diff --git a/ckan/docker-entrypoint.d/setup_default_user_permissions.sh b/ckan/docker-entrypoint.d/setup_default_user_permissions.sh new file mode 100644 index 000000000..d7f40b0b2 --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_default_user_permissions.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + +# Update the config file with each extension config-options +echo "[ckan.auth] Setting up config-options" +ckan config-tool $CKAN_INI -s app:main \ + "ckan.auth.create_user_via_api = False"\ + "ckan.auth.create_user_via_web = False"\ + "ckan.auth.user_create_groups = False"\ + "ckan.auth.user_create_organizations = False"\ + "ckan.auth.user_delete_groups = False"\ + "ckan.auth.user_delete_organizations = False"\ + "ckan.auth.anon_create_dataset = False"\ + "ckan.auth.create_unowned_dataset = False"\ + "ckan.auth.create_dataset_if_not_in_organization = False"\ + "ckan.auth.roles_that_cascade_to_sub_groups = admin"\ + "ckan.auth.public_user_details = False"\ + "ckan.auth.public_activity_stream_detail = False"\ + "ckan.auth.allow_dataset_collaborators = False"\ + "ckan.auth.allow_admin_collaborators = False"\ + "ckan.auth.allow_collaborators_to_change_owner_org = False"\ + "ckan.auth.create_default_api_keys = False"\ + "ckan.auth.reveal_private_datasets = False"\ + "ckan.auth.enable_cookie_auth_in_api = False"\ + "ckan.auth.route_after_login = home.index"\ + "ckan.user_reset_landing_page = home.index"\ + "ckan.upload.user.types = image"\ + "ckan.upload.user.mimetypes = image/png image/jpeg"\ + "ckan.upload.group.types = image text/svg"\ + "ckan.upload.group.mimetypes = image/png text/svg image/svg+xml" diff --git a/ckan/docker-entrypoint.d/setup_logger_level.sh b/ckan/docker-entrypoint.d/setup_logger_level.sh index acbc07902..a4903a563 100644 --- a/ckan/docker-entrypoint.d/setup_logger_level.sh +++ b/ckan/docker-entrypoint.d/setup_logger_level.sh @@ -1,5 +1,10 @@ #!/bin/sh +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + + echo "[DEFAULT] Setting up debug" #ckan config-tool $CKAN_INI -s DEFAULT "debug = $CKAN___DEBUG" From 041b09fc7d7c4ad94900b4947c89a417d1878627 Mon Sep 17 00:00:00 2001 From: Kacem Bechka Date: Fri, 9 Aug 2024 10:42:05 +0200 Subject: [PATCH 140/284] chore: change from Catalogues to Organizations --- ckan/docker-entrypoint.d/common_vocabulary_tags.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index f36f276b7..97f7a2292 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1091,7 +1091,7 @@ https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus& https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en access_rights,"Access Rights",en -organization,"Catalogues",en +organization,"Organizations",en publisher_name,"Publishers",en res_format,"File Formats",en spatial,"Spatial Coverage",en From 10c0aa08914ecaae0f14ce155050b1f46db8581c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 9 Aug 2024 11:03:08 +0200 Subject: [PATCH 141/284] chore: merge RUN commands --- ckan/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 738a0596c..643841bf3 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -69,5 +69,5 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # TODO # 1. Remove this command once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 -RUN mkdir -p /var/lib/ckan/storage/uploads/group -RUN chmod -R u+rwx "/var/lib/ckan" +RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ + chmod -R u+rwx "/var/lib/ckan" From 0f235e7d03107dc8eb6c1c6ee18d0a92b7e4220f Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 14 Aug 2024 17:50:39 +0200 Subject: [PATCH 142/284] Update references --- ckan/Dockerfile | 9 +++------ ckan/Dockerfile.dev | 11 +++++------ docker-compose.yml | 2 -- src/ckanext-gdi-userportal | 2 +- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 643841bf3..afc00295e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM ckan/ckan-base:2.10.4 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.3#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.4#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ @@ -15,15 +15,12 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=cka RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ckanext-scheming && \ - cd "${APP_DIR}/src/ckanext-scheming" && \ - git checkout release-3.0.0-civity && \ - pip3 install -e . +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 2c483ca39..65c8fd4f5 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -12,18 +12,14 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=cka RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN git clone https://github.com/CivityNL/ckanext-scheming.git ${APP_DIR}/src/ckanext-scheming && \ - cd "${APP_DIR}/src/ckanext-scheming" && \ - git checkout release-3.0.0-civity && \ - pip3 install -e . +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt - # Install Supervisor and cron RUN apk update \ && apk add --no-cache supervisor cronie \ @@ -63,3 +59,6 @@ RUN for d in $APP_DIR/patches/*; do \ ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} + +RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ + chmod -R u+rwx "/var/lib/ckan" diff --git a/docker-compose.yml b/docker-compose.yml index 0a473097d..bc9299b49 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,6 @@ # # SPDX-License-Identifier: AGPL-3.0-only -version: "3" - volumes: ckan_storage: pg_data: diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 761da45cd..8ae0670f0 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 761da45cdbe7e7095fc7d5dc7a1dac7a5fa696c2 +Subproject commit 8ae0670f04fa254e6b4f81b521ffda744058d150 From 96c95987d577df429499c647b127eb76a1e766ce Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Thu, 15 Aug 2024 13:30:18 +0200 Subject: [PATCH 143/284] fix: user permissions error causes oidc plugin to error --- ckan/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index afc00295e..bcca3a345 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -67,4 +67,5 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # 1. Remove this command once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ + mkdir -p /var/lib/ckan/storage/uploads/user && \ chmod -R u+rwx "/var/lib/ckan" From 0257063bebad6acb4140ffb99c25467b80458a00 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Aug 2024 11:03:19 +0000 Subject: [PATCH 144/284] chore(deps): update ckan/ckan-base docker tag to v2.10.5 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index bcca3a345..1f2438197 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.10.4 +FROM ckan/ckan-base:2.10.5 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.4#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt From ec1a1e8d67a23f9a13d4a946dd8ae7c478aabc53 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 21 Aug 2024 11:03:21 +0000 Subject: [PATCH 145/284] chore(deps): update ckan/ckan-dev docker tag to v2.10.5 --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 65c8fd4f5..8f9343284 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.10.4 +FROM ckan/ckan-dev:2.10.5 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From f820f132dc3150ab0b53b3a22c5ab462d3497789 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 21 Aug 2024 21:34:13 +0200 Subject: [PATCH 146/284] chore: rename organizationa to publishers --- .gitignore | 1 + _http/facets.http | 2 +- ckan/docker-entrypoint.d/common_vocabulary_tags.csv | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 99b0f455d..6f4cb51e7 100755 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ _solr/schema.xml _src/* local/* venv +.env.secrets \ No newline at end of file diff --git a/_http/facets.http b/_http/facets.http index 4047ae695..ea78bb73c 100644 --- a/_http/facets.http +++ b/_http/facets.http @@ -2,4 +2,4 @@ # # SPDX-License-Identifier: AGPL-3.0-only -GET http://localhost:5500/api/action/package_search?facet.field=["organization","theme","conforms_to","has_version","access_rights","language","publisher_name","res_format"]&facet.limit=10&rows=0 +GET http://localhost:5500/api/action/package_search?facet.field=["organization","theme","access_rights","res_format"]&facet.limit=10&rows=0 diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 97f7a2292..2961671a6 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1091,7 +1091,7 @@ https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus& https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en access_rights,"Access Rights",en -organization,"Organizations",en +organization,"Publishers",en publisher_name,"Publishers",en res_format,"File Formats",en spatial,"Spatial Coverage",en From c9f6876faa2267e3e3023dd6c9173b3dada3209e Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Mon, 2 Sep 2024 15:24:46 +0200 Subject: [PATCH 147/284] feat(scheming): set up GDI presets (for datetime scheming) --- ckan/Dockerfile.dev | 1 + ckan/docker-entrypoint.d/setup_scheming.sh | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 8f9343284..c77eebfb0 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -61,4 +61,5 @@ ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets s COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ + mkdir -p /var/usr/ckan/storage/uploads/user && \ chmod -R u+rwx "/var/lib/ckan" diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index db2954584..3df85ec6c 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,8 +7,8 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/gdi_userportal.json"\ - "scheming.presets = ckanext.scheming:presets.json"\ - "scheming.dataset_fallback = false"\ - "ckanext.dcat.rdf.profiles = euro_dcat_ap_2 fairdatapoint_dcat_ap"\ + "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/gdi_userportal.json" \ + "scheming.presets = ckanext.scheming:presets.json ckanext.gdi_userportal:scheming/presets/gdi_presets.json" \ + "scheming.dataset_fallback = false" \ + "ckanext.dcat.rdf.profiles = euro_dcat_ap_2 fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" From 7f20bc32185ac5234760179463ac2c42e34b58d1 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 13 Sep 2024 12:49:50 +0200 Subject: [PATCH 148/284] feat(auth): remove Keycloak integration from CKAN and user portal - Removed Keycloak from CKAN admin login - CKAN now uses only native authentication methods --- .env | 15 +-------------- ckan/Dockerfile | 5 +---- ckan/Dockerfile.dev | 5 +---- 3 files changed, 3 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 1d5adacc3..d155db214 100644 --- a/.env +++ b/.env @@ -16,7 +16,7 @@ CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb # CKAN core -CKAN_VERSION=2.10.4 +CKAN_VERSION=2.10.5 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 @@ -43,19 +43,6 @@ TEST_CKAN_REDIS_URL=redis://redis:6379/1 # Redis REDIS_VERSION=6 -# Extensions -CKANEXT__OIDC_PKCE__BASE_URL=https://keycloak-test.healthdata.nl/realms/ckan/protocol/openid-connect -CKANEXT__OIDC_PKCE__CLIENT_ID=ckan -CKANEXT__OIDC_PKCE__CLIENT_SECRET=secret -CKANEXT__OIDC_PKCE__AUTH_PATH=/auth -CKANEXT__OIDC_PKCE__TOKEN_PATH=/token -CKANEXT__OIDC_PKCE__USERINFO_PATH=/userinfo -CKANEXT__OIDC_PKCE__ERROR_REDIRECT=/user/register -CKANEXT__OIDC_PKCE__SCOPE=email openid profile -CKANEXT__OIDC_PKCE__USE_SAME_ID=true -CKANEXT__OIDC_PKCE__MUNGE_PASSWORD=true -CKAN__ROUTE_AFTER_LOGIN=home - CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1f2438197..673b97c19 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -17,9 +17,6 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ - pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt - RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt @@ -59,7 +56,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester oidc_pkce gdi_userportal activity" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 8f9343284..fbf7f2a7b 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,9 +14,6 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/DataShades/ckanext-oidc-pkce.git@v0.3.1#egg=ckanext-oidc-pkce && \ - pip3 install -r ${APP_DIR}/src/ckanext-oidc-pkce/requirements.txt - RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt @@ -56,7 +53,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface oidc_pkce fairdatapointharvester activity" +ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} From 1a906d6096fa77c342d55224d6ae7627f8750272 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 17 Sep 2024 13:45:44 +0200 Subject: [PATCH 149/284] chore(deps): upgrade ckanext-gdi-userportal --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 673b97c19..1b50c767c 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.2.4#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 8ae0670f0..bca777f24 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 8ae0670f04fa254e6b4f81b521ffda744058d150 +Subproject commit bca777f24fb2bcb3ff90362eb7e8c82200e0fed8 From 7155caf85390a062055dd6ab01ff617c5739fb28 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 17 Sep 2024 15:20:59 +0200 Subject: [PATCH 150/284] chore: fix ckanext-fairdatapoint version --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1b50c767c..f161d5eaa 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index bb1e41e23..85b1a3b3a 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,7 +14,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.2.3#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron From d4a5e0cd1d736144100ac0bc16dc192e285d801c Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Tue, 24 Sep 2024 14:18:45 +0200 Subject: [PATCH 151/284] chore(deps): update dependencies and settings for CKAN 2.11 compatibility --- ckan/Dockerfile | 14 ++++++-------- ckan/Dockerfile.dev | 14 ++++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index f161d5eaa..619ca129e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,15 +4,15 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.10.5 +FROM ckan/ckan-base:2.11 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@bf849f1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] @@ -20,10 +20,8 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Install Supervisor and cron -RUN apk update \ - && apk add --no-cache supervisor cronie \ - && rm -rf /var/cache/apk/* +# # Install cron and postgres client +RUN apt-get install --no-install-recommends -y cron postgresql-client # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan @@ -56,7 +54,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" +ENV CKAN__PLUGINS="envvars image_view datatables_view text_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 85b1a3b3a..e207fd095 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,12 +4,12 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.10.5 +FROM ckan/ckan-dev:2.11 -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@bf849f1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] @@ -17,10 +17,8 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Install Supervisor and cron -RUN apk update \ - && apk add --no-cache supervisor cronie \ - && rm -rf /var/cache/apk/* +# # Install cron and postgres client +RUN apt-get install --no-install-recommends -y cron postgresql-client # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan @@ -53,7 +51,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" +ENV CKAN__PLUGINS="envvars image_view datatables_view text_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} From d61507d21aff7d36538e1360c48bcfd43fb5ac2a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 27 Sep 2024 07:03:03 +0000 Subject: [PATCH 152/284] chore(deps): update postgres docker tag to v17 --- postgresql/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index f56e55ecb..58424be3a 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM postgres:16-alpine +FROM postgres:17-alpine # Include extra setup scripts (eg datastore) COPY --chown=postgres:postgres docker-entrypoint-initdb.d /docker-entrypoint-initdb.d From fadd140b738928b39b579c1babffe4cda39a98d3 Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Fri, 27 Sep 2024 10:47:02 +0200 Subject: [PATCH 153/284] Explicitly add linux/amd64 platform to docker as there are no other images --- docker-compose.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index bc9299b49..12b2a36b9 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,11 +8,13 @@ volumes: pg_data: solr_data: + services: ckan-dev: build: context: ckan/ dockerfile: Dockerfile.dev + platform: linux/amd64 env_file: - .env depends_on: @@ -29,7 +31,7 @@ services: - ./src:/srv/app/src_extensions restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"] + test: [ "CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}" ] postgres: build: @@ -40,7 +42,7 @@ services: - pg_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: - test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] + test: [ "CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}" ] ports: - "5432:5432" @@ -51,7 +53,7 @@ services: - solr_data:/var/solr restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] + test: [ "CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/" ] ports: - "8983:8983" @@ -59,4 +61,4 @@ services: image: redis:${REDIS_VERSION} restart: unless-stopped healthcheck: - test: ["CMD", "redis-cli", "-e", "QUIT"] + test: [ "CMD", "redis-cli", "-e", "QUIT" ] From 0a3e002214cd5ebac33ea1f96fc6203235c1a69f Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Fri, 27 Sep 2024 10:47:20 +0200 Subject: [PATCH 154/284] Clarify and clean up Dockerfile --- ckan/Dockerfile | 15 +++++++++++---- ckan/Dockerfile.dev | 16 +++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 619ca129e..4245bd82c 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.11 +FROM ckan/ckan-base:2.11.0 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt @@ -12,6 +12,8 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt +# TODO there was no released version compatible with CKAN 2.11 as of September 2024. +# Please check again later in https://github.com/ckan/ckanext-harvest RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@bf849f1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -21,7 +23,12 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # # Install cron and postgres client -RUN apt-get install --no-install-recommends -y cron postgresql-client +# cron is necessary for harvesting, postgres client for vocabulary seeding +RUN \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + apt-get update \ + && apt-get install -y --no-install-recommends cron postgresql-client # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan @@ -54,11 +61,11 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view datatables_view text_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" +ENV CKAN__PLUGINS="envvars scheming_datasets scheming_organizations dcat harvest ckan_harvester dcat_rdf_harvester fairdatapointharvester gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} -# TODO +# TODO # 1. Remove this command once the issue is fixed # https://github.com/ckan/ckan-docker-base/issues/41 RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index e207fd095..812e3f8dc 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,11 +4,13 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.11 +FROM ckan/ckan-dev:2.11.0 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt +# TODO there was no released version compatible with CKAN 2.11 as of September 2024. +# Please check again later in https://github.com/ckan/ckanext-harvest RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@bf849f1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -18,7 +20,12 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpo pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # # Install cron and postgres client -RUN apt-get install --no-install-recommends -y cron postgresql-client +# cron is necessary for harvesting, postgres client for vocabulary seeding +RUN \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + --mount=type=cache,target=/var/lib/apt,sharing=locked \ + apt-get update \ + && apt-get install -y --no-install-recommends cron postgresql-client # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan @@ -51,10 +58,13 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view datatables_view text_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" +ENV CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} +# TODO +# 1. Remove this command once the issue is fixed +# https://github.com/ckan/ckan-docker-base/issues/41 RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ mkdir -p /var/usr/ckan/storage/uploads/user && \ chmod -R u+rwx "/var/lib/ckan" From 0244b2a0512997362c9b1228edb56af28d59096a Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 27 Sep 2024 11:50:35 +0200 Subject: [PATCH 155/284] feat: Upgrade to DCAT AP 3 - Update dockerfiles - Set correct schema configuration --- .env | 2 +- ckan/Dockerfile | 6 +++--- ckan/Dockerfile.dev | 4 ++-- ckan/docker-entrypoint.d/setup_scheming.sh | 8 +++++--- src/ckanext-gdi-userportal | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.env b/.env index d155db214..5da5d468a 100644 --- a/.env +++ b/.env @@ -34,7 +34,7 @@ CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} -TEST_CKAN_SQLALCHEMY_URL=postgres://ckan:ckan@${POSTGRES_HOST}/ckan_test +TEST_CKAN_SQLALCHEMY_URL=postgres://{CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/ckan_test CKAN_SOLR_URL=http://solr:8983/solr/ckan TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan CKAN_REDIS_URL=redis://redis:6379/1 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index f161d5eaa..ff569c65d 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,10 +6,10 @@ FROM ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 85b1a3b3a..9d89b9eac 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -6,7 +6,7 @@ FROM ckan/ckan-dev:2.10.5 -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v1.5.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ @@ -14,7 +14,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Install Supervisor and cron diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 3df85ec6c..9c8a0febb 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,8 +7,10 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/gdi_userportal.json" \ - "scheming.presets = ckanext.scheming:presets.json ckanext.gdi_userportal:scheming/presets/gdi_presets.json" \ + "scheming.dataset_schemas = ckanext.dcat.schemas:dcat_ap_full.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml" \ + "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml" \ "scheming.dataset_fallback = false" \ - "ckanext.dcat.rdf.profiles = euro_dcat_ap_2 fairdatapoint_dcat_ap" \ + "ckanext.dcat.rdf.profiles = euro_dcat_ap_3 euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" + + diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index bca777f24..64725fd8f 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit bca777f24fb2bcb3ff90362eb7e8c82200e0fed8 +Subproject commit 64725fd8f4c29d8e31eb3fe95c31fceccb73e6b5 From 6ef37d1e3a76f697a0a9967dbd38cb58a1fa6792 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 8 Oct 2024 08:53:28 +0200 Subject: [PATCH 156/284] chore(deps): remove vulnerable packages --- ckan/Dockerfile | 5 +++++ ckan/Dockerfile.dev | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ff569c65d..5b0e309ad 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -66,3 +66,8 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ mkdir -p /var/lib/ckan/storage/uploads/user && \ chmod -R u+rwx "/var/lib/ckan" + +# https://github.com/ckan/ckan-docker-base/issues/82 +# CVE-2024-32002 was found on git and related packages +RUN apk del git git-perl perl-git +RUN apk del git git-perl perl-git diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 9d89b9eac..c83d57040 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -60,3 +60,7 @@ COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ mkdir -p /var/usr/ckan/storage/uploads/user && \ chmod -R u+rwx "/var/lib/ckan" + +# https://github.com/ckan/ckan-docker-base/issues/82 +# CVE-2024-32002 was found on git and related packages +RUN apk del git git-perl perl-git From 4f31d821ebd2c552cc5c2403190d80dbc18fb84f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 8 Oct 2024 07:03:28 +0000 Subject: [PATCH 157/284] chore(deps): update aquasecurity/trivy-action action to v0.25.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b05d66708..9c44d67fd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.24.0 + uses: aquasecurity/trivy-action@0.25.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a48059912..3d5e83d31 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.24.0 + uses: aquasecurity/trivy-action@0.25.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From 06efa92af3b89124a26085d398f1c39560942364 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 8 Oct 2024 09:03:29 +0200 Subject: [PATCH 158/284] fix: remove duplicated line --- ckan/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5b0e309ad..5c8d296d5 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -70,4 +70,3 @@ RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ # https://github.com/ckan/ckan-docker-base/issues/82 # CVE-2024-32002 was found on git and related packages RUN apk del git git-perl perl-git -RUN apk del git git-perl perl-git From 7896d4ba624447b6c4ff65dd5ca5d761a926abb8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 9 Oct 2024 07:03:39 +0000 Subject: [PATCH 159/284] chore(deps): update aquasecurity/trivy-action action to v0.26.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9c44d67fd..95aee4952 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.25.0 + uses: aquasecurity/trivy-action@0.26.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3d5e83d31..0b381da5d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.25.0 + uses: aquasecurity/trivy-action@0.26.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From 2bde16b0af05696024800c9729941683dbaee586 Mon Sep 17 00:00:00 2001 From: Mark Janse Date: Wed, 9 Oct 2024 16:34:59 +0200 Subject: [PATCH 160/284] feat(language): add Dutch facet translations to translations table --- .../common_vocabulary_tags.csv | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv index 2961671a6..313d1509b 100644 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv @@ -1090,13 +1090,6 @@ http://lexvo.org/id/iso639-3/ltz,"Luxembourgish",en https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,"Invasive Breast Carcinoma",en https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en -access_rights,"Access Rights",en -organization,"Publishers",en -publisher_name,"Publishers",en -res_format,"File Formats",en -spatial,"Spatial Coverage",en -tags,"Keywords",en -theme,"Themes",en https://publications.europa.eu/resource/authority/dataset-type/APROF,"Application profile",en https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,"ATTO table - EUR-Lex domain",en https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,"ATTO table - Publications domain",en @@ -2412,3 +2405,17 @@ http://purl.org/zonmw/generic/10107,"PDF - Portable Document Format",en http://purl.org/zonmw/generic/10105,"media type",en http://purl.org/zonmw/generic/10104,"protozoa",en http://purl.org/zonmw/generic/10102,"funder institution",en +access_rights,"Access Rights",en +access_rights,"Toegangsrechten",nl +organization,"Publishers",en +organization,"Uitgevers",nl +publisher_name,"Publishers",en +publisher_name,"Uitgevers",nl +res_format,"File Formats",en +res_format,"Bestandstype",nl +spatial,"Spatial Coverage",en +spatial,"Spatiële dekking",nl +tags,"Keywords",en +tags,"Trefwoorden",nl +theme,"Themes",en +theme,"Themas",nl From 324eaba665173b19febff338f1c974baa16dbcf1 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 9 Oct 2024 22:08:27 +0200 Subject: [PATCH 161/284] chore: incorporate changes from upstream --- .env | 5 +---- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- docker-compose.yml | 10 +++++++--- src/ckanext-gdi-userportal | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 5da5d468a..c326cf977 100644 --- a/.env +++ b/.env @@ -20,7 +20,6 @@ CKAN_VERSION=2.10.5 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 -CKAN_PORT=5000 CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME @@ -33,6 +32,7 @@ CKAN_SMTP_STARTTLS=True CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost +CKAN_MAX_UPLOAD_SIZE_MB=10 CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} TEST_CKAN_SQLALCHEMY_URL=postgres://{CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/ckan_test CKAN_SOLR_URL=http://solr:8983/solr/ckan @@ -40,9 +40,6 @@ TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan CKAN_REDIS_URL=redis://redis:6379/1 TEST_CKAN_REDIS_URL=redis://redis:6379/1 -# Redis -REDIS_VERSION=6 - CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5c8d296d5..b7c2b1e3d 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -56,7 +56,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" +ENV CKAN__PLUGINS="image_view text_view datatables_view envvars scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index c83d57040..80d597e5b 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -53,7 +53,7 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars image_view text_view recline_view scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" +ENV CKAN__PLUGINS="image_view text_view datatables_view envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} diff --git a/docker-compose.yml b/docker-compose.yml index bc9299b49..11ed6ea43 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ volumes: ckan_storage: pg_data: solr_data: + pip_cache: + site_packages: services: ckan-dev: @@ -23,13 +25,15 @@ services: redis: condition: service_healthy ports: - - "0.0.0.0:${CKAN_PORT_HOST}:${CKAN_PORT}" + - "0.0.0.0:${CKAN_PORT_HOST}:5000" volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions + - pip_cache:/root/.cache/pip + - site_packages:/usr/lib/python3.10/site-packages restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:${CKAN_PORT}"] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] postgres: build: @@ -56,7 +60,7 @@ services: - "8983:8983" redis: - image: redis:${REDIS_VERSION} + image: redis:6.2.16 restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 64725fd8f..98b4e8093 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 64725fd8f4c29d8e31eb3fe95c31fceccb73e6b5 +Subproject commit 98b4e8093aa71e52ef317fa3c5153e7eb613e733 From 02ba3719955f6972389ac6329306851b24c4e38a Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 9 Oct 2024 23:27:07 +0200 Subject: [PATCH 162/284] fix: reuse Alpine Linux surpervisor and cron CKAN base image is based on Alpine Linux, that contains already surpervisor and cron. I removed extra installation steps and moved config and crontab files to the expected folders. Smaller changes includes: - Incorporation of changes coming from upstream (ckan/ckan-docker) - start_ckan_development.sh to the same content as from ckan-base, and enabled surpervisor on dev image, for localhost tests. --- .env | 7 +-- ckan/Dockerfile | 23 ++------- ckan/Dockerfile.dev | 24 +++------ ckan/config/crontab | 7 +++ ckan/config/crontab-harvester | 13 ----- ...{ckan_harvesting.conf => supervisord.conf} | 6 +-- ....sh.override => start_ckan_development.sh} | 50 ++++++++++++++----- postgresql/Dockerfile | 2 +- 8 files changed, 64 insertions(+), 68 deletions(-) create mode 100644 ckan/config/crontab delete mode 100644 ckan/config/crontab-harvester rename ckan/config/{ckan_harvesting.conf => supervisord.conf} (88%) rename ckan/setup/{start_ckan_development.sh.override => start_ckan_development.sh} (72%) diff --git a/.env b/.env index c326cf977..7208db38c 100644 --- a/.env +++ b/.env @@ -44,9 +44,10 @@ CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 - -# Debug -CKAN___DEBUG=true +CKAN__HARVEST__LOG_SCOPE=0 +CKAN__HARVEST__LOG_TIMEFRAME=7 #Logger +CKAN___DEBUG=true +CKAN__HARVEST__LOG_LEVEL=DEBUG CKAN___LOGGER_CKANEXT__LEVEL=DEBUG diff --git a/ckan/Dockerfile b/ckan/Dockerfile index b7c2b1e3d..55dec50eb 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.10.5 +FROM docker.io/ckan/ckan-base:2.10.5 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt @@ -20,29 +20,16 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Install Supervisor and cron -RUN apk update \ - && apk add --no-cache supervisor cronie \ - && rm -rf /var/cache/apk/* - # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ -COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf - -# Copy crontab file to the cron.d directory -ADD config/crontab-harvester /etc/cron.d/crontab-harvester - -# Give execution rights on the cron job -RUN chmod 644 /etc/cron.d/crontab-harvester - -# Apply cron job -RUN crontab -u ckan /etc/cron.d/crontab-harvester -# Create log file for cron -RUN touch /var/log/cron.log && chown ckan:ckan /var/log/cron.log +# Config cron job for harvesting +COPY config/supervisord.conf /etc/supervisord.d/ckan.conf +COPY config/crontab ${APP_DIR}/crontab +RUN crontab ${APP_DIR}/crontab # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 80d597e5b..5e437e990 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.10.5 +FROM docker.io/ckan/ckan-dev:2.10.5 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt @@ -17,29 +17,16 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Install Supervisor and cron -RUN apk update \ - && apk add --no-cache supervisor cronie \ - && rm -rf /var/cache/apk/* - # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan # Copy custom initialization scripts COPY docker-entrypoint.d/* /docker-entrypoint.d/ -COPY config/ckan_harvesting.conf /etc/supervisord.d/ckan_harvesting.conf - -# Copy crontab file to the cron.d directory -ADD config/crontab-harvester /etc/cron.d/crontab-harvester - -# Give execution rights on the cron job -RUN chmod 644 /etc/cron.d/crontab-harvester - -# Apply cron job -RUN crontab -u ckan /etc/cron.d/crontab-harvester -# Create log file for cron -RUN touch /var/log/cron.log && chown ckan:ckan /var/log/cron.log +# Config cron job for harvesting +COPY config/supervisord.conf /etc/supervisord.d/ckan.conf +COPY config/crontab ${APP_DIR}/crontab +RUN crontab ${APP_DIR}/crontab # Apply any patches needed to CKAN core or any of the built extensions (not the # runtime mounted ones) @@ -56,6 +43,7 @@ RUN for d in $APP_DIR/patches/*; do \ ENV CKAN__PLUGINS="image_view text_view datatables_view envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} +COPY --chown=ckan:ckan setup/start_ckan_development.sh ${APP_DIR} RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ mkdir -p /var/usr/ckan/storage/uploads/user && \ diff --git a/ckan/config/crontab b/ckan/config/crontab new file mode 100644 index 000000000..7afcfc527 --- /dev/null +++ b/ckan/config/crontab @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only +# run job every hour +0 */1 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run +# run cean harvest log every day, at 5 AM +0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/config/crontab-harvester b/ckan/config/crontab-harvester deleted file mode 100644 index 18d729c73..000000000 --- a/ckan/config/crontab-harvester +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-FileCopyrightText: Stichting Health-RI -# -# SPDX-License-Identifier: AGPL-3.0-only - -# Set the shell to bash -SHELL=/bin/bash - -# Source the environment variables -BASH_ENV=/etc/profile.d/custom_env.sh - -# Every 15 minutes, run the harvester and clean the harvest log every day at 5am -*/15 * * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run -0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/config/ckan_harvesting.conf b/ckan/config/supervisord.conf similarity index 88% rename from ckan/config/ckan_harvesting.conf rename to ckan/config/supervisord.conf index fb8a65aa3..51d294d70 100644 --- a/ckan/config/ckan_harvesting.conf +++ b/ckan/config/supervisord.conf @@ -35,11 +35,11 @@ startsecs=10 ; Full Path to executable, should be path to virtual environment, ; Full path to config file too. -command=/usr/sbin/crond -n +command=/usr/sbin/crond -f -c /etc/crontabs/ numprocs=1 -stdout_logfile=/var/log/cron.log -stderr_logfile=/var/log/cron.log +stdout_logfile=/var/log/ckan/std/cron.log +stderr_logfile=/var/log/ckan/std/cron.log autostart=true autorestart=true startsecs=10 diff --git a/ckan/setup/start_ckan_development.sh.override b/ckan/setup/start_ckan_development.sh similarity index 72% rename from ckan/setup/start_ckan_development.sh.override rename to ckan/setup/start_ckan_development.sh index 03aa891ca..0a0a44215 100755 --- a/ckan/setup/start_ckan_development.sh.override +++ b/ckan/setup/start_ckan_development.sh @@ -1,9 +1,15 @@ -#!/bin/sh +#!/bin/bash # SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only +if [[ $CKAN__PLUGINS == *"datapusher"* ]]; then + # Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) + echo "Setting a temporary value for ckan.datapusher.api_token" + ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx +fi + # Install any local extensions in the src_extensions volume echo "Looking for local extensions to install..." echo "Extension dir contents:" @@ -12,6 +18,10 @@ for i in $SRC_EXTENSIONS_DIR/* do if [ -d $i ]; then + if [ -d $SRC_DIR/$(basename $i) ]; + then + pip uninstall -y "$(basename $i)" + fi if [ -f $i/pip-requirements.txt ]; then @@ -35,6 +45,13 @@ do echo "Found setup.py file in $i" cd $APP_DIR fi + if [ -f $i/pyproject.toml ]; + then + cd $i + pip install -e . + echo "Found pyproject.toml file in $i" + cd $APP_DIR + fi # Point `use` in test.ini to location of `test-core.ini` if [ -f $i/test.ini ]; @@ -49,9 +66,6 @@ done echo "Enabling debug mode" ckan config-tool $CKAN_INI -s DEFAULT "debug = true" -# Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) -ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx - # Set up the Secret key used by Beaker and Flask # This can be overriden using a CKAN___BEAKER__SESSION__SECRET env var if grep -E "beaker.session.secret ?= ?$" ckan.ini @@ -78,10 +92,7 @@ ckan config-tool $SRC_DIR/ckan/test-core.ini \ "ckan.redis.url = $TEST_CKAN_REDIS_URL" # Run the prerun script to init CKAN and create the default admin user -sudo -u ckan -EH python3 prerun.py - -echo "Set up ckan.datapusher.api_token in the CKAN config file" -ckan config-tool $CKAN_INI "ckan.datapusher.api_token=$(ckan -c $CKAN_INI user token add ckan_admin datapusher | tail -n 1 | tr -d '\t')" +python3 prerun.py # Run any startup scripts provided by images extending this one if [[ -d "/docker-entrypoint.d" ]] @@ -96,8 +107,23 @@ then done fi -# Start supervisord -supervisord --configuration /etc/supervisord.conf & +CKAN_RUN="ckan -c $CKAN_INI run -H 0.0.0.0" +CKAN_OPTIONS="" +if [ "$USE_DEBUGPY_FOR_DEV" = true ] ; then + pip install debugpy + CKAN_RUN="/usr/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" + CKAN_OPTIONS="$CKAN_OPTIONS --disable-reloader" +fi + +if [ "$USE_HTTPS_FOR_DEV" = true ] ; then + CKAN_OPTIONS="$CKAN_OPTIONS -C unsafe.cert -K unsafe.key" +fi -# Start the development server with automatic reload -sudo -u ckan -EH ckan -c $CKAN_INI run -H 0.0.0.0 \ No newline at end of file +# Start the development server as the ckan user with automatic reload +while true; do + # Start supervisord + supervisord --configuration /etc/supervisord.conf & + su ckan -c "$CKAN_RUN $CKAN_OPTIONS" + echo Exit with status $?. Restarting. + sleep 2 +done \ No newline at end of file diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index 58424be3a..97950dc55 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM postgres:17-alpine +FROM docker.io/postgres:17-alpine # Include extra setup scripts (eg datastore) COPY --chown=postgres:postgres docker-entrypoint-initdb.d /docker-entrypoint-initdb.d From 697ae6a8a8e2ab8a9694917c07a71e8fd5ef8db1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Oct 2024 15:03:00 +0000 Subject: [PATCH 163/284] chore(deps): update docker.io/ckan/ckan-base docker tag to v2.11.0 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 55dec50eb..c201c6e03 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.10.5 +FROM docker.io/ckan/ckan-base:2.11.0 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt From 79fca89f3decb713045ddd53729ca1ea24f05fb8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Oct 2024 15:03:02 +0000 Subject: [PATCH 164/284] chore(deps): update docker.io/ckan/ckan-dev docker tag to v2.11.0 --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 5e437e990..b6698fecd 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.10.5 +FROM docker.io/ckan/ckan-dev:2.11.0 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From c8352b37dd7e85f26a6ec802c3bbc95d54c167e6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 10 Oct 2024 15:03:06 +0000 Subject: [PATCH 165/284] chore(deps): update redis docker tag to v7 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 11ed6ea43..5862c6036 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -60,7 +60,7 @@ services: - "8983:8983" redis: - image: redis:6.2.16 + image: redis:7.4.1 restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] From c64c4297aa82f677390932695a9b5589306b101c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 10 Oct 2024 19:28:51 +0200 Subject: [PATCH 166/284] Revert "chore(deps): update docker.io/ckan/ckan-dev docker tag to v2.11.0" --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index b6698fecd..5e437e990 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.11.0 +FROM docker.io/ckan/ckan-dev:2.10.5 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From a4d09d5ee7ef6357ad0cc3ef59450249a6112aab Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 10 Oct 2024 19:30:32 +0200 Subject: [PATCH 167/284] Revert "chore(deps): update docker.io/ckan/ckan-base docker tag to v2.11.0" --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index c201c6e03..55dec50eb 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.11.0 +FROM docker.io/ckan/ckan-base:2.10.5 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.1#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt From 91b78fe4534595b7cfcd99a095651526674b3d24 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 10 Oct 2024 22:09:53 +0200 Subject: [PATCH 168/284] fix: reduce cron job for harvesting to every 15min Initially I maid it run every hour, and configured all the jobs to run always, which means they will start and finish every hour. But it looks like jobs are started but not finished, and only tagged as finished in the next cron job, which can be translated as the harvester runs every two hours. We need also to understand how the jobs are added to the queue and processed. Some of the jobs were created, but not processed. --- .env | 2 -- ckan/config/crontab | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.env b/.env index 7208db38c..0ac76202d 100644 --- a/.env +++ b/.env @@ -44,8 +44,6 @@ CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 -CKAN__HARVEST__LOG_SCOPE=0 -CKAN__HARVEST__LOG_TIMEFRAME=7 #Logger CKAN___DEBUG=true diff --git a/ckan/config/crontab b/ckan/config/crontab index 7afcfc527..0f4db8117 100644 --- a/ckan/config/crontab +++ b/ckan/config/crontab @@ -2,6 +2,6 @@ # # SPDX-License-Identifier: AGPL-3.0-only # run job every hour -0 */1 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run +*/15 * * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run # run cean harvest log every day, at 5 AM 0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log From 160581bcb5d6230610dda24111fb3b81334a98c7 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 11 Oct 2024 07:03:28 +0000 Subject: [PATCH 169/284] chore(deps): update aquasecurity/trivy-action action to v0.27.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 95aee4952..1383457e4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.26.0 + uses: aquasecurity/trivy-action@0.27.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b381da5d..e04b12896 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.26.0 + uses: aquasecurity/trivy-action@0.27.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From 405257e363f6a461927eeb6f14b861ac5be2fec0 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 11 Oct 2024 11:14:16 +0200 Subject: [PATCH 170/284] chore: bump up submodules HEAD commits --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 98b4e8093..245ac129c 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 98b4e8093aa71e52ef317fa3c5153e7eb613e733 +Subproject commit 245ac129c211ad06409f66dbd576ad4e1a505165 From 7592cc84c37f912682272303711836e313cb910e Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 11 Oct 2024 11:30:33 +0200 Subject: [PATCH 171/284] docs: clean up Keycloak section from README --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 76e8759cc..df3617e8b 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,6 @@ The non-CKAN images are as follows: * Solr: CKAN's [pre-configured Solr image](https://github.com/ckan/ckan-solr). Index data is stored in a named volume. * Redis: standard Redis image * NGINX: latest stable nginx image that includes SSL and Non-SSL endpoints -* Keycloak: Latest official Keycloak image. A test CKAN realm is injected during `docker compose up` * National Catalogue Mock: Python script to expose a synthetic RDF file, to test the Harvester. CKAN and all the components are configured using environment variables that you can set in the `.env` file. @@ -37,7 +36,6 @@ CKAN and all the components are configured using environment variables that you * Install docker with support to docker compose v2. * Ensure you have enough computer resources, if you are using `colima`: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` -* Add `127.0.0.1 keycloak` to `/etc/hosts`. * Copy `.env.example` to `.env`. * Ensure git submodules are pulled correctly after clone CKAN-DOCKER `git submodule update --init` From b36602e7d8c8913fcc688d970656a9b06522ef85 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 14 Oct 2024 15:35:25 +0200 Subject: [PATCH 172/284] chore(deps): bump up ckanext-gdi-userportal version to v1.3.3 --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 55dec50eb..cff14d79a 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.1#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.3#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 245ac129c..ecf7d6062 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 245ac129c211ad06409f66dbd576ad4e1a505165 +Subproject commit ecf7d60623dc552c4f31997f3e2a0fe8b813e412 From 51cc28260f925a424bb0d6a590d4e040e8f2ff1d Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 14 Oct 2024 22:29:57 +0200 Subject: [PATCH 173/284] docs: update CHANGELOG.md --- CHANGELOG.md | 62 ++++++++++++++++++++++++++++++++++++++ src/ckanext-gdi-userportal | 2 +- 2 files changed, 63 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24cf999aa..379cfd9cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,68 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security +## [v1.3.2] - 2024-10-14 + +### Changed +* docs: clean up Keycloak section from README by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/141 + +## [v1.3.1] - 2024-10-11 + +### Added +* feat(language): add Dutch facet translations to translations table by @Markus92 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/129 + +### Changed +* chore(deps): update aquasecurity/trivy-action action to v0.26.0 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/128 +* chore(deps): update redis docker tag to v7 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/134 +* chore(deps): update aquasecurity/trivy-action action to v0.27.0 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/140 + +### Fixed +* fix: bugfix on harvesters by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/131 +* fix: reduce cron job for harvesting to every 15min by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/139 + +## [v1.3.0] - 2024-10-07 + +## Changed +* chore(deps): update ckan/ckan-base docker tag to v2.10.5 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/115 +* chore(deps): update ckan/ckan-dev docker tag to v2.10.5 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/116 +* feat(scheming): set up GDI presets (for datetime scheming) by @Markus92 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/119 +* chore(deps): update postgres docker tag to v17 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/124 +* feat: Upgrade to DCAT AP 3 by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/125 +* chore(deps): update aquasecurity/trivy-action action to v0.25.0 by @LNDS-Sysadmins in https:// +github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/127 + +### Removed +* feat(auth): remove Keycloak integration from CKAN and user portal by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/121 + + +### Fixed +* fix: user permissions error causes oidc plugin to error by @Markus92 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/114 + +### Security +* chore(deps): remove vulnerable packages by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/126 + +## [v1.2.2] - 2024-05-12 + +### Added +* Vulnscan by @sehaartuc in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/76 +* feat: renovate integration by @sehaartuc in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/77 + +### Changed +* chore(deps): update fsfe/reuse-action action to v4 - autoclosed by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/83 +* chore(deps): update docker/build-push-action action to v6 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/82 +* chore(deps): update docker/login-action digest to 0d4c9c5 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/79 +* chore(deps): update docker/metadata-action digest to a64d048 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/80 +* chore(deps): update oss-review-toolkit/ort-ci-github-action digest to 81698a9 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/81 +* chore(deps): update postgres docker tag to v16 by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/84 +* chore(deps): update azure/webapps-deploy digest to 5c1d76e by @LNDS-Sysadmins in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/78 +* chore: setup default user permissions by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/109 +* chore: change from Catalogues to Organizations by @nolliia in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/110 +* chore: merge RUN commands by @brunopacheco1 in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/111 +* Update fairdatapoint extension by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/113 + +### Fixed +* fix: Set compatibility_mode to false to map correctly publisher close… by @hcvdwerf in https://github.com/GenomicDataInfrastructure/gdi-userportal-ckan-docker/pull/74 + ## [v1.2.1] - 2024-06-12 ### Changed diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index ecf7d6062..dc0ca527e 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit ecf7d60623dc552c4f31997f3e2a0fe8b813e412 +Subproject commit dc0ca527e6dec9dfa3037f6d12fad0121c355c0e From 2cc3810fa27293bae90be7d61038d371fe0062ec Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Tue, 15 Oct 2024 19:02:51 +0000 Subject: [PATCH 174/284] chore(deps): update aquasecurity/trivy-action action to v0.28.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1383457e4..62ba5baca 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.27.0 + uses: aquasecurity/trivy-action@0.28.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e04b12896..f557a7bf0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.27.0 + uses: aquasecurity/trivy-action@0.28.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From ba6f8c9984cd029803b2c3a6b3b1406fba3c2782 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Wed, 16 Oct 2024 09:21:43 +0200 Subject: [PATCH 175/284] Prepare for release v1.3.3 (#143) * Prepare for release v1.3.3 * fix typo (#144) Co-authored-by: Hans-Chrstian --------- Co-authored-by: Hans-Chrstian --- CHANGELOG.md | 5 +++++ ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 379cfd9cc..574d3df78 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Security +## [v1.3.3] - 2024-10-16 + +### Fixed +* fix(language): Set fallback language to English when Dutch for example is not available + ## [v1.3.2] - 2024-10-14 ### Changed diff --git a/ckan/Dockerfile b/ckan/Dockerfile index cff14d79a..5b01c5953 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.3#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.4#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index dc0ca527e..ceec1790c 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit dc0ca527e6dec9dfa3037f6d12fad0121c355c0e +Subproject commit ceec1790c189c790ccaf63cf02a3a3a739565d67 From 7289ccc663f9f35d001d5ba6c39b0a9a0c91533c Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 31 Oct 2024 09:28:25 +0100 Subject: [PATCH 176/284] chore: update ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index ceec1790c..d647b9e1a 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit ceec1790c189c790ccaf63cf02a3a3a739565d67 +Subproject commit d647b9e1a38c866c580790453377a57f70b99bc7 From a870d4f4791fb23ea10248e893268cf5cfc9ad94 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 31 Oct 2024 09:28:38 +0100 Subject: [PATCH 177/284] chore: cache trivy db --- .github/workflows/trivy_db_cache.yml | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .github/workflows/trivy_db_cache.yml diff --git a/.github/workflows/trivy_db_cache.yml b/.github/workflows/trivy_db_cache.yml new file mode 100644 index 000000000..75d40c1c6 --- /dev/null +++ b/.github/workflows/trivy_db_cache.yml @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +name: Update Trivy Cache + +on: + schedule: + - cron: "0 0 * * *" # Run daily at midnight UTC + workflow_dispatch: # Allow manual triggering + +jobs: + update-trivy-db: + runs-on: ubuntu-latest + steps: + - name: Setup oras + uses: oras-project/setup-oras@v1 + + - name: Get current date + id: date + run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT + + - name: Download and extract the vulnerability DB + run: | + mkdir -p $GITHUB_WORKSPACE/.cache/trivy/db + oras pull ghcr.io/aquasecurity/trivy-db:2 + tar -xzf db.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/db + rm db.tar.gz + + - name: Download and extract the Java DB + run: | + mkdir -p $GITHUB_WORKSPACE/.cache/trivy/java-db + oras pull ghcr.io/aquasecurity/trivy-java-db:1 + tar -xzf javadb.tar.gz -C $GITHUB_WORKSPACE/.cache/trivy/java-db + rm javadb.tar.gz + + - name: Cache DBs + uses: actions/cache/save@v4 + with: + path: ${{ github.workspace }}/.cache/trivy + key: cache-trivy-${{ steps.date.outputs.date }} From d9caea772183f641781d94481a957001824fde3d Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 31 Oct 2024 09:31:05 +0100 Subject: [PATCH 178/284] chore: use cached trivy db --- .github/workflows/main.yml | 5 ++++- .github/workflows/release.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 62ba5baca..2eb1c1c1c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -83,7 +83,10 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL" + severity: "CRITICAL,HIGH" + env: + TRIVY_SKIP_DB_UPDATE: true + TRIVY_SKIP_JAVA_DB_UPDATE: true - name: Push Docker image uses: docker/build-push-action@v6 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f557a7bf0..c327b661a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,10 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL" + severity: "CRITICAL,HIGH" + env: + TRIVY_SKIP_DB_UPDATE: true + TRIVY_SKIP_JAVA_DB_UPDATE: true - name: Build and push Docker image uses: docker/build-push-action@v6 From 4a16fc9434a2b9f4052ab83ef6bf93db05855e1f Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 31 Oct 2024 09:34:54 +0100 Subject: [PATCH 179/284] chore: update ckanext-gdi-userportal HEAD commit --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index d647b9e1a..26ed4a45e 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit d647b9e1a38c866c580790453377a57f70b99bc7 +Subproject commit 26ed4a45e9fead8e8928bdbf9174b67237c7dd89 From b3720b6dfdbd6ea94cf5b33efbf05587200083cd Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 31 Oct 2024 09:39:53 +0100 Subject: [PATCH 180/284] fix: revert severity of trivy scanner to CRITICAL only --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2eb1c1c1c..14b60d4b9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -83,7 +83,7 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL,HIGH" + severity: "CRITICAL" env: TRIVY_SKIP_DB_UPDATE: true TRIVY_SKIP_JAVA_DB_UPDATE: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c327b661a..b139c95dd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,7 +81,7 @@ jobs: exit-code: "1" ignore-unfixed: true vuln-type: "os,library" - severity: "CRITICAL,HIGH" + severity: "CRITICAL" env: TRIVY_SKIP_DB_UPDATE: true TRIVY_SKIP_JAVA_DB_UPDATE: true From 4850d5f8547a735962addfed9320f470c72ed8f9 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 6 Nov 2024 12:54:38 +0100 Subject: [PATCH 181/284] chore(deps): upgrade ckanext-gdi-userportal --- .env | 3 +++ ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 0ac76202d..8c0beb299 100644 --- a/.env +++ b/.env @@ -49,3 +49,6 @@ CKAN__HARVEST__MQ__REDIS_DB=1 CKAN___DEBUG=true CKAN__HARVEST__LOG_LEVEL=DEBUG CKAN___LOGGER_CKANEXT__LEVEL=DEBUG + +#OTEL +OTEL_SDK_DISABLED=true diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5b01c5953..5300206cf 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.4#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.5#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 26ed4a45e..dff71137e 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 26ed4a45e9fead8e8928bdbf9174b67237c7dd89 +Subproject commit dff71137e02971ab0ae00a9f9cd79fd665363ec6 From 35005570fcb128777ea2dacd3906a3a4ebcf4e3a Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 6 Nov 2024 14:31:12 +0100 Subject: [PATCH 182/284] chore(deps): upgrade opentelemetry components --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5300206cf..a7ed4437b 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.5#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.6#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index dff71137e..de2774dab 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit dff71137e02971ab0ae00a9f9cd79fd665363ec6 +Subproject commit de2774dabf6ce45cb74153b85746557369572eaf From 873828b40281b14a7d43d67ce815569f9ffe2ee0 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 11 Nov 2024 15:31:08 +0100 Subject: [PATCH 183/284] fix: reuse CKAN_SQLALCHEMY_URL in upload_vocabulary.sh --- ckan/docker-entrypoint.d/upload_vocabulary.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/docker-entrypoint.d/upload_vocabulary.sh b/ckan/docker-entrypoint.d/upload_vocabulary.sh index 40518dfbc..9ad234a6f 100644 --- a/ckan/docker-entrypoint.d/upload_vocabulary.sh +++ b/ckan/docker-entrypoint.d/upload_vocabulary.sh @@ -6,7 +6,7 @@ set -e -psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:5432/$CKAN_DB <<-EOSQL +psql $CKAN_SQLALCHEMY_URL <<-EOSQL SELECT EXISTS(SELECT 1 FROM public.term_translation) as table_not_empty From 85895d65a61e9f398ad685687ef28a21d16cbafd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Thu, 14 Nov 2024 08:05:03 +0000 Subject: [PATCH 184/284] chore(deps): update fsfe/reuse-action action to v5 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b8bb8068e..02dc61e6a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v4 - name: REUSE Compliance Check - uses: fsfe/reuse-action@v4 + uses: fsfe/reuse-action@v5 From 0b1cf023ad45f02327febe35b4b549ca0680b045 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 20 Nov 2024 07:04:46 +0000 Subject: [PATCH 185/284] chore(deps): update aquasecurity/trivy-action action to v0.29.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 14b60d4b9..052d0eb82 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.28.0 + uses: aquasecurity/trivy-action@0.29.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b139c95dd..d84ec7043 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.28.0 + uses: aquasecurity/trivy-action@0.29.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From ab77b395d561f3c116fa9734cd80d8bc4275b2a3 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Nov 2024 11:17:28 +0100 Subject: [PATCH 186/284] chore(deps): upgrade ckan extensions --- ckan/Dockerfile | 6 +++--- ckan/Dockerfile.dev | 4 ++-- src/ckanext-gdi-userportal | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index a7ed4437b..2ef84ef63 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,13 +6,13 @@ FROM docker.io/ckan/ckan-base:2.10.5 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.6#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 5e437e990..287cb7f64 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -6,10 +6,10 @@ FROM docker.io/ckan/ckan-dev:2.10.5 -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.0.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.5.6#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index de2774dab..354e02e92 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit de2774dabf6ce45cb74153b85746557369572eaf +Subproject commit 354e02e9205c25835d8a31fdbde2e1f8e11daaf9 From 825ce1831aed434c6911b34c9a0c2a9fffd9e197 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 21 Nov 2024 11:41:44 +0100 Subject: [PATCH 187/284] chore: initialize harvest db --- ckan/setup/prerun.py | 78 +++++++++++++------------------------------- 1 file changed, 23 insertions(+), 55 deletions(-) diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 23052ab0c..b10c35231 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -7,6 +7,7 @@ import sys import subprocess import psycopg2 + try: from urllib.request import urlopen from urllib.error import URLError @@ -31,12 +32,18 @@ def update_plugins(): subprocess.check_output(cmd, stderr=subprocess.STDOUT) print("[prerun] Plugins set.") + def update_database(): sqlalchemy_url = os.environ.get("CKAN_SQLALCHEMY_URL", "") print(("[prerun] Setting the SqlAlchemy URL in {}:".format(ckan_ini))) print(sqlalchemy_url) - cmd = ["ckan", "config-tool", ckan_ini, "sqlalchemy.url = {}".format(sqlalchemy_url)] + cmd = [ + "ckan", + "config-tool", + ckan_ini, + "sqlalchemy.url = {}".format(sqlalchemy_url), + ] subprocess.check_output(cmd, stderr=subprocess.STDOUT) print("[prerun] SqlAlchemy URL set.") @@ -49,14 +56,6 @@ def check_main_db_connection(retry=None): return check_db_connection(conn_str, retry) -def check_datastore_db_connection(retry=None): - - conn_str = os.environ.get("CKAN_DATASTORE_WRITE_URL") - if not conn_str: - print("[prerun] CKAN_DATASTORE_WRITE_URL not defined, not checking db") - return check_db_connection(conn_str, retry) - - def check_db_connection(conn_str, retry=None): if retry is None: @@ -86,7 +85,7 @@ def check_solr_connection(retry=None): sys.exit(1) url = os.environ.get("CKAN_SOLR_URL", "") - search_url = '{url}/schema/name?wt=json'.format(url=url) + search_url = "{url}/schema/name?wt=json".format(url=url) try: connection = urlopen(search_url) @@ -96,13 +95,14 @@ def check_solr_connection(retry=None): time.sleep(10) check_solr_connection(retry=retry - 1) else: - import re - conn_info = connection.read() - schema_name = json.loads(conn_info) - if 'ckan' in schema_name['name']: - print('[prerun] Succesfully connected to solr and CKAN schema loaded') - else: - print('[prerun] Succesfully connected to solr, but CKAN schema not found') + import re + + conn_info = connection.read() + schema_name = json.loads(conn_info) + if "ckan" in schema_name["name"]: + print("[prerun] Succesfully connected to solr and CKAN schema loaded") + else: + print("[prerun] Succesfully connected to solr, but CKAN schema not found") def init_db(): @@ -123,39 +123,12 @@ def init_db(): raise e -def init_datastore_db(): - - conn_str = os.environ.get("CKAN_DATASTORE_WRITE_URL") - if not conn_str: - print("[prerun] Skipping datastore initialization") - return - - datastore_perms_command = ["ckan", "-c", ckan_ini, "datastore", "set-permissions"] - - connection = psycopg2.connect(conn_str) - cursor = connection.cursor() - - print("[prerun] Initializing datastore db - start") +def init_db_harvest(): + db_command = ["ckan", "-c", ckan_ini, "db", "upgrade", "-p", "harvest"] + print("[prerun] Initializing or upgrading harvest db - start") try: - datastore_perms = subprocess.Popen( - datastore_perms_command, stdout=subprocess.PIPE - ) - - perms_sql = datastore_perms.stdout.read() - # Remove internal pg command as psycopg2 does not like it - perms_sql = re.sub(b'\\\\connect "(.*)"', b"", perms_sql) - cursor.execute(perms_sql) - for notice in connection.notices: - print(notice) - - connection.commit() - - print("[prerun] Initializing datastore db - end") - print(datastore_perms.stdout.read()) - except psycopg2.Error as e: - print("[prerun] Could not initialize datastore") - print(str(e)) - + subprocess.check_output(db_command, stderr=subprocess.STDOUT) + print("[prerun] Initializing or upgrading harvest db - end") except subprocess.CalledProcessError as e: if "OperationalError" in e.output: print(e.output) @@ -165,9 +138,6 @@ def init_datastore_db(): else: print(e.output) raise e - finally: - cursor.close() - connection.close() def create_sysadmin(): @@ -219,8 +189,6 @@ def create_sysadmin(): update_database() check_main_db_connection() init_db() - #check_datastore_db_connection() - #init_datastore_db() + init_db_harvest() check_solr_connection() create_sysadmin() - \ No newline at end of file From d78701d2b3894ba53eecc2a068781750180095d3 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 21 Nov 2024 13:40:47 +0100 Subject: [PATCH 188/284] Fix FDP --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 2ef84ef63..343cab847 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 287cb7f64..31a96a7c4 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,7 +14,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester From 7f632ce92985a559ea7e647f8776af381a89f8ea Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 21 Nov 2024 15:45:04 +0100 Subject: [PATCH 189/284] Hotfix 1.4.0 --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 343cab847..8122b55ea 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 31a96a7c4..b48cb9d8e 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,7 +14,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.1#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester From 316fbc392be1bd594605f78caed4171c00bf263b Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Thu, 21 Nov 2024 16:23:05 +0100 Subject: [PATCH 190/284] FDP 1.3.2 --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 8122b55ea..4e492ac8a 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index b48cb9d8e..859b4f7c0 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,7 +14,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.4.1#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt # Create log directories for CKAN harvester From 516ec09fd86b383b5ddad7e7f89c468cf48fe17a Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 11 Dec 2024 12:03:20 +0000 Subject: [PATCH 191/284] chore(deps): update docker.io/ckan/ckan-base docker tag to v2.10.6 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 4e492ac8a..1a538a8cf 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.10.5 +FROM docker.io/ckan/ckan-base:2.10.6 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt From 05c35a55dc04dea6ad110f3570412c68554c83f8 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 11 Dec 2024 12:03:22 +0000 Subject: [PATCH 192/284] chore(deps): update docker.io/ckan/ckan-dev docker tag to v2.10.6 --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 859b4f7c0..35619fc8c 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.10.5 +FROM docker.io/ckan/ckan-dev:2.10.6 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From be2c5a8ec3156a4f27951034d10ff878fbbbfc15 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Mon, 16 Dec 2024 21:04:59 +0100 Subject: [PATCH 193/284] chore(deps): revert CKAN upgrade --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1a538a8cf..4e492ac8a 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.10.6 +FROM docker.io/ckan/ckan-base:2.10.5 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 35619fc8c..859b4f7c0 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.10.6 +FROM docker.io/ckan/ckan-dev:2.10.5 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt From 34713e6a0fb4621eb7ba15ec6dec92cd860ade5f Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Wed, 18 Dec 2024 11:52:30 +0100 Subject: [PATCH 194/284] chore(deps): upgrade CKAN to 2.10.6 --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- docker-compose.yml | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 4e492ac8a..1a538a8cf 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.10.5 +FROM docker.io/ckan/ckan-base:2.10.6 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 859b4f7c0..35619fc8c 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.10.5 +FROM docker.io/ckan/ckan-dev:2.10.6 RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt diff --git a/docker-compose.yml b/docker-compose.yml index 5862c6036..c95b206ed 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,7 +7,6 @@ volumes: ckan_storage: pg_data: solr_data: - pip_cache: site_packages: services: @@ -29,7 +28,6 @@ services: volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions - - pip_cache:/root/.cache/pip - site_packages:/usr/lib/python3.10/site-packages restart: unless-stopped healthcheck: From 3e85f54b37e15be4424079beb64d6a320deb3e09 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Thu, 19 Dec 2024 16:54:38 +0100 Subject: [PATCH 195/284] chore: improve logs of database upgrades --- ckan/setup/prerun.py | 27 +++++++++++++++++++++++---- harvest_sources.md | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 harvest_sources.md diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index b10c35231..145beed77 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -4,6 +4,7 @@ # SPDX-License-Identifier: AGPL-3.0-only import os +import pwd import sys import subprocess import psycopg2 @@ -25,6 +26,7 @@ def update_plugins(): + plugins = os.environ.get("CKAN__PLUGINS", "") print(("[prerun] Setting the following plugins in {}:".format(ckan_ini))) print(plugins) @@ -53,6 +55,7 @@ def check_main_db_connection(retry=None): conn_str = os.environ.get("CKAN_SQLALCHEMY_URL") if not conn_str: print("[prerun] CKAN_SQLALCHEMY_URL not defined, not checking db") + return return check_db_connection(conn_str, retry) @@ -107,18 +110,18 @@ def check_solr_connection(retry=None): def init_db(): - db_command = ["ckan", "-c", ckan_ini, "db", "init"] + db_command = ["ckan", "-c", ckan_ini, "db", "upgrade"] print("[prerun] Initializing or upgrading db - start") try: subprocess.check_output(db_command, stderr=subprocess.STDOUT) print("[prerun] Initializing or upgrading db - end") except subprocess.CalledProcessError as e: - if "OperationalError" in e.output: - print(e.output) + if "OperationalError" in str(e.output): print("[prerun] Database not ready, waiting a bit before exit...") time.sleep(5) sys.exit(1) else: + print(str(e)) print(e.output) raise e @@ -130,12 +133,13 @@ def init_db_harvest(): subprocess.check_output(db_command, stderr=subprocess.STDOUT) print("[prerun] Initializing or upgrading harvest db - end") except subprocess.CalledProcessError as e: - if "OperationalError" in e.output: + if "OperationalError" in str(e.output): print(e.output) print("[prerun] Database not ready, waiting a bit before exit...") time.sleep(5) sys.exit(1) else: + print(str(e)) print(e.output) raise e @@ -177,6 +181,21 @@ def create_sysadmin(): subprocess.call(command) print("[prerun] Made user {0} a sysadmin".format(name)) + # cleanup permissions + # We're running as root before pivoting to uwsgi and dropping privs + data_dir = "%s/storage" % os.environ["CKAN_STORAGE_PATH"] + + try: + user_name = "ckan-sys" + pwd.getpwnam(user_name) + command = ["chown", "-R", "ckan:ckan-sys", data_dir] + except KeyError: + user_name = "ckan" + command = ["chown", "-R", "ckan:ckan", data_dir] + subprocess.call(command) + + print("[prerun] Ensured storage directory is owned by {}".format(user_name)) + if __name__ == "__main__": diff --git a/harvest_sources.md b/harvest_sources.md new file mode 100644 index 000000000..5d37a6031 --- /dev/null +++ b/harvest_sources.md @@ -0,0 +1,40 @@ + +https://fdp.gdi.biodata.pt +IST +FAIR +{"profile":"fairdatapoint_dcat_ap"} + + +http://195.148.23.230 +CSFI +FAIR +{"profile":"fairdatapoint_dcat_ap","rdf_format":"text/turtle"} + + +https://tryggve.tsd.usit.uio.no/GDI_Norway_test_data_catalog_rdf.ttl +University of Oslo +DCAT RDF +{"profile":"fairdatapoint_dcat_ap","rdf_format":"text/turtle"} + + +https://gdi.test.ega-archive.org/catalog/catalog.ttl +EGA +DCAT RDF +{"profile":"fairdatapoint_dcat_ap","rdf_format":"text/turtle"} + + +https://fairdata.dev.gdi.lu/api/fdp +LNDS FDP +FAIR +{ "profile":"fairdatapoint_dcat_ap" } + + +https://staging-fdp.gdi.nbis.se/ +NBIS +FAIR +{"profile":"fairdatapoint_dcat_ap"} From 0cd04b80f508c37ca7f22ad5c921e5d19196e3d9 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 6 Jan 2025 20:29:02 +0100 Subject: [PATCH 196/284] Current status of 2.11.1 upgrade --- .env | 38 +- bin/ckan | 6 + bin/compose | 6 + bin/install_src | 6 + ckan/Dockerfile | 10 +- ckan/Dockerfile.dev | 73 +- ckan/config/crontab | 4 +- ckan/config/supervisord.conf | 41 +- .../common_vocabulary_tags.csv | 2421 ----------------- .../common_vocabulary_tags.csv.license | 4 - .../docker-entrypoint.d/cp_env_to_cron_env.sh | 2 +- ckan/docker-entrypoint.d/upload_vocabulary.sh | 26 - ckan/setup/prerun.py | 35 +- ckan/setup/start_ckan_development.sh | 87 +- docker-compose.yml | 52 +- .../2_setup_test_databases.sh | 13 - src/ckanext-gdi-userportal | 2 +- 17 files changed, 157 insertions(+), 2669 deletions(-) create mode 100644 bin/ckan create mode 100644 bin/compose create mode 100644 bin/install_src delete mode 100644 ckan/docker-entrypoint.d/common_vocabulary_tags.csv delete mode 100644 ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license delete mode 100644 ckan/docker-entrypoint.d/upload_vocabulary.sh delete mode 100755 postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh diff --git a/.env b/.env index 8c0beb299..996a69ce3 100644 --- a/.env +++ b/.env @@ -3,23 +3,27 @@ # # SPDX-License-Identifier: AGPL-3.0-only -# Host Ports -CKAN_PORT_HOST=5500 - -# Postgres +# CKAN databases POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=postgres -POSTGRES_HOST=postgres +POSTGRES_HOST=db CKAN_DB_USER=ckandbuser CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb +CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@db/ckandb + +# Dev settings +USE_HTTPS_FOR_DEV=false + +# Host Ports +CKAN_PORT_HOST=5500 # CKAN core -CKAN_VERSION=2.10.5 +CKAN_VERSION=2.11.1 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 -CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 + CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME @@ -27,28 +31,28 @@ CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME CKAN_SYSADMIN_NAME=ckan_admin CKAN_SYSADMIN_PASSWORD=test1234 CKAN_SYSADMIN_EMAIL=your_email@example.com +CKAN_STORAGE_PATH=/var/lib/ckan CKAN_SMTP_SERVER=smtp.corporateict.domain:25 CKAN_SMTP_STARTTLS=True CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost CKAN_MAX_UPLOAD_SIZE_MB=10 -CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} -TEST_CKAN_SQLALCHEMY_URL=postgres://{CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/ckan_test -CKAN_SOLR_URL=http://solr:8983/solr/ckan -TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan +TZ=Europe/Amsterdam + +# Redis +REDIS_VERSION=7.4.1 CKAN_REDIS_URL=redis://redis:6379/1 -TEST_CKAN_REDIS_URL=redis://redis:6379/1 +# Solr +CKAN_SOLR_URL=http://solr:8983/solr/ckan + +# Extensions +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 -#Logger -CKAN___DEBUG=true -CKAN__HARVEST__LOG_LEVEL=DEBUG -CKAN___LOGGER_CKANEXT__LEVEL=DEBUG - #OTEL OTEL_SDK_DISABLED=true diff --git a/bin/ckan b/bin/ckan new file mode 100644 index 000000000..98a22847a --- /dev/null +++ b/bin/ckan @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.dev.yml" exec ckan-dev ckan "$@" \ No newline at end of file diff --git a/bin/compose b/bin/compose new file mode 100644 index 000000000..efeee74ec --- /dev/null +++ b/bin/compose @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.yml" "$@" \ No newline at end of file diff --git a/bin/install_src b/bin/install_src new file mode 100644 index 000000000..ecfc7be6b --- /dev/null +++ b/bin/install_src @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.yml" run -u root ckan-dev ./install_src.sh diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ed7350e45..2e60cad39 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.11.0 +FROM ckan/ckan-base:2.11.1 RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt @@ -22,13 +22,9 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor # # Install cron and postgres client # cron is necessary for harvesting, postgres client for vocabulary seeding -RUN \ - --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update \ +RUN apt-get update \ && apt-get install -y --no-install-recommends cron postgresql-client - # Create log directories for CKAN harvester RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan @@ -52,8 +48,6 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done -ENV CKAN__PLUGINS="envvars scheming_datasets scheming_organizations dcat harvest ckan_harvester dcat_rdf_harvester fairdatapointharvester gdi_userportal activity" - COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} # TODO diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 5070ce893..d6c139a7c 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,10 +4,11 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.11.0 +FROM ckan/ckan-dev:2.11.1 + RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -17,49 +18,49 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# # Install cron and postgres client -# cron is necessary for harvesting, postgres client for vocabulary seeding -RUN \ - --mount=type=cache,target=/var/cache/apt,sharing=locked \ - --mount=type=cache,target=/var/lib/apt,sharing=locked \ - apt-get update \ - && apt-get install -y --no-install-recommends cron postgresql-client +USER root + +# Install cron +RUN apt-get update && apt-get install -y --no-install-recommends \ + cron \ + supervisor \ + && rm -rf /var/lib/apt/lists/* # Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan +RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan-sys /var/log/ckan -# Copy custom initialization scripts -COPY docker-entrypoint.d/* /docker-entrypoint.d/ +# Create directories for Supervisor +RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d && \ + chown -R ckan:ckan-sys /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf -COPY config/crontab ${APP_DIR}/crontab -RUN crontab ${APP_DIR}/crontab +COPY config/crontab /etc/cron.d/ckan-cron -# Apply any patches needed to CKAN core or any of the built extensions (not the -# runtime mounted ones) -COPY patches ${APP_DIR}/patches +# Ensure correct permissions for cron files +RUN chmod 0644 /etc/cron.d/ckan-cron && \ + crontab /etc/cron.d/ckan-cron && \ + touch /var/log/cron.log && \ + chmod 666 /var/log/cron.log -RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ - done +RUN chown -R ckan-sys:ckan-sys /etc/profile.d && \ + printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh -ENV CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" +COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ +COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches +COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} -COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} -COPY --chown=ckan:ckan setup/start_ckan_development.sh ${APP_DIR} +USER ckan + +RUN for d in $APP_DIR/patches/*; do \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ + done -# TODO -# 1. Remove this command once the issue is fixed -# https://github.com/ckan/ckan-docker-base/issues/41 -RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ - mkdir -p /var/usr/ckan/storage/uploads/user && \ - chmod -R u+rwx "/var/lib/ckan" -# https://github.com/ckan/ckan-docker-base/issues/82 -# CVE-2024-32002 was found on git and related packages -RUN apk del git git-perl perl-git + + \ No newline at end of file diff --git a/ckan/config/crontab b/ckan/config/crontab index 0f4db8117..37986d4cd 100644 --- a/ckan/config/crontab +++ b/ckan/config/crontab @@ -2,6 +2,6 @@ # # SPDX-License-Identifier: AGPL-3.0-only # run job every hour -*/15 * * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run +*/15 * * * * /usr/local/bin/ckan -c /srv/app/ckan.ini harvester run # run cean harvest log every day, at 5 AM -0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log +0 5 * * * /usr/local/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/config/supervisord.conf b/ckan/config/supervisord.conf index 51d294d70..2ce4ea53f 100644 --- a/ckan/config/supervisord.conf +++ b/ckan/config/supervisord.conf @@ -2,12 +2,23 @@ # # SPDX-License-Identifier: AGPL-3.0-only -[program:ckan_gather_consumer] +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only -; Full Path to executable, should be path to virtural environment, -; Full path to config file too. +[supervisord] +; Directory where Supervisor will store its state +logfile=/var/log/supervisor/supervisord.log +logfile_maxbytes=50MB +logfile_backups=10 +loglevel=info +pidfile=/var/run/supervisord.pid +nodaemon=false +minfds=1024 +minprocs=200 -command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester gather-consumer +[program:ckan_gather_consumer] +command=/usr/local/bin/ckan --config=/srv/app/ckan.ini harvester gather-consumer numprocs=1 stdout_logfile=/var/log/ckan/std/gather_consumer.log stderr_logfile=/var/log/ckan/std/gather_consumer.log @@ -16,12 +27,7 @@ autorestart=true startsecs=10 [program:ckan_fetch_consumer] - -; Full Path to executable, should be path to virtural environment, -; Full path to config file too. - -command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer - +command=/usr/local/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer numprocs=1 stdout_logfile=/var/log/ckan/std/fetch_consumer.log stderr_logfile=/var/log/ckan/std/fetch_consumer.log @@ -29,17 +35,16 @@ autostart=true autorestart=true startsecs=10 - -[program:crond] - -; Full Path to executable, should be path to virtual environment, -; Full path to config file too. - -command=/usr/sbin/crond -f -c /etc/crontabs/ - +[program:cron] +command=/usr/sbin/cron -f +user=root numprocs=1 stdout_logfile=/var/log/ckan/std/cron.log stderr_logfile=/var/log/ckan/std/cron.log autostart=true autorestart=true startsecs=10 + +[include] +files = /etc/supervisor/conf.d/*.conf + diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv deleted file mode 100644 index 313d1509b..000000000 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ /dev/null @@ -1,2421 +0,0 @@ -term,term_translation,lang_code -https://publications.europa.eu/resource/authority/language/POR,"portugais",fr -https://publications.europa.eu/resource/authority/language/POR,"portugali keel",et -https://publications.europa.eu/resource/authority/language/POR,"португалски",sr -https://publications.europa.eu/resource/authority/language/POR,"portugalski",pl -https://publications.europa.eu/resource/authority/language/POR,"Portaingéilis",ga -https://publications.europa.eu/resource/authority/language/POR,"portugisiska",sv -https://publications.europa.eu/resource/authority/language/POR,"португалски",bg -https://publications.europa.eu/resource/authority/language/POR,"Portuguese",en -https://publications.europa.eu/resource/authority/language/POR,"portugalski",hr -https://publications.europa.eu/resource/authority/language/POR,"portugalšćina",hsb -https://publications.europa.eu/resource/authority/language/POR,"Portugiż",mt -https://publications.europa.eu/resource/authority/language/POR,"португалски",mk -https://publications.europa.eu/resource/authority/language/POR,"portugál",hu -https://publications.europa.eu/resource/authority/language/POR,"portugali",fi -https://publications.europa.eu/resource/authority/language/POR,"portoghese",it -https://publications.europa.eu/resource/authority/language/POR,"portugués",es -https://publications.europa.eu/resource/authority/language/POR,"portugisisk",da -https://publications.europa.eu/resource/authority/language/POR,"portugisisk",no -https://publications.europa.eu/resource/authority/language/POR,"portugalų kalba",lt -https://publications.europa.eu/resource/authority/language/POR,"português",pt -https://publications.europa.eu/resource/authority/language/POR,"Portugiesisch",de -https://publications.europa.eu/resource/authority/language/POR,"portugalčina",sk -https://publications.europa.eu/resource/authority/language/POR,"portugāļu valoda",lv -https://publications.europa.eu/resource/authority/language/POR,"πορτογαλικά",el -https://publications.europa.eu/resource/authority/language/POR,"Portugees",nl -https://publications.europa.eu/resource/authority/language/POR,"portugheză",ro -https://publications.europa.eu/resource/authority/language/POR,"португальский",ru -https://publications.europa.eu/resource/authority/language/POR,"португальська мова",uk -https://publications.europa.eu/resource/authority/language/POR,"portúgalska",is -https://publications.europa.eu/resource/authority/language/POR,"portugalski",sh -https://publications.europa.eu/resource/authority/language/POR,"portugalština",cs -https://publications.europa.eu/resource/authority/language/POR,"portekizce",tr -https://publications.europa.eu/resource/authority/language/POR,"portugalščina",sl -http://lexvo.org/id/iso639-3/por,"Portuguese",en -https://www.wikidata.org/wiki/Q57262078,"food consumption",en -https://www.wikidata.org/wiki/Q4014799,"medical visit",en -http://purl.obolibrary.org/obo/NCIT_C18002,"Home",en -https://www.wikidata.org/wiki/Q600236,"surgical operation",en -http://purl.obolibrary.org/obo/NCIT_C21007,"Disability",en -http://purl.obolibrary.org/obo/NCIT_C15329,"Surgical Procedure",en -http://purl.obolibrary.org/obo/NCIT_C25741,"Physician",en -http://purl.obolibrary.org/obo/NCIT_C111860,"Maternal Mortality",en -https://publications.europa.eu/resource/authority/language/EST,"Eastóinis",ga -https://publications.europa.eu/resource/authority/language/EST,"Eston",mt -https://publications.europa.eu/resource/authority/language/EST,"estónčina",sk -https://publications.europa.eu/resource/authority/language/EST,"Estisch",nl -https://publications.europa.eu/resource/authority/language/EST,"естонски",sr -https://publications.europa.eu/resource/authority/language/EST,"estisk",no -https://publications.europa.eu/resource/authority/language/EST,"estonski",sh -https://publications.europa.eu/resource/authority/language/EST,"estoński",pl -https://publications.europa.eu/resource/authority/language/EST,"estonien",fr -https://publications.europa.eu/resource/authority/language/EST,"estonština",cs -https://publications.europa.eu/resource/authority/language/EST,"естонська мова",uk -https://publications.europa.eu/resource/authority/language/EST,"естонски",mk -https://publications.europa.eu/resource/authority/language/EST,"eesti keel",et -https://publications.europa.eu/resource/authority/language/EST,"estonca",tr -https://publications.europa.eu/resource/authority/language/EST,"естонски",bg -https://publications.europa.eu/resource/authority/language/EST,"estonio",es -https://publications.europa.eu/resource/authority/language/EST,"viro",fi -https://publications.europa.eu/resource/authority/language/EST,"estónio",pt -https://publications.europa.eu/resource/authority/language/EST,"Estnisch",de -https://publications.europa.eu/resource/authority/language/EST,"eistneska",is -https://publications.europa.eu/resource/authority/language/EST,"εσθονικά",el -https://publications.europa.eu/resource/authority/language/EST,"észt",hu -https://publications.europa.eu/resource/authority/language/EST,"эстонский",ru -https://publications.europa.eu/resource/authority/language/EST,"estone",it -https://publications.europa.eu/resource/authority/language/EST,"igauņu valoda",lv -https://publications.europa.eu/resource/authority/language/EST,"Estonian",en -https://publications.europa.eu/resource/authority/language/EST,"estišćina",hsb -https://publications.europa.eu/resource/authority/language/EST,"estniska",sv -https://publications.europa.eu/resource/authority/language/EST,"estonski",hr -https://publications.europa.eu/resource/authority/language/EST,"estonă",ro -https://publications.europa.eu/resource/authority/language/EST,"estų kalba",lt -https://publications.europa.eu/resource/authority/language/EST,"estisk",da -https://publications.europa.eu/resource/authority/language/EST,"estonščina",sl -http://lexvo.org/id/iso639-3/est,"Estonian",en -https://www.wikidata.org/wiki/Q26305989,"blood-borne transmission",en -https://publications.europa.eu/resource/authority/language/HYE,"armenska",is -https://publications.europa.eu/resource/authority/language/HYE,"armenski",hr -https://publications.europa.eu/resource/authority/language/HYE,"armeniska",sv -https://publications.europa.eu/resource/authority/language/HYE,"armenšćina",hsb -https://publications.europa.eu/resource/authority/language/HYE,"Јерменски",sr -https://publications.europa.eu/resource/authority/language/HYE,"Armenian",en -https://publications.europa.eu/resource/authority/language/HYE,"Armen",mt -https://publications.europa.eu/resource/authority/language/HYE,"armeenia keel",et -https://publications.europa.eu/resource/authority/language/HYE,"armensk",no -https://publications.europa.eu/resource/authority/language/HYE,"ерменски",mk -https://publications.europa.eu/resource/authority/language/HYE,"armensk",da -https://publications.europa.eu/resource/authority/language/HYE,"armeană",ro -https://publications.europa.eu/resource/authority/language/HYE,"арменски",bg -https://publications.europa.eu/resource/authority/language/HYE,"Armeens",nl -https://publications.europa.eu/resource/authority/language/HYE,"arménština",cs -https://publications.europa.eu/resource/authority/language/HYE,"Armenisch",de -https://publications.europa.eu/resource/authority/language/HYE,"armēņu valoda",lv -https://publications.europa.eu/resource/authority/language/HYE,"armeno",it -https://publications.europa.eu/resource/authority/language/HYE,"armenščina",sl -https://publications.europa.eu/resource/authority/language/HYE,"армянский",ru -https://publications.europa.eu/resource/authority/language/HYE,"armėnų kalba",lt -https://publications.europa.eu/resource/authority/language/HYE,"armenio",es -https://publications.europa.eu/resource/authority/language/HYE,"ermenice",tr -https://publications.europa.eu/resource/authority/language/HYE,"arménčina",sk -https://publications.europa.eu/resource/authority/language/HYE,"вірменська мова",uk -https://publications.europa.eu/resource/authority/language/HYE,"Airméinis",ga -https://publications.europa.eu/resource/authority/language/HYE,"armenia",fi -https://publications.europa.eu/resource/authority/language/HYE,"ormiański",pl -https://publications.europa.eu/resource/authority/language/HYE,"arménio",pt -https://publications.europa.eu/resource/authority/language/HYE,"arménien",fr -https://publications.europa.eu/resource/authority/language/HYE,"αρμενικά",el -https://publications.europa.eu/resource/authority/language/HYE,"örmény",hu -https://publications.europa.eu/resource/authority/language/HYE,"armenski",sh -http://lexvo.org/id/iso639-3/hye,"Armenian",en -http://semanticscience.org/resource/SIO_000713,"doctor role",en -http://purl.obolibrary.org/obo/OMIT_0010784,"Obesity",en -https://www.wikidata.org/wiki/Property:P106,"occupation",en -https://www.wikidata.org/wiki/Q949149,"sanitation",en -http://purl.obolibrary.org/obo/OMIT_0013403,"Sanitation",en -http://purl.obolibrary.org/obo/NCIT_C16452,"Communication",en -http://purl.obolibrary.org/obo/GSSO_000498,"mental disorder",en -https://www.wikidata.org/wiki/Q747883,"physical activity",en -https://publications.europa.eu/resource/authority/language/BOS,"bośniacki",pl -https://publications.europa.eu/resource/authority/language/BOS,"bosniaco",it -https://publications.europa.eu/resource/authority/language/BOS,"bosnik",no -https://publications.europa.eu/resource/authority/language/BOS,"bosnia",fi -https://publications.europa.eu/resource/authority/language/BOS,"Bosnian",en -https://publications.europa.eu/resource/authority/language/BOS,"bosniačtina",sk -https://publications.europa.eu/resource/authority/language/BOS,"bosniešu valoda",lv -https://publications.europa.eu/resource/authority/language/BOS,"bosnių kalba",lt -https://publications.europa.eu/resource/authority/language/BOS,"bosenština",cs -https://publications.europa.eu/resource/authority/language/BOS,"bosnien",fr -https://publications.europa.eu/resource/authority/language/BOS,"boşnakça",tr -https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",nl -https://publications.europa.eu/resource/authority/language/BOS,"βοσνιακά",el -https://publications.europa.eu/resource/authority/language/BOS,"bosnisk",da -https://publications.europa.eu/resource/authority/language/BOS,"босненски",bg -https://publications.europa.eu/resource/authority/language/BOS,"bosníska",is -https://publications.europa.eu/resource/authority/language/BOS,"bosnia keel",et -https://publications.europa.eu/resource/authority/language/BOS,"bósnio",pt -https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",de -https://publications.europa.eu/resource/authority/language/BOS,"bosniska",sv -https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",sr -https://publications.europa.eu/resource/authority/language/BOS,"Bosnis",ga -https://publications.europa.eu/resource/authority/language/BOS,"bosnišćina",hsb -https://publications.europa.eu/resource/authority/language/BOS,"bosanščina",sl -https://publications.europa.eu/resource/authority/language/BOS,"Bosnjan",mt -https://publications.europa.eu/resource/authority/language/BOS,"bosnyák",hu -https://publications.europa.eu/resource/authority/language/BOS,"боснийский",ru -https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",mk -https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",sh -https://publications.europa.eu/resource/authority/language/BOS,"боснійська мова",uk -https://publications.europa.eu/resource/authority/language/BOS,"bosniacă",ro -https://publications.europa.eu/resource/authority/language/BOS,"bosnio",es -https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",hr -http://lexvo.org/id/iso639-3/bos,"Bosnian",en -http://purl.obolibrary.org/obo/OMIT_0008309,"Income",en -https://publications.europa.eu/resource/authority/language/CES,"tšekki",fi -https://publications.europa.eu/resource/authority/language/CES,"tékkneska",is -https://publications.europa.eu/resource/authority/language/CES,"чешки",bg -https://publications.europa.eu/resource/authority/language/CES,"чешки",sr -https://publications.europa.eu/resource/authority/language/CES,"checo",pt -https://publications.europa.eu/resource/authority/language/CES,"tsjekkisk",no -https://publications.europa.eu/resource/authority/language/CES,"Ċek",mt -https://publications.europa.eu/resource/authority/language/CES,"češki",hr -https://publications.europa.eu/resource/authority/language/CES,"čěšćina",hsb -https://publications.europa.eu/resource/authority/language/CES,"cseh",hu -https://publications.europa.eu/resource/authority/language/CES,"Seicis",ga -https://publications.europa.eu/resource/authority/language/CES,"tšehhi keel",et -https://publications.europa.eu/resource/authority/language/CES,"čekų kalba",lt -https://publications.europa.eu/resource/authority/language/CES,"čehu valoda",lv -https://publications.europa.eu/resource/authority/language/CES,"чешский",ru -https://publications.europa.eu/resource/authority/language/CES,"τσεχικά",el -https://publications.europa.eu/resource/authority/language/CES,"češki",sh -https://publications.europa.eu/resource/authority/language/CES,"čeština",sk -https://publications.europa.eu/resource/authority/language/CES,"Tsjechisch",nl -https://publications.europa.eu/resource/authority/language/CES,"чешки",mk -https://publications.europa.eu/resource/authority/language/CES,"tjekkisk",da -https://publications.europa.eu/resource/authority/language/CES,"çekçe",tr -https://publications.europa.eu/resource/authority/language/CES,"ceco",it -https://publications.europa.eu/resource/authority/language/CES,"tchèque",fr -https://publications.europa.eu/resource/authority/language/CES,"cehă",ro -https://publications.europa.eu/resource/authority/language/CES,"czeski",pl -https://publications.europa.eu/resource/authority/language/CES,"Tschechisch",de -https://publications.europa.eu/resource/authority/language/CES,"checo",es -https://publications.europa.eu/resource/authority/language/CES,"чеська мова",uk -https://publications.europa.eu/resource/authority/language/CES,"češčina",sl -https://publications.europa.eu/resource/authority/language/CES,"čeština",cs -https://publications.europa.eu/resource/authority/language/CES,"Czech",en -https://publications.europa.eu/resource/authority/language/CES,"tjeckiska",sv -http://lexvo.org/id/iso639-3/ces,"Czech",en -http://purl.obolibrary.org/obo/NCIT_C173558,"Contact Tracing",en -http://purl.obolibrary.org/obo/NCIT_C16669,"Health Status",en -https://www.wikidata.org/wiki/Q182672,"zoonosis",en -https://publications.europa.eu/resource/authority/language/DEU,"saksa",fi -https://publications.europa.eu/resource/authority/language/DEU,"немецкий",ru -https://publications.europa.eu/resource/authority/language/DEU,"Duits",nl -https://publications.europa.eu/resource/authority/language/DEU,"nemščina",sl -https://publications.europa.eu/resource/authority/language/DEU,"tysk",no -https://publications.europa.eu/resource/authority/language/DEU,"német",hu -https://publications.europa.eu/resource/authority/language/DEU,"немачки",sr -https://publications.europa.eu/resource/authority/language/DEU,"alemán",es -https://publications.europa.eu/resource/authority/language/DEU,"němčina",cs -https://publications.europa.eu/resource/authority/language/DEU,"tysk",da -https://publications.europa.eu/resource/authority/language/DEU,"saksa keel",et -https://publications.europa.eu/resource/authority/language/DEU,"Gearmáinis",ga -https://publications.europa.eu/resource/authority/language/DEU,"němska",hsb -https://publications.europa.eu/resource/authority/language/DEU,"tedesco",it -https://publications.europa.eu/resource/authority/language/DEU,"njemački",hr -https://publications.europa.eu/resource/authority/language/DEU,"γερμανικά",el -https://publications.europa.eu/resource/authority/language/DEU,"nemački",sh -https://publications.europa.eu/resource/authority/language/DEU,"німецька мова",uk -https://publications.europa.eu/resource/authority/language/DEU,"alemão",pt -https://publications.europa.eu/resource/authority/language/DEU,"almanca",tr -https://publications.europa.eu/resource/authority/language/DEU,"niemiecki",pl -https://publications.europa.eu/resource/authority/language/DEU,"German",en -https://publications.europa.eu/resource/authority/language/DEU,"þýska",is -https://publications.europa.eu/resource/authority/language/DEU,"Ġermaniż",mt -https://publications.europa.eu/resource/authority/language/DEU,"vokiečių kalba",lt -https://publications.europa.eu/resource/authority/language/DEU,"tyska",sv -https://publications.europa.eu/resource/authority/language/DEU,"nemčina",sk -https://publications.europa.eu/resource/authority/language/DEU,"немски",bg -https://publications.europa.eu/resource/authority/language/DEU,"allemand",fr -https://publications.europa.eu/resource/authority/language/DEU,"vācu valoda",lv -https://publications.europa.eu/resource/authority/language/DEU,"germană",ro -https://publications.europa.eu/resource/authority/language/DEU,"германски",mk -https://publications.europa.eu/resource/authority/language/DEU,"Deutsch",de -http://lexvo.org/id/iso639-3/deu,"German",en -http://vivoweb.org/ontology/core#Hospital,"Hospital",en -http://purl.obolibrary.org/obo/GSSO_007925,"pharmaceutical drug",en -https://www.wikidata.org/wiki/Q18123741,"infectious disease",en -https://www.wikidata.org/wiki/Q12140,"medication",en -http://purl.obolibrary.org/obo/OMIT_0009102,"Life Expectancy",en -https://www.wikidata.org/wiki/Q381481,"airborne disease",en -http://purl.obolibrary.org/obo/OMIT_0017465,"Health Care Costs",en -http://purl.obolibrary.org/obo/OMIT_0009217,"Long-Term Care",en -https://www.wikidata.org/wiki/Q30314010,"social distancing",en -https://publications.europa.eu/resource/authority/language/LIT,"litván",hu -https://publications.europa.eu/resource/authority/language/LIT,"litewski",pl -https://publications.europa.eu/resource/authority/language/LIT,"lituano",it -https://publications.europa.eu/resource/authority/language/LIT,"litauisk",da -https://publications.europa.eu/resource/authority/language/LIT,"lietuvių kalba",lt -https://publications.europa.eu/resource/authority/language/LIT,"liettua",fi -https://publications.europa.eu/resource/authority/language/LIT,"litauisk",no -https://publications.europa.eu/resource/authority/language/LIT,"λιθουανικά",el -https://publications.europa.eu/resource/authority/language/LIT,"литовски",bg -https://publications.europa.eu/resource/authority/language/LIT,"litawšćina",hsb -https://publications.europa.eu/resource/authority/language/LIT,"Litouws",nl -https://publications.europa.eu/resource/authority/language/LIT,"lietuviešu valoda",lv -https://publications.europa.eu/resource/authority/language/LIT,"leedu keel",et -https://publications.europa.eu/resource/authority/language/LIT,"lituanien",fr -https://publications.europa.eu/resource/authority/language/LIT,"lituaniană",ro -https://publications.europa.eu/resource/authority/language/LIT,"litavski",hr -https://publications.europa.eu/resource/authority/language/LIT,"Litauisch",de -https://publications.europa.eu/resource/authority/language/LIT,"litovčina",sk -https://publications.europa.eu/resource/authority/language/LIT,"litvanca",tr -https://publications.europa.eu/resource/authority/language/LIT,"litauiska",sv -https://publications.europa.eu/resource/authority/language/LIT,"lituano",es -https://publications.europa.eu/resource/authority/language/LIT,"litháíska",is -https://publications.europa.eu/resource/authority/language/LIT,"lituano",pt -https://publications.europa.eu/resource/authority/language/LIT,"литвански",mk -https://publications.europa.eu/resource/authority/language/LIT,"литовский",ru -https://publications.europa.eu/resource/authority/language/LIT,"литвански",sr -https://publications.europa.eu/resource/authority/language/LIT,"Lithuanian",en -https://publications.europa.eu/resource/authority/language/LIT,"litovščina",sl -https://publications.europa.eu/resource/authority/language/LIT,"Litwan",mt -https://publications.europa.eu/resource/authority/language/LIT,"литовська мова",uk -https://publications.europa.eu/resource/authority/language/LIT,"Liotuáinis",ga -https://publications.europa.eu/resource/authority/language/LIT,"litevština",cs -https://publications.europa.eu/resource/authority/language/LIT,"litvanski",sh -http://lexvo.org/id/iso639-3/lit,"Lithuanian",en -https://www.wikidata.org/wiki/Q12206,"diabetes",en -https://www.wikidata.org/wiki/Q12078,"cancer",en -https://www.wikidata.org/wiki/Q2006636,"waterborne disease",en -http://purl.obolibrary.org/obo/NCIT_C16495,"Demographics",en -https://www.wikidata.org/wiki/Q58028485,"policy compliance",en -http://purl.obolibrary.org/obo/EUPATH_0000359,"occupation",en -https://www.wikidata.org/wiki/Q70362525,"Hospital Bed Capacity",en -http://purl.obolibrary.org/obo/OMIT_0005898,"Employment",en -http://purl.obolibrary.org/obo/OMIT_0004111,"Cholesterol, Dietary",en -https://www.wikidata.org/wiki/Q1339474,"maternal death",en -https://www.wikidata.org/wiki/Q15636229,"surgical procedure",en -https://www.wikidata.org/wiki/Q95449639,"Vaccine-Preventable Diseases",en -http://purl.obolibrary.org/obo/GSSO_008527,"leisure activity",en -https://www.wikidata.org/wiki/Q17054975,"Health Workforce",en -https://www.wikidata.org/wiki/Q8434,"education",en -https://publications.europa.eu/resource/authority/language/ROM,"romani",hu -https://publications.europa.eu/resource/authority/language/ROM,"romski",sh -https://publications.europa.eu/resource/authority/language/ROM,"romani",fi -https://publications.europa.eu/resource/authority/language/ROM,"rómčina",sk -https://publications.europa.eu/resource/authority/language/ROM,"romština",cs -https://publications.europa.eu/resource/authority/language/ROM,"romski",pl -https://publications.europa.eu/resource/authority/language/ROM,"Zingaru",mt -https://publications.europa.eu/resource/authority/language/ROM,"цыга́нский",ru -https://publications.europa.eu/resource/authority/language/ROM,"ромски",mk -https://publications.europa.eu/resource/authority/language/ROM,"romų kalba",lt -https://publications.europa.eu/resource/authority/language/ROM,"romani",is -https://publications.europa.eu/resource/authority/language/ROM,"romaní",es -https://publications.europa.eu/resource/authority/language/ROM,"romski",hr -https://publications.europa.eu/resource/authority/language/ROM,"ромски",bg -https://publications.europa.eu/resource/authority/language/ROM,"romani",tr -https://publications.europa.eu/resource/authority/language/ROM,"romščina",sl -https://publications.europa.eu/resource/authority/language/ROM,"Romani",de -https://publications.europa.eu/resource/authority/language/ROM,"roma keel",et -https://publications.europa.eu/resource/authority/language/ROM,"Romani",nl -https://publications.europa.eu/resource/authority/language/ROM,"romani",da -https://publications.europa.eu/resource/authority/language/ROM,"romani",pt -https://publications.europa.eu/resource/authority/language/ROM,"romani",sv -https://publications.europa.eu/resource/authority/language/ROM,"циганська мова",uk -https://publications.europa.eu/resource/authority/language/ROM,"romani",fr -https://publications.europa.eu/resource/authority/language/ROM,"čigānu valoda",lv -https://publications.europa.eu/resource/authority/language/ROM,"romaní",it -https://publications.europa.eu/resource/authority/language/ROM,"Romani",ga -https://publications.europa.eu/resource/authority/language/ROM,"romani",no -https://publications.europa.eu/resource/authority/language/ROM,"ромски",sr -https://publications.europa.eu/resource/authority/language/ROM,"Romani",en -https://publications.europa.eu/resource/authority/language/ROM,"romani",ro -https://publications.europa.eu/resource/authority/language/ROM,"ρομανικά",el -http://lexvo.org/id/iso639-3/rom,"Romani",en -https://www.wikidata.org/wiki/Q93815163,"Cancer Survival Rates",en -http://purl.obolibrary.org/obo/OMIT_0015761,"Work",en -https://publications.europa.eu/resource/authority/language/ENG,"engleză",ro -https://publications.europa.eu/resource/authority/language/ENG,"angielski",pl -https://publications.europa.eu/resource/authority/language/ENG,"Englisch",de -https://publications.europa.eu/resource/authority/language/ENG,"inglés",es -https://publications.europa.eu/resource/authority/language/ENG,"angličtina",sk -https://publications.europa.eu/resource/authority/language/ENG,"английский",ru -https://publications.europa.eu/resource/authority/language/ENG,"Engels",nl -https://publications.europa.eu/resource/authority/language/ENG,"engleski",hr -https://publications.europa.eu/resource/authority/language/ENG,"inglise keel",et -https://publications.europa.eu/resource/authority/language/ENG,"angļu valoda",lv -https://publications.europa.eu/resource/authority/language/ENG,"engelsk",no -https://publications.europa.eu/resource/authority/language/ENG,"jendźelšćina",hsb -https://publications.europa.eu/resource/authority/language/ENG,"енглески",sr -https://publications.europa.eu/resource/authority/language/ENG,"ıngilizce",tr -https://publications.europa.eu/resource/authority/language/ENG,"anglais",fr -https://publications.europa.eu/resource/authority/language/ENG,"inglese",it -https://publications.europa.eu/resource/authority/language/ENG,"engleski",sh -https://publications.europa.eu/resource/authority/language/ENG,"inglês",pt -https://publications.europa.eu/resource/authority/language/ENG,"engelsk",da -https://publications.europa.eu/resource/authority/language/ENG,"enska",is -https://publications.europa.eu/resource/authority/language/ENG,"angol",hu -https://publications.europa.eu/resource/authority/language/ENG,"Béarla",ga -https://publications.europa.eu/resource/authority/language/ENG,"Ingliż",mt -https://publications.europa.eu/resource/authority/language/ENG,"английски",bg -https://publications.europa.eu/resource/authority/language/ENG,"anglų kalba",lt -https://publications.europa.eu/resource/authority/language/ENG,"angličtina",cs -https://publications.europa.eu/resource/authority/language/ENG,"αγγλικά",el -https://publications.europa.eu/resource/authority/language/ENG,"engelska",sv -https://publications.europa.eu/resource/authority/language/ENG,"англійська мова",uk -https://publications.europa.eu/resource/authority/language/ENG,"angleščina",sl -https://publications.europa.eu/resource/authority/language/ENG,"англиски",mk -https://publications.europa.eu/resource/authority/language/ENG,"englanti",fi -https://publications.europa.eu/resource/authority/language/ENG,"English",en -http://lexvo.org/id/iso639-3/eng,"English",en -https://www.wikidata.org/wiki/Q622527,"self-injury",en -https://www.wikidata.org/wiki/Q2715623,"social network",en -https://publications.europa.eu/resource/authority/language/RUS,"Russisch",de -https://publications.europa.eu/resource/authority/language/RUS,"rusă",ro -https://publications.europa.eu/resource/authority/language/RUS,"russo",pt -https://publications.europa.eu/resource/authority/language/RUS,"vene keel",et -https://publications.europa.eu/resource/authority/language/RUS,"rosyjski",pl -https://publications.europa.eu/resource/authority/language/RUS,"Russu",mt -https://publications.europa.eu/resource/authority/language/RUS,"ruština",sk -https://publications.europa.eu/resource/authority/language/RUS,"російська мова",uk -https://publications.europa.eu/resource/authority/language/RUS,"ruso",es -https://publications.europa.eu/resource/authority/language/RUS,"ryska",sv -https://publications.europa.eu/resource/authority/language/RUS,"russisk",no -https://publications.europa.eu/resource/authority/language/RUS,"руски",bg -https://publications.europa.eu/resource/authority/language/RUS,"Rúisis",ga -https://publications.europa.eu/resource/authority/language/RUS,"russe",fr -https://publications.europa.eu/resource/authority/language/RUS,"russo",it -https://publications.europa.eu/resource/authority/language/RUS,"ruski",sh -https://publications.europa.eu/resource/authority/language/RUS,"russisk",da -https://publications.europa.eu/resource/authority/language/RUS,"Russisch",nl -https://publications.europa.eu/resource/authority/language/RUS,"krievu valoda",lv -https://publications.europa.eu/resource/authority/language/RUS,"rusça",tr -https://publications.europa.eu/resource/authority/language/RUS,"pусский",ru -https://publications.europa.eu/resource/authority/language/RUS,"ruština",cs -https://publications.europa.eu/resource/authority/language/RUS,"ruski",hr -https://publications.europa.eu/resource/authority/language/RUS,"Russian",en -https://publications.europa.eu/resource/authority/language/RUS,"ρωσικά",el -https://publications.europa.eu/resource/authority/language/RUS,"руски",mk -https://publications.europa.eu/resource/authority/language/RUS,"руски",sr -https://publications.europa.eu/resource/authority/language/RUS,"ruščina",sl -https://publications.europa.eu/resource/authority/language/RUS,"venäjä",fi -https://publications.europa.eu/resource/authority/language/RUS,"orosz",hu -https://publications.europa.eu/resource/authority/language/RUS,"rusų kalba",lt -https://publications.europa.eu/resource/authority/language/RUS,"rússneska",is -https://publications.europa.eu/resource/authority/language/RUS,"rušćina",hsb -http://lexvo.org/id/iso639-3/rus,"Russian",en -https://www.wikidata.org/wiki/Q1519843,"health technology",en -http://purl.obolibrary.org/obo/NCIT_C17009,"Poverty",en -http://purl.obolibrary.org/obo/SCDO_0000948,"Quality of Health Care",en -http://purl.obolibrary.org/obo/OMIT_0010070,"Mortality",en -http://purl.obolibrary.org/obo/NCIT_C41150,"Income",en -http://purl.obolibrary.org/obo/NCIT_C25172,"Employed",en -http://purl.obolibrary.org/obo/NCIT_C16696,"Hospital",en -https://www.wikidata.org/wiki/Q53464336,"Airborne Diseases",en -https://www.wikidata.org/wiki/Q7743,"home",en -http://purl.obolibrary.org/obo/OMIT_0013643,"Sexually Transmitted Diseases",en -https://www.wikidata.org/wiki/Q1762591,"periodic health examination",en -https://www.wikidata.org/wiki/Q22907655,"patient experience",en -http://purl.obolibrary.org/obo/MAXO_0000004,"surgical procedure",en -http://purl.obolibrary.org/obo/NCIT_C157935,"Non-Communicable Disorder",en -http://purl.obolibrary.org/obo/OMIT_0010062,"Morbidity",en -https://publications.europa.eu/resource/authority/language/NNO,"norvegiană nynorsk",ro -https://publications.europa.eu/resource/authority/language/NNO,"neonorueguês",pt -https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",en -https://publications.europa.eu/resource/authority/language/NNO,"νορβηγική νίνορσκ",el -https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk Norveġiż",mt -https://publications.europa.eu/resource/authority/language/NNO,"norvég nynorsk",hu -https://publications.europa.eu/resource/authority/language/NNO,"norština (nynorsk)",cs -https://publications.europa.eu/resource/authority/language/NNO,"norweski nynorsk",pl -https://publications.europa.eu/resource/authority/language/NNO,"norska (nynorska)",sv -https://publications.europa.eu/resource/authority/language/NNO,"norvegese nynorsk",it -https://publications.europa.eu/resource/authority/language/NNO,"jaunnorvēģu valoda",lv -https://publications.europa.eu/resource/authority/language/NNO,"novonorveški",hr -https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",es -https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk",de -https://publications.europa.eu/resource/authority/language/NNO,"nórčina (nynorsk)",sk -https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",da -https://publications.europa.eu/resource/authority/language/NNO,"норвежки съвременен",bg -https://publications.europa.eu/resource/authority/language/NNO,"Nua-Ioruais",ga -https://publications.europa.eu/resource/authority/language/NNO,"uusnorja",fi -https://publications.europa.eu/resource/authority/language/NNO,"norvegų niunoškas",lt -https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",nl -https://publications.europa.eu/resource/authority/language/NNO,"norvégien nynorsk",fr -https://publications.europa.eu/resource/authority/language/NNO,"novonorveščina",sl -https://publications.europa.eu/resource/authority/language/NNO,"uusnorra keel",et -https://publications.europa.eu/resource/authority/language/NNO,"норвезька нюнорська мова",uk -http://lexvo.org/id/iso639-3/nno,"Norwegian Nynorsk",en -https://www.wikidata.org/wiki/Q96482267,"vaccination coverage",en -https://www.wikidata.org/wiki/Q6784043,"mass gathering",en -https://www.wikidata.org/wiki/Q193078,"injury",en -https://www.wikidata.org/wiki/Q98299735,"noncommunicable diseases",en -https://www.wikidata.org/wiki/Q506319,"generic drug",en -https://www.wikidata.org/wiki/Q6672123,"long-term care",en -http://purl.obolibrary.org/obo/NCIT_C17953,"Education Level",en -http://purl.obolibrary.org/obo/SCDO_0001088,"Social Support",en -http://purl.obolibrary.org/obo/NCIT_C90384,"Food Consumption",en -https://www.wikidata.org/wiki/Q186360,"nurse",en -https://www.wikidata.org/wiki/Q171558,"accident",en -https://www.wikidata.org/wiki/Q66982216,"health status",en -http://purl.obolibrary.org/obo/OBIB_0000716,"surgical procedure",en -https://www.wikidata.org/wiki/Q5031455,"Cancer survival rates",en -http://purl.obolibrary.org/obo/MFOMD_0000004,"mental disorder",en -http://purl.obolibrary.org/obo/OMIT_0017009,"Drug Costs",en -https://www.wikidata.org/wiki/Q1814351,"public health intervention",en -http://purl.obolibrary.org/obo/OMIT_0002889,"Behavior",en -https://www.wikidata.org/wiki/Q28885102,"pharmaceutical product",en -https://publications.europa.eu/resource/authority/language/NLD,"nižozemšćina",hsb -https://publications.europa.eu/resource/authority/language/NLD,"hollenska",is -https://publications.europa.eu/resource/authority/language/NLD,"nyderlandų kalba",lt -https://publications.europa.eu/resource/authority/language/NLD,"Olandiż",mt -https://publications.europa.eu/resource/authority/language/NLD,"Ollainnis",ga -https://publications.europa.eu/resource/authority/language/NLD,"niderlandzki",pl -https://publications.europa.eu/resource/authority/language/NLD,"holandski",sh -https://publications.europa.eu/resource/authority/language/NLD,"hollandaca",tr -https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",da -https://publications.europa.eu/resource/authority/language/NLD,"холандски",mk -https://publications.europa.eu/resource/authority/language/NLD,"Dutch",en -https://publications.europa.eu/resource/authority/language/NLD,"nederländska",sv -https://publications.europa.eu/resource/authority/language/NLD,"neerlandês",pt -https://publications.europa.eu/resource/authority/language/NLD,"néerlandais",fr -https://publications.europa.eu/resource/authority/language/NLD,"holandiešu valoda",lv -https://publications.europa.eu/resource/authority/language/NLD,"nizozemština",cs -https://publications.europa.eu/resource/authority/language/NLD,"holland",hu -https://publications.europa.eu/resource/authority/language/NLD,"neerlandeză",ro -https://publications.europa.eu/resource/authority/language/NLD,"холандски",sr -https://publications.europa.eu/resource/authority/language/NLD,"nizozemski",hr -https://publications.europa.eu/resource/authority/language/NLD,"нидерландски",bg -https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",no -https://publications.europa.eu/resource/authority/language/NLD,"ολλανδικά",el -https://publications.europa.eu/resource/authority/language/NLD,"нідерландська мова",uk -https://publications.europa.eu/resource/authority/language/NLD,"holandčina",sk -https://publications.europa.eu/resource/authority/language/NLD,"nizozemščina",sl -https://publications.europa.eu/resource/authority/language/NLD,"Nederlands",nl -https://publications.europa.eu/resource/authority/language/NLD,"neerlandés",es -https://publications.europa.eu/resource/authority/language/NLD,"Niederländisch",de -https://publications.europa.eu/resource/authority/language/NLD,"hollandi keel",et -https://publications.europa.eu/resource/authority/language/NLD,"нидерландский",ru -https://publications.europa.eu/resource/authority/language/NLD,"neerlandese",it -https://publications.europa.eu/resource/authority/language/NLD,"hollanti",fi -http://lexvo.org/id/iso639-3/nld,"Dutch",en -http://purl.obolibrary.org/obo/SCDO_0000493,"Health Service Utilization",en -https://www.wikidata.org/wiki/Q389735,"cardiovascular disease",en -https://www.wikidata.org/wiki/Q105252400,"vaccine acceptance",en -http://purl.obolibrary.org/obo/SCDO_0000414,"Education",en -https://www.wikidata.org/wiki/Q11000047,"health system",en -http://purl.obolibrary.org/obo/NCIT_C16877,"Morbidity",en -http://purl.obolibrary.org/obo/OMIT_0027917,"Patient Safety",en -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Υγεία",el -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdrowie",pl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravje",sl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salute",it -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saúde",pt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Santé",fr -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Terveys",fi -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sveikata",lt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Здраве",bg -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sláinte",ga -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Hälsa",sv -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salud",es -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdraví",cs -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravotníctvo",sk -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nn -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sundhed",da -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Veselība",lv -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nb -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravlje",hr -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gesundheit",de -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sănătate",ro -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Tervis",et -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saħħa",mt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Egészségügy",hu -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gezondheid",nl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",no -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en -https://www.wikidata.org/wiki/Q67171878,"tobacco use",en -https://www.wikidata.org/wiki/Q59283414,"health care costs",en -https://www.wikidata.org/wiki/Q13579947,"misinformation",en -http://purl.obolibrary.org/obo/OMIT_0001080,"Accidents, Traffic",en -http://purl.obolibrary.org/obo/OMRSE_00000013,"physician role",en -http://purl.obolibrary.org/obo/NCIT_C18059,"Tobacco Use",en -http://purl.obolibrary.org/obo/NCIT_C16729,"Infant Mortality",en -http://purl.obolibrary.org/obo/NCIT_C20821,"Nurse",en -https://www.wikidata.org/wiki/Q12174,"obesity",en -https://publications.europa.eu/resource/authority/language/SRP,"сръбски",bg -https://publications.europa.eu/resource/authority/language/SRP,"Serbisch",de -https://publications.europa.eu/resource/authority/language/SRP,"serbia",fi -https://publications.europa.eu/resource/authority/language/SRP,"serbo",it -https://publications.europa.eu/resource/authority/language/SRP,"Servisch",nl -https://publications.europa.eu/resource/authority/language/SRP,"serbu valoda",lv -https://publications.europa.eu/resource/authority/language/SRP,"Serbian",en -https://publications.europa.eu/resource/authority/language/SRP,"Serb",mt -https://publications.europa.eu/resource/authority/language/SRP,"srpski",sh -https://publications.europa.eu/resource/authority/language/SRP,"srbština",cs -https://publications.europa.eu/resource/authority/language/SRP,"srbčina",sk -https://publications.europa.eu/resource/authority/language/SRP,"serbų kalba",lt -https://publications.europa.eu/resource/authority/language/SRP,"сербский",ru -https://publications.europa.eu/resource/authority/language/SRP,"sérvio",pt -https://publications.europa.eu/resource/authority/language/SRP,"serbski",pl -https://publications.europa.eu/resource/authority/language/SRP,"sırpça",tr -https://publications.europa.eu/resource/authority/language/SRP,"сербська мова",uk -https://publications.europa.eu/resource/authority/language/SRP,"srbščina",sl -https://publications.europa.eu/resource/authority/language/SRP,"serbneska",is -https://publications.europa.eu/resource/authority/language/SRP,"српски",mk -https://publications.europa.eu/resource/authority/language/SRP,"serbiska",sv -https://publications.europa.eu/resource/authority/language/SRP,"serbio",es -https://publications.europa.eu/resource/authority/language/SRP,"Seirbis",ga -https://publications.europa.eu/resource/authority/language/SRP,"sârbă",ro -https://publications.europa.eu/resource/authority/language/SRP,"srpski",hr -https://publications.europa.eu/resource/authority/language/SRP,"szerb",hu -https://publications.europa.eu/resource/authority/language/SRP,"serbisk",da -https://publications.europa.eu/resource/authority/language/SRP,"serbisk",no -https://publications.europa.eu/resource/authority/language/SRP,"serbe",fr -https://publications.europa.eu/resource/authority/language/SRP,"serbišćina",hsb -https://publications.europa.eu/resource/authority/language/SRP,"serbia keel",et -https://publications.europa.eu/resource/authority/language/SRP,"σερβικά",el -https://publications.europa.eu/resource/authority/language/SRP,"српски",sr -http://lexvo.org/id/iso639-3/srp,"Serbian",en -http://purl.obolibrary.org/obo/OMIT_0007885,"Hospital Bed Capacity",en -http://purl.obolibrary.org/obo/OPMI_0000482,"medical visit",en -http://purl.obolibrary.org/obo/APOLLO_SV_00000550,"contact tracing",en -http://purl.obolibrary.org/obo/NCIT_C128353,"Airborne Transmission",en -https://www.wikidata.org/wiki/Q142259,"hospital bed",en -https://publications.europa.eu/resource/authority/language/MLT,"maltesiska",sv -https://publications.europa.eu/resource/authority/language/MLT,"maltiečių kalba",lt -https://publications.europa.eu/resource/authority/language/MLT,"Maltese",en -https://publications.europa.eu/resource/authority/language/MLT,"maltais",fr -https://publications.europa.eu/resource/authority/language/MLT,"máltai",hu -https://publications.europa.eu/resource/authority/language/MLT,"malteză",ro -https://publications.europa.eu/resource/authority/language/MLT,"Malti",mt -https://publications.europa.eu/resource/authority/language/MLT,"maltés",es -https://publications.europa.eu/resource/authority/language/MLT,"maltčina",sk -https://publications.europa.eu/resource/authority/language/MLT,"малтешки",sr -https://publications.europa.eu/resource/authority/language/MLT,"malteški",sh -https://publications.europa.eu/resource/authority/language/MLT,"maltiešu valoda",lv -https://publications.europa.eu/resource/authority/language/MLT,"мальтийский",ru -https://publications.europa.eu/resource/authority/language/MLT,"malta",fi -https://publications.europa.eu/resource/authority/language/MLT,"малтешки",mk -https://publications.europa.eu/resource/authority/language/MLT,"maltaca",tr -https://publications.europa.eu/resource/authority/language/MLT,"malteščina",sl -https://publications.europa.eu/resource/authority/language/MLT,"maltašćina",hsb -https://publications.europa.eu/resource/authority/language/MLT,"maltština",cs -https://publications.europa.eu/resource/authority/language/MLT,"maltese",it -https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",no -https://publications.europa.eu/resource/authority/language/MLT,"malta keel",et -https://publications.europa.eu/resource/authority/language/MLT,"малтийски",bg -https://publications.europa.eu/resource/authority/language/MLT,"maltês",pt -https://publications.europa.eu/resource/authority/language/MLT,"maltneska",is -https://publications.europa.eu/resource/authority/language/MLT,"μαλτέζικα",el -https://publications.europa.eu/resource/authority/language/MLT,"malteški",hr -https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",da -https://publications.europa.eu/resource/authority/language/MLT,"maltański",pl -https://publications.europa.eu/resource/authority/language/MLT,"Maltees",nl -https://publications.europa.eu/resource/authority/language/MLT,"мальтійська мова",uk -https://publications.europa.eu/resource/authority/language/MLT,"Máltais",ga -https://publications.europa.eu/resource/authority/language/MLT,"Maltesisch",de -http://lexvo.org/id/iso639-3/mlt,"Maltese",en -http://purl.obolibrary.org/obo/NCIT_C15406,"Cancer Screening",en -https://publications.europa.eu/resource/authority/language/SWE,"шведски",bg -https://publications.europa.eu/resource/authority/language/SWE,"Schwedisch",de -https://publications.europa.eu/resource/authority/language/SWE,"шведски",sr -https://publications.europa.eu/resource/authority/language/SWE,"rootsi keel",et -https://publications.europa.eu/resource/authority/language/SWE,"svenska",sv -https://publications.europa.eu/resource/authority/language/SWE,"sænska",is -https://publications.europa.eu/resource/authority/language/SWE,"шведский",ru -https://publications.europa.eu/resource/authority/language/SWE,"suédois",fr -https://publications.europa.eu/resource/authority/language/SWE,"ruotsi",fi -https://publications.europa.eu/resource/authority/language/SWE,"Swedish",en -https://publications.europa.eu/resource/authority/language/SWE,"svedese",it -https://publications.europa.eu/resource/authority/language/SWE,"ısveççe",tr -https://publications.europa.eu/resource/authority/language/SWE,"svensk",da -https://publications.europa.eu/resource/authority/language/SWE,"sueco",pt -https://publications.europa.eu/resource/authority/language/SWE,"suedeză",ro -https://publications.europa.eu/resource/authority/language/SWE,"Sualainnis",ga -https://publications.europa.eu/resource/authority/language/SWE,"шведська мова",uk -https://publications.europa.eu/resource/authority/language/SWE,"švedščina",sl -https://publications.europa.eu/resource/authority/language/SWE,"szwedzki",pl -https://publications.europa.eu/resource/authority/language/SWE,"svéd",hu -https://publications.europa.eu/resource/authority/language/SWE,"švedų kalba",lt -https://publications.europa.eu/resource/authority/language/SWE,"шведски",mk -https://publications.europa.eu/resource/authority/language/SWE,"Zweeds",nl -https://publications.europa.eu/resource/authority/language/SWE,"švedski",hr -https://publications.europa.eu/resource/authority/language/SWE,"šwedšćina",hsb -https://publications.europa.eu/resource/authority/language/SWE,"švedski",sh -https://publications.europa.eu/resource/authority/language/SWE,"švédčina",sk -https://publications.europa.eu/resource/authority/language/SWE,"Svediż",mt -https://publications.europa.eu/resource/authority/language/SWE,"švédština",cs -https://publications.europa.eu/resource/authority/language/SWE,"zviedru valoda",lv -https://publications.europa.eu/resource/authority/language/SWE,"σουηδικά",el -https://publications.europa.eu/resource/authority/language/SWE,"sueco",es -https://publications.europa.eu/resource/authority/language/SWE,"svensk",no -http://lexvo.org/id/iso639-3/swe,"Swedish",en -http://purl.obolibrary.org/obo/OMIT_0004449,"Communicable Diseases",en -https://www.wikidata.org/wiki/Q84263196,"COVID-19",en -http://purl.obolibrary.org/obo/NCIT_C16205,"Healthcare Activity",en -http://purl.obolibrary.org/obo/OMIT_0016881,"Contact Tracing",en -https://www.wikidata.org/wiki/Q3706138,"determinants of health",en -http://purl.obolibrary.org/obo/OBI_1110053,"cancer",en -https://www.wikidata.org/wiki/Q110207349,"psychoactive drug use",en -https://www.wikidata.org/wiki/Q42138532,"genetic characteristic",en -http://purl.obolibrary.org/obo/NCIT_C2985,"Diabetes Mellitus",en -https://www.wikidata.org/wiki/Q16917,"hospital",en -http://purl.obolibrary.org/obo/NCIT_C173747,"Protective Face Mask",en -https://publications.europa.eu/resource/authority/language/SLV,"словенски",bg -https://publications.europa.eu/resource/authority/language/SLV,"slovēņu valoda",lv -https://publications.europa.eu/resource/authority/language/SLV,"slovensk",da -https://publications.europa.eu/resource/authority/language/SLV,"slóvenska",is -https://publications.europa.eu/resource/authority/language/SLV,"esloveno",pt -https://publications.europa.eu/resource/authority/language/SLV,"Sloven",mt -https://publications.europa.eu/resource/authority/language/SLV,"Slóivéinis",ga -https://publications.europa.eu/resource/authority/language/SLV,"словенська мова",uk -https://publications.europa.eu/resource/authority/language/SLV,"sloveno",it -https://publications.europa.eu/resource/authority/language/SLV,"slovensk",no -https://publications.europa.eu/resource/authority/language/SLV,"slovence",tr -https://publications.europa.eu/resource/authority/language/SLV,"Sloveens",nl -https://publications.europa.eu/resource/authority/language/SLV,"slovenski",sh -https://publications.europa.eu/resource/authority/language/SLV,"sloveenia keel",et -https://publications.europa.eu/resource/authority/language/SLV,"slovėnų kalba",lt -https://publications.europa.eu/resource/authority/language/SLV,"słoweński",pl -https://publications.europa.eu/resource/authority/language/SLV,"словеначки",sr -https://publications.europa.eu/resource/authority/language/SLV,"σλοβενικά",el -https://publications.europa.eu/resource/authority/language/SLV,"slovenă",ro -https://publications.europa.eu/resource/authority/language/SLV,"Slowenisch",de -https://publications.europa.eu/resource/authority/language/SLV,"słowjenšćina",hsb -https://publications.europa.eu/resource/authority/language/SLV,"slovenski",hr -https://publications.europa.eu/resource/authority/language/SLV,"slovinčina",sk -https://publications.europa.eu/resource/authority/language/SLV,"словенечки",mk -https://publications.europa.eu/resource/authority/language/SLV,"Slovenian",en -https://publications.europa.eu/resource/authority/language/SLV,"esloveno",es -https://publications.europa.eu/resource/authority/language/SLV,"slovenska",sv -https://publications.europa.eu/resource/authority/language/SLV,"slovinština",cs -https://publications.europa.eu/resource/authority/language/SLV,"словенский",ru -https://publications.europa.eu/resource/authority/language/SLV,"szlovén",hu -https://publications.europa.eu/resource/authority/language/SLV,"slovène",fr -https://publications.europa.eu/resource/authority/language/SLV,"slovenščina",sl -https://publications.europa.eu/resource/authority/language/SLV,"sloveeni",fi -http://lexvo.org/id/iso639-3/slv,"Slovenian",en -https://www.wikidata.org/wiki/Q1128437,"contact tracing",en -https://www.wikidata.org/wiki/Q3044843,"cancer screening",en -https://publications.europa.eu/resource/authority/language/POL,"Polainnis",ga -https://publications.europa.eu/resource/authority/language/POL,"полски",mk -https://publications.europa.eu/resource/authority/language/POL,"polacco",it -https://publications.europa.eu/resource/authority/language/POL,"Pools",nl -https://publications.europa.eu/resource/authority/language/POL,"polaco",es -https://publications.europa.eu/resource/authority/language/POL,"Polnisch",de -https://publications.europa.eu/resource/authority/language/POL,"пољски",sr -https://publications.europa.eu/resource/authority/language/POL,"πολωνικά",el -https://publications.europa.eu/resource/authority/language/POL,"pólšćina",hsb -https://publications.europa.eu/resource/authority/language/POL,"polsk",da -https://publications.europa.eu/resource/authority/language/POL,"polonais",fr -https://publications.europa.eu/resource/authority/language/POL,"poljščina",sl -https://publications.europa.eu/resource/authority/language/POL,"lenkų kalba",lt -https://publications.europa.eu/resource/authority/language/POL,"polski",pl -https://publications.europa.eu/resource/authority/language/POL,"poļu valoda",lv -https://publications.europa.eu/resource/authority/language/POL,"poola keel",et -https://publications.europa.eu/resource/authority/language/POL,"pólska",is -https://publications.europa.eu/resource/authority/language/POL,"polština",cs -https://publications.europa.eu/resource/authority/language/POL,"польська мова",uk -https://publications.europa.eu/resource/authority/language/POL,"poljski",sh -https://publications.europa.eu/resource/authority/language/POL,"puola",fi -https://publications.europa.eu/resource/authority/language/POL,"polaco",pt -https://publications.europa.eu/resource/authority/language/POL,"polsk",no -https://publications.europa.eu/resource/authority/language/POL,"полски",bg -https://publications.europa.eu/resource/authority/language/POL,"polonă",ro -https://publications.europa.eu/resource/authority/language/POL,"lengyel",hu -https://publications.europa.eu/resource/authority/language/POL,"польский",ru -https://publications.europa.eu/resource/authority/language/POL,"poľština",sk -https://publications.europa.eu/resource/authority/language/POL,"lehçe",tr -https://publications.europa.eu/resource/authority/language/POL,"poljski",hr -https://publications.europa.eu/resource/authority/language/POL,"polska",sv -https://publications.europa.eu/resource/authority/language/POL,"Pollakk",mt -https://publications.europa.eu/resource/authority/language/POL,"Polish",en -http://lexvo.org/id/iso639-3/pol,"Polish",en -https://www.wikidata.org/wiki/Q39631,"physician",en -https://www.wikidata.org/wiki/Q82642,"blood pressure",en -http://purl.obolibrary.org/obo/OBI_0000844,"obsolete hospital",en -https://www.wikidata.org/wiki/Q2647488,"alcohol consumption",en -http://purl.obolibrary.org/obo/IDOMAL_0000023,"zoonotic",en -https://www.wikidata.org/wiki/Q4927522,"blood-borne disease",en -https://publications.europa.eu/resource/authority/language/HUN,"maďarčina",sk -https://publications.europa.eu/resource/authority/language/HUN,"ουγγρικά",el -https://publications.europa.eu/resource/authority/language/HUN,"ungāru valoda",lv -https://publications.europa.eu/resource/authority/language/HUN,"Hungarian",en -https://publications.europa.eu/resource/authority/language/HUN,"Ungarisch",de -https://publications.europa.eu/resource/authority/language/HUN,"ungari keel",et -https://publications.europa.eu/resource/authority/language/HUN,"ungherese",it -https://publications.europa.eu/resource/authority/language/HUN,"Ungeriż",mt -https://publications.europa.eu/resource/authority/language/HUN,"maďarština",cs -https://publications.europa.eu/resource/authority/language/HUN,"ungverska",is -https://publications.europa.eu/resource/authority/language/HUN,"унгарски",bg -https://publications.europa.eu/resource/authority/language/HUN,"унгарски",mk -https://publications.europa.eu/resource/authority/language/HUN,"węgierski",pl -https://publications.europa.eu/resource/authority/language/HUN,"Ungáiris",ga -https://publications.europa.eu/resource/authority/language/HUN,"mađarski",sh -https://publications.europa.eu/resource/authority/language/HUN,"vengrų kalba",lt -https://publications.europa.eu/resource/authority/language/HUN,"macarca",tr -https://publications.europa.eu/resource/authority/language/HUN,"Hongaars",nl -https://publications.europa.eu/resource/authority/language/HUN,"hongrois",fr -https://publications.europa.eu/resource/authority/language/HUN,"madźaršćina",hsb -https://publications.europa.eu/resource/authority/language/HUN,"unkari",fi -https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",no -https://publications.europa.eu/resource/authority/language/HUN,"húngaro",es -https://publications.europa.eu/resource/authority/language/HUN,"magyar",hu -https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",da -https://publications.europa.eu/resource/authority/language/HUN,"mađarski",hr -https://publications.europa.eu/resource/authority/language/HUN,"угорська мова",uk -https://publications.europa.eu/resource/authority/language/HUN,"húngaro",pt -https://publications.europa.eu/resource/authority/language/HUN,"мађарски",sr -https://publications.europa.eu/resource/authority/language/HUN,"maghiară",ro -https://publications.europa.eu/resource/authority/language/HUN,"венгерский",ru -https://publications.europa.eu/resource/authority/language/HUN,"ungerska",sv -https://publications.europa.eu/resource/authority/language/HUN,"madžarščina",sl -http://lexvo.org/id/iso639-3/hun,"Hungarian",en -http://purl.obolibrary.org/obo/OMIT_0012168,"Poverty",en -http://purl.obolibrary.org/obo/OMIT_0008353,"Infant Mortality",en -http://purl.obolibrary.org/obo/MFOMD_0000001,"mental disease",en -https://www.wikidata.org/wiki/Q12135,"mental disorder",en -http://purl.obolibrary.org/obo/VO_0000809,"vaccination coverage",en -http://purl.obolibrary.org/obo/OMIT_0003154,"Blood Pressure",en -http://purl.obolibrary.org/obo/OMIT_0024293,"Overweight",en -http://semanticscience.org/resource/SIO_001022,"diagnostic test",en -https://publications.europa.eu/resource/authority/language/HRV,"croată",ro -https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",de -https://publications.europa.eu/resource/authority/language/HRV,"horvaadi keel",et -https://publications.europa.eu/resource/authority/language/HRV,"κροατικά",el -https://publications.europa.eu/resource/authority/language/HRV,"хорватська мова",uk -https://publications.europa.eu/resource/authority/language/HRV,"хрватски",sr -https://publications.europa.eu/resource/authority/language/HRV,"hırvatça",tr -https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",no -https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",nl -https://publications.europa.eu/resource/authority/language/HRV,"croata",es -https://publications.europa.eu/resource/authority/language/HRV,"Cróitis",ga -https://publications.europa.eu/resource/authority/language/HRV,"chorwatšćina",hsb -https://publications.europa.eu/resource/authority/language/HRV,"hrvaščina",sl -https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",da -https://publications.europa.eu/resource/authority/language/HRV,"króatíska",is -https://publications.europa.eu/resource/authority/language/HRV,"croate",fr -https://publications.europa.eu/resource/authority/language/HRV,"chorvátčina",sk -https://publications.europa.eu/resource/authority/language/HRV,"kroatiska",sv -https://publications.europa.eu/resource/authority/language/HRV,"Kroat",mt -https://publications.europa.eu/resource/authority/language/HRV,"kroatų kalba",lt -https://publications.europa.eu/resource/authority/language/HRV,"хорватский",ru -https://publications.europa.eu/resource/authority/language/HRV,"croato",it -https://publications.europa.eu/resource/authority/language/HRV,"хърватски",bg -https://publications.europa.eu/resource/authority/language/HRV,"kroatia",fi -https://publications.europa.eu/resource/authority/language/HRV,"horvātu valoda",lv -https://publications.europa.eu/resource/authority/language/HRV,"croata",pt -https://publications.europa.eu/resource/authority/language/HRV,"chorwacki",pl -https://publications.europa.eu/resource/authority/language/HRV,"horvát",hu -https://publications.europa.eu/resource/authority/language/HRV,"хрватски",mk -https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",sh -https://publications.europa.eu/resource/authority/language/HRV,"chorvatština",cs -https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",hr -https://publications.europa.eu/resource/authority/language/HRV,"Croatian",en -http://lexvo.org/id/iso639-3/hrv,"Croatian",en -http://purl.obolibrary.org/obo/GSSO_009380,"health care quality",en -https://www.wikidata.org/wiki/Q94298961,"Medical Appointment",en -https://www.wikidata.org/wiki/Q3137154,"non-communicable disease",en -http://purl.obolibrary.org/obo/SCDO_0001090,"Socioeconomic Factors",en -http://purl.obolibrary.org/obo/IDO_0000436,"infectious disease",en -https://www.wikidata.org/wiki/Q43656,"cholesterol",en -http://purl.obolibrary.org/obo/OMIT_0022422,"Maternal-Fetal Relations",en -http://purl.obolibrary.org/obo/OMIT_0013818,"Social Environment",en -https://www.wikidata.org/wiki/Q3286546,"respiratory disease",en -https://publications.europa.eu/resource/authority/language/ITA,"Italian",en -https://publications.europa.eu/resource/authority/language/ITA,"olasz",hu -https://publications.europa.eu/resource/authority/language/ITA,"talijanski",hr -https://publications.europa.eu/resource/authority/language/ITA,"italiano",es -https://publications.europa.eu/resource/authority/language/ITA,"итальянский",ru -https://publications.europa.eu/resource/authority/language/ITA,"italien",fr -https://publications.europa.eu/resource/authority/language/ITA,"italijanščina",sl -https://publications.europa.eu/resource/authority/language/ITA,"ıtalyanca",tr -https://publications.europa.eu/resource/authority/language/ITA,"ítalska",is -https://publications.europa.eu/resource/authority/language/ITA,"italiano",it -https://publications.europa.eu/resource/authority/language/ITA,"italiano",pt -https://publications.europa.eu/resource/authority/language/ITA,"italšćina",hsb -https://publications.europa.eu/resource/authority/language/ITA,"itaalia keel",et -https://publications.europa.eu/resource/authority/language/ITA,"italiensk",da -https://publications.europa.eu/resource/authority/language/ITA,"італійська мова",uk -https://publications.europa.eu/resource/authority/language/ITA,"italienska",sv -https://publications.europa.eu/resource/authority/language/ITA,"italiensk",no -https://publications.europa.eu/resource/authority/language/ITA,"italia",fi -https://publications.europa.eu/resource/authority/language/ITA,"italština",cs -https://publications.europa.eu/resource/authority/language/ITA,"ιταλικά",el -https://publications.europa.eu/resource/authority/language/ITA,"Italiaans",nl -https://publications.europa.eu/resource/authority/language/ITA,"italijanski",sh -https://publications.europa.eu/resource/authority/language/ITA,"taliančina",sk -https://publications.europa.eu/resource/authority/language/ITA,"италијански",sr -https://publications.europa.eu/resource/authority/language/ITA,"włoski",pl -https://publications.europa.eu/resource/authority/language/ITA,"Taljan",mt -https://publications.europa.eu/resource/authority/language/ITA,"италиански",bg -https://publications.europa.eu/resource/authority/language/ITA,"italų kalba",lt -https://publications.europa.eu/resource/authority/language/ITA,"Iodáilis",ga -https://publications.europa.eu/resource/authority/language/ITA,"itāļu valoda",lv -https://publications.europa.eu/resource/authority/language/ITA,"италијански",mk -https://publications.europa.eu/resource/authority/language/ITA,"Italienisch",de -https://publications.europa.eu/resource/authority/language/ITA,"italiană",ro -http://lexvo.org/id/iso639-3/ita,"Italian",en -http://purl.obolibrary.org/obo/SCDO_0001082,"Social Environment",en -https://www.wikidata.org/wiki/Q7981051,"well-being",en -https://www.wikidata.org/wiki/Q1367554,"morbidity",en -http://edamontology.org/topic_3324,"Infectious disease",en -http://purl.obolibrary.org/obo/TRANS_0000009,"airborne transmission",en -http://purl.obolibrary.org/obo/OMIABIS_0001041,"surgical procedure",en -http://purl.obolibrary.org/obo/GSSO_006598,"self-injury",en -https://www.wikidata.org/wiki/Q11024,"communication",en -https://www.wikidata.org/wiki/Q95439933,"Vaccine-preventable Diseases",en -http://purl.obolibrary.org/obo/NCIT_C25193,"Occupation",en -https://www.wikidata.org/wiki/Q835884,"infant mortality",en -http://purl.obolibrary.org/obo/SCDO_0000496,"Healthcare Access",en -http://purl.obolibrary.org/obo/OMIT_0007941,"Housing",en -http://purl.obolibrary.org/obo/OHD_0000005,"surgical procedure",en -http://purl.obolibrary.org/obo/SCDO_0000494,"Health System",en -https://publications.europa.eu/resource/authority/language/SPA,"spanyol",hu -https://publications.europa.eu/resource/authority/language/SPA,"spansk",da -https://publications.europa.eu/resource/authority/language/SPA,"Spanish",en -https://publications.europa.eu/resource/authority/language/SPA,"Spanjol",mt -https://publications.europa.eu/resource/authority/language/SPA,"Spaans",nl -https://publications.europa.eu/resource/authority/language/SPA,"испанский",ru -https://publications.europa.eu/resource/authority/language/SPA,"španščina",sl -https://publications.europa.eu/resource/authority/language/SPA,"španielčina",sk -https://publications.europa.eu/resource/authority/language/SPA,"hiszpański",pl -https://publications.europa.eu/resource/authority/language/SPA,"spanska",sv -https://publications.europa.eu/resource/authority/language/SPA,"Spanisch",de -https://publications.europa.eu/resource/authority/language/SPA,"španski",sh -https://publications.europa.eu/resource/authority/language/SPA,"ispanų kalba",lt -https://publications.europa.eu/resource/authority/language/SPA,"испански",bg -https://publications.europa.eu/resource/authority/language/SPA,"іспанська мова",uk -https://publications.europa.eu/resource/authority/language/SPA,"espanhol",pt -https://publications.europa.eu/resource/authority/language/SPA,"španělština",cs -https://publications.europa.eu/resource/authority/language/SPA,"spænska",is -https://publications.europa.eu/resource/authority/language/SPA,"шпански",mk -https://publications.europa.eu/resource/authority/language/SPA,"spaniolă",ro -https://publications.europa.eu/resource/authority/language/SPA,"španišćina",hsb -https://publications.europa.eu/resource/authority/language/SPA,"španjolski",hr -https://publications.europa.eu/resource/authority/language/SPA,"шпански",sr -https://publications.europa.eu/resource/authority/language/SPA,"hispaania keel",et -https://publications.europa.eu/resource/authority/language/SPA,"español",es -https://publications.europa.eu/resource/authority/language/SPA,"spansk",no -https://publications.europa.eu/resource/authority/language/SPA,"espanja",fi -https://publications.europa.eu/resource/authority/language/SPA,"spāņu valoda",lv -https://publications.europa.eu/resource/authority/language/SPA,"spagnolo",it -https://publications.europa.eu/resource/authority/language/SPA,"ισπανικά",el -https://publications.europa.eu/resource/authority/language/SPA,"espagnol",fr -https://publications.europa.eu/resource/authority/language/SPA,"ıspanyolca",tr -https://publications.europa.eu/resource/authority/language/SPA,"Spáinnis",ga -http://lexvo.org/id/iso639-3/spa,"Spanish",en -https://www.wikidata.org/wiki/Q12198,"sexually transmitted infection",en -http://purl.obolibrary.org/obo/NCIT_C16273,"Alcohol Consumption",en -http://purl.obolibrary.org/obo/APOLLO_SV_00000239,"infectious disease",en -https://www.wikidata.org/wiki/Q1475557,"patient safety",en -https://www.wikidata.org/wiki/Q188419,"life expectancy",en -https://www.wikidata.org/wiki/Q1571836,"social environment",en -https://www.wikidata.org/wiki/Q189656,"disinformation",en -https://www.wikidata.org/wiki/Q12131,"disability",en -http://purl.obolibrary.org/obo/NCIT_C173636,"Social Distancing",en -https://www.wikidata.org/wiki/Q180910,"leisure",en -http://purl.obolibrary.org/obo/OBI_1110040,"infectious disease",en -https://publications.europa.eu/resource/authority/language/LAV,"lett",hu -https://publications.europa.eu/resource/authority/language/LAV,"letão",pt -https://publications.europa.eu/resource/authority/language/LAV,"letton",fr -https://publications.europa.eu/resource/authority/language/LAV,"Laitvis",ga -https://publications.europa.eu/resource/authority/language/LAV,"łotewski",pl -https://publications.europa.eu/resource/authority/language/LAV,"läti keel",et -https://publications.europa.eu/resource/authority/language/LAV,"lettone",it -https://publications.europa.eu/resource/authority/language/LAV,"latvių kalba",lt -https://publications.europa.eu/resource/authority/language/LAV,"letišćina",hsb -https://publications.europa.eu/resource/authority/language/LAV,"латиська мова",uk -https://publications.europa.eu/resource/authority/language/LAV,"letón",es -https://publications.europa.eu/resource/authority/language/LAV,"lettneska",is -https://publications.europa.eu/resource/authority/language/LAV,"latvia",fi -https://publications.europa.eu/resource/authority/language/LAV,"латышский",ru -https://publications.europa.eu/resource/authority/language/LAV,"Latvian",en -https://publications.europa.eu/resource/authority/language/LAV,"latviešu valoda",lv -https://publications.europa.eu/resource/authority/language/LAV,"lettiska",sv -https://publications.europa.eu/resource/authority/language/LAV,"letonca",tr -https://publications.europa.eu/resource/authority/language/LAV,"летонски",sr -https://publications.europa.eu/resource/authority/language/LAV,"letonă",ro -https://publications.europa.eu/resource/authority/language/LAV,"Latvjan",mt -https://publications.europa.eu/resource/authority/language/LAV,"lotyština",cs -https://publications.europa.eu/resource/authority/language/LAV,"lettisk",da -https://publications.europa.eu/resource/authority/language/LAV,"latvisk",no -https://publications.europa.eu/resource/authority/language/LAV,"Lets",nl -https://publications.europa.eu/resource/authority/language/LAV,"letonski",sh -https://publications.europa.eu/resource/authority/language/LAV,"lotyština",sk -https://publications.europa.eu/resource/authority/language/LAV,"латвийски",bg -https://publications.europa.eu/resource/authority/language/LAV,"latvijščina",sl -https://publications.europa.eu/resource/authority/language/LAV,"λετονικά",el -https://publications.europa.eu/resource/authority/language/LAV,"latvijski",hr -https://publications.europa.eu/resource/authority/language/LAV,"латвиски",mk -https://publications.europa.eu/resource/authority/language/LAV,"Lettisch",de -http://lexvo.org/id/iso639-3/lav,"Latvian",en -http://purl.obolibrary.org/obo/GSSO_006601,"substance use",en -http://id.loc.gov/vocabulary/iso639-1/en,"English",en -http://id.loc.gov/vocabulary/iso639-1/en,"anglais",fr -http://id.loc.gov/vocabulary/iso639-1/en,"Englisch",de -http://id.loc.gov/vocabulary/iso639-1/de,"German",en -http://id.loc.gov/vocabulary/iso639-1/nl,"Dutch",en -https://www.wikidata.org/wiki/Q10294,"poverty",en -https://publications.europa.eu/resource/authority/language/FRA,"francuski",sh -https://publications.europa.eu/resource/authority/language/FRA,"fransk",da -https://publications.europa.eu/resource/authority/language/FRA,"fransk",no -https://publications.europa.eu/resource/authority/language/FRA,"francúzština",sk -https://publications.europa.eu/resource/authority/language/FRA,"френски",bg -https://publications.europa.eu/resource/authority/language/FRA,"francuski",hr -https://publications.europa.eu/resource/authority/language/FRA,"prancūzų kalba",lt -https://publications.europa.eu/resource/authority/language/FRA,"francese",it -https://publications.europa.eu/resource/authority/language/FRA,"francês",pt -https://publications.europa.eu/resource/authority/language/FRA,"French",en -https://publications.europa.eu/resource/authority/language/FRA,"ranska",fi -https://publications.europa.eu/resource/authority/language/FRA,"francés",es -https://publications.europa.eu/resource/authority/language/FRA,"franska",is -https://publications.europa.eu/resource/authority/language/FRA,"francuski",pl -https://publications.europa.eu/resource/authority/language/FRA,"fransızca",tr -https://publications.europa.eu/resource/authority/language/FRA,"Französisch",de -https://publications.europa.eu/resource/authority/language/FRA,"французька мова",uk -https://publications.europa.eu/resource/authority/language/FRA,"Frans",nl -https://publications.europa.eu/resource/authority/language/FRA,"французский",ru -https://publications.europa.eu/resource/authority/language/FRA,"Fraincis",ga -https://publications.europa.eu/resource/authority/language/FRA,"γαλλικά",el -https://publications.europa.eu/resource/authority/language/FRA,"Franċiż",mt -https://publications.europa.eu/resource/authority/language/FRA,"franču valoda",lv -https://publications.europa.eu/resource/authority/language/FRA,"francouzština",cs -https://publications.europa.eu/resource/authority/language/FRA,"француски",mk -https://publications.europa.eu/resource/authority/language/FRA,"franska",sv -https://publications.europa.eu/resource/authority/language/FRA,"француски",sr -https://publications.europa.eu/resource/authority/language/FRA,"franceză",ro -https://publications.europa.eu/resource/authority/language/FRA,"francia",hu -https://publications.europa.eu/resource/authority/language/FRA,"francošćina",hsb -https://publications.europa.eu/resource/authority/language/FRA,"français",fr -https://publications.europa.eu/resource/authority/language/FRA,"prantsuse keel",et -https://publications.europa.eu/resource/authority/language/FRA,"francoščina",sl -http://lexvo.org/id/iso639-3/fra,"French",en -https://www.wikidata.org/wiki/Q332428,"overweight",en -https://www.wikidata.org/wiki/Q7907939,"vaccine-preventable diseases",en -https://www.wikidata.org/wiki/Q1247867,"housing",en -http://purl.obolibrary.org/obo/OMIT_0003085,"Birth Weight",en -http://purl.obolibrary.org/obo/SCDO_0000897,"Physical Environment",en -http://purl.obolibrary.org/obo/ENVO_00002173,"hospital",en -https://publications.europa.eu/resource/authority/language/FIN,"finsk",da -https://publications.europa.eu/resource/authority/language/FIN,"somu valoda",lv -https://publications.europa.eu/resource/authority/language/FIN,"suomių kalba",lt -https://publications.europa.eu/resource/authority/language/FIN,"fince",tr -https://publications.europa.eu/resource/authority/language/FIN,"фински",mk -https://publications.europa.eu/resource/authority/language/FIN,"φινλανδικά",el -https://publications.europa.eu/resource/authority/language/FIN,"soome keel",et -https://publications.europa.eu/resource/authority/language/FIN,"finnska",is -https://publications.europa.eu/resource/authority/language/FIN,"finski",hr -https://publications.europa.eu/resource/authority/language/FIN,"fínčina",sk -https://publications.europa.eu/resource/authority/language/FIN,"finés",es -https://publications.europa.eu/resource/authority/language/FIN,"suomi",fi -https://publications.europa.eu/resource/authority/language/FIN,"finšćina",hsb -https://publications.europa.eu/resource/authority/language/FIN,"фински",bg -https://publications.europa.eu/resource/authority/language/FIN,"finlandeză",ro -https://publications.europa.eu/resource/authority/language/FIN,"finština",cs -https://publications.europa.eu/resource/authority/language/FIN,"Finnish",en -https://publications.europa.eu/resource/authority/language/FIN,"fiński",pl -https://publications.europa.eu/resource/authority/language/FIN,"фінська мова",uk -https://publications.europa.eu/resource/authority/language/FIN,"Fins",nl -https://publications.europa.eu/resource/authority/language/FIN,"finlandês",pt -https://publications.europa.eu/resource/authority/language/FIN,"Finnisch",de -https://publications.europa.eu/resource/authority/language/FIN,"finsk",no -https://publications.europa.eu/resource/authority/language/FIN,"finski",sh -https://publications.europa.eu/resource/authority/language/FIN,"Finlandiż",mt -https://publications.europa.eu/resource/authority/language/FIN,"finlandese",it -https://publications.europa.eu/resource/authority/language/FIN,"фински",sr -https://publications.europa.eu/resource/authority/language/FIN,"финский",ru -https://publications.europa.eu/resource/authority/language/FIN,"finska",sv -https://publications.europa.eu/resource/authority/language/FIN,"finščina",sl -https://publications.europa.eu/resource/authority/language/FIN,"finnois",fr -https://publications.europa.eu/resource/authority/language/FIN,"finn",hu -https://publications.europa.eu/resource/authority/language/FIN,"Fionlainnis",ga -http://lexvo.org/id/iso639-3/fin,"Finnish",en -https://www.wikidata.org/wiki/Q1527264,"income",en -https://www.wikidata.org/wiki/Q5259414,"tooth pathology",en -http://purl.obolibrary.org/obo/NCIT_C2893,"Psychiatric Disorder",en -http://purl.obolibrary.org/obo/SCDO_0000490,"Health Insurance Coverage",en -https://health-ri.sandbox.semlab-leiden.nl/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en -http://purl.obolibrary.org/obo/MAXO_0000126,"cancer screening",en -https://www.wikidata.org/wiki/Q4323994,"traffic",en -https://fair.healthinformationportal.eu/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en -https://www.wikidata.org/wiki/Q70364280,"health resources",en -http://purl.obolibrary.org/obo/OMIT_0013846,"Socioeconomic Factors",en -http://purl.obolibrary.org/obo/NCIT_C118206,"Self-Injury",en -https://www.wikidata.org/wiki/Q108293842,"health services use",en -http://purl.obolibrary.org/obo/OMIT_0007467,"Health Resources",en -https://www.wikidata.org/wiki/Q3769299,"human behavior",en -http://semanticscience.org/resource/SIO_000398,"nurse",en -http://purl.obolibrary.org/obo/NCIT_C74299,"Work",en -https://www.wikidata.org/wiki/Q12737077,"occupation",en -http://purl.obolibrary.org/obo/NCIT_C17468,"Socioeconomic Factors",en -https://www.wikidata.org/wiki/Q17003063,"health care quality",en -http://purl.obolibrary.org/obo/OMIT_0007476,"Health Status",en -http://purl.obolibrary.org/obo/OBI_0002787,"face mask",en -http://purl.obolibrary.org/obo/GSSO_001369,"surgical procedure",en -http://snomed.info/id/420014008,"Blood borne transmission",en -http://snomed.info/id/91537007,"Hospital bed, device",en -http://www.ebi.ac.uk/efo/EFO_0000684,"respiratory system disease",en -http://purl.obolibrary.org/obo/CHEBI_52217,"pharmaceutical",en -http://purl.bioontology.org/ontology/MESH/D011203,"Poverty",en -http://www.ebi.ac.uk/efo/EFO_0000400,"diabetes mellitus",en -http://purl.obolibrary.org/obo/MONDO_0004995,"cardiovascular disorder",en -http://www.ebi.ac.uk/efo/EFO_0000319,"cardiovascular disease",en -http://purl.obolibrary.org/obo/MONDO_0005084,"mental disorder",en -http://purl.obolibrary.org/obo/MONDO_0004992,"cancer",en -http://purl.obolibrary.org/obo/MONDO_0100096,"COVID-19",en -http://purl.obolibrary.org/obo/MONDO_0005087,"respiratory system disorder",en -http://purl.obolibrary.org/obo/MONDO_0005550,"infectious disease",en -http://www.ebi.ac.uk/efo/EFO_0004299,"life expectancy",en -http://www.ebi.ac.uk/efo/EFO_0004778,"self rated health",en -http://purl.obolibrary.org/obo/MONDO_0005015,"diabetes mellitus",en -http://www.ebi.ac.uk/efo/EFO_0005741,"infectious disease",en -http://purl.obolibrary.org/obo/DOID_9351,"diabetes mellitus",en -http://www.ebi.ac.uk/efo/EFO_1001216,"tooth disease",en -http://purl.obolibrary.org/obo/DOID_162,"cancer",en -http://www.ebi.ac.uk/efo/EFO_0004352,"mortality",en -http://purl.obolibrary.org/obo/DOID_0080600,"COVID-19",en -http://purl.obolibrary.org/obo/NCIT_C15546,"Breast Cancer Screening",en -http://purl.obolibrary.org/obo/NCIT_C20116,"Breast Cancer Risk Factor",en -https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en -http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en -http://publications.europa.eu/resource/authority/access-right/PUBLIC,"Public",en -http://publications.europa.eu/resource/authority/access-right/RESTRICTED,"Restricted",en -http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"Non-public",en -http://purl.org/adms/status/Completed,"Completed",en -http://purl.org/adms/status/Deprecated,"Deprecated",en -http://purl.org/adms/status/UnderDevelopment,"UnderDevelopment",en -http://purl.org/adms/status/Withdrawn,"Withdrawn",en -http://purl.org/cld/freq/triennial,"triennial",en -http://purl.org/cld/freq/biennial,"biennial",en -http://purl.org/cld/freq/annual,"annual",en -http://purl.org/cld/freq/semiannual,"semiannual",en -http://purl.org/cld/freq/threeTimesAYear,"three times a year",en -http://purl.org/cld/freq/quarterly,"quarterly",en -http://purl.org/cld/freq/bimonthly,"bimonthly",en -http://purl.org/cld/freq/monthly,"monthly",en -http://purl.org/cld/freq/semimonthly,"semimonthly",en -http://purl.org/cld/freq/biweekly,"biweekly",en -http://purl.org/cld/freq/threeTimesAMonth,"three times a month",en -http://purl.org/cld/freq/weekly,"weekly",en -http://purl.org/cld/freq/semiweekly,"semiweekly",en -http://purl.org/cld/freq/threeTimesAWeek,"three times a week",en -http://purl.org/cld/freq/daily,"daily",en -http://purl.org/cld/freq/continuous,"continuous",en -http://purl.org/cld/freq/irregular,"irregular",en -https://publications.europa.eu/resource/authority/language/LTZ,"Luxembourgish",en -http://lexvo.org/id/iso639-3/ltz,"Luxembourgish",en -https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,"Invasive Breast Carcinoma",en -https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en -http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en -https://publications.europa.eu/resource/authority/dataset-type/APROF,"Application profile",en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,"ATTO table - EUR-Lex domain",en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,"ATTO table - Publications domain",en -https://publications.europa.eu/resource/authority/dataset-type/CODE_LIST,"Code list",en -https://publications.europa.eu/resource/authority/dataset-type/CORE_COMP,"Core component",en -https://publications.europa.eu/resource/authority/resource-type/DATABASE,"Database",en -https://publications.europa.eu/resource/authority/dataset-type/DIRECTORY,"Directory",en -https://publications.europa.eu/resource/authority/resource-type/DOC,"Document",en -https://publications.europa.eu/resource/authority/dataset-type/DOMAIN_MODEL,"Domain model",en -https://publications.europa.eu/resource/authority/dataset-type/GEOSPATIAL,"Geospatial data",en -https://publications.europa.eu/resource/authority/dataset-type/GLOSSARY,"Glossary",en -https://publications.europa.eu/resource/authority/dataset-type/HVD,"High-value dataset",en -https://publications.europa.eu/resource/authority/dataset-type/IEPD,"Information exchange package description",en -https://publications.europa.eu/resource/authority/dataset-type/MAPPING,"Mapping",en -https://publications.europa.eu/resource/authority/dataset-type/NAL,"Name authority list",en -https://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY,"Ontology",en -https://publications.europa.eu/resource/authority/resource-type/REPORT_PERIOD,"Periodic report",en -https://publications.europa.eu/resource/authority/dataset-type/OP_DATPRO,"Provisional data",en -http://purl.obolibrary.org/obo/T4FS_0000109,"Raw data",en -https://publications.europa.eu/resource/authority/dataset-type/RELEASE,"Release",en -http://publications.europa.eu/resource/authority/resource-type/REPORT,"Report",en -http://publications.europa.eu/resource/authority/resource-type/REPOSITORY,"Repository",en -https://publications.europa.eu/resource/authority/dataset-type/SCHEMA,"Schema",en -https://publications.europa.eu/resource/authority/dataset-type/DSCRP_SERV,"Service description",en -https://publications.europa.eu/resource/authority/dataset-type/STATISTICAL,"Statistical data",en -https://publications.europa.eu/resource/authority/dataset-type/STYLES,"Styles sheets",en -https://publications.europa.eu/resource/authority/dataset-type/SYNTAX_ECD_SCHEME,"Syntax encoding scheme",en -https://publications.europa.eu/resource/authority/dataset-type/SYNTHETIC_DATA,"Synthetic data",en -https://publications.europa.eu/resource/authority/dataset-type/TAXONOMY,"Taxonomy",en -https://publications.europa.eu/resource/authority/dataset-type/TEST_DATA,"Test data",en -https://publications.europa.eu/resource/authority/dataset-type/THESAURUS,"Thesaurus",en -https://publications.europa.eu/resource/authority/access-right/CONFIDENTIAL,"confidential",en -https://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"non-public",en -https://publications.europa.eu/resource/authority/access-right/NORMAL,"normal",en -https://publications.europa.eu/resource/authority/access-right/PUBLIC,"public",en -https://publications.europa.eu/resource/authority/access-right/RESTRICTED,"restricted",en -https://publications.europa.eu/resource/authority/access-right/SENSITIVE,"sensitive",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL,"annual",en -https://publications.europa.eu/resource/authority/frequency/BIDECENNIAL,"bidecennial",en -https://publications.europa.eu/resource/authority/frequency/BIENNIAL,"biennial",en -https://publications.europa.eu/resource/authority/frequency/BIHOURLY,"bihourly",en -https://publications.europa.eu/resource/authority/frequency/BIMONTHLY,"bimonthly",en -https://publications.europa.eu/resource/authority/frequency/BIWEEKLY,"biweekly",en -https://publications.europa.eu/resource/authority/frequency/CONT,"cont",en -https://publications.europa.eu/resource/authority/frequency/UPDATE_CONT,"continuously updated",en -https://publications.europa.eu/resource/authority/frequency/DAILY,"daily",en -https://publications.europa.eu/resource/authority/frequency/DECENNIAL,"decennial",en -https://publications.europa.eu/resource/authority/frequency/HOURLY,"hourly",en -https://publications.europa.eu/resource/authority/frequency/IRREG,"irregular",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY,"monthly",en -https://publications.europa.eu/resource/authority/frequency/NEVER,"never",en -https://publications.europa.eu/resource/authority/frequency/OTHER,"other",en -https://publications.europa.eu/resource/authority/frequency/OP_DATPRO,"Provisional data",en -https://publications.europa.eu/resource/authority/frequency/QUADRENNIAL,"quadrennial",en -https://publications.europa.eu/resource/authority/frequency/QUARTERLY,"quarterly",en -https://publications.europa.eu/resource/authority/frequency/QUINQUENNIAL,"quinquennial",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_2,"semiannual",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_2,"semimonthly",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_2,"semiweekly",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_3,"three times a month",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_3,"three times a week",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_3,"three times a year",en -https://publications.europa.eu/resource/authority/frequency/TRIDECENNIAL,"tridecennial",en -https://publications.europa.eu/resource/authority/frequency/TRIENNIAL,"triennial",en -https://publications.europa.eu/resource/authority/frequency/TRIHOURLY,"trihourly",en -https://publications.europa.eu/resource/authority/frequency/DAILY_2,"twice a day",en -https://publications.europa.eu/resource/authority/frequency/UNKNOWN,"unknown",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY,"weekly",en -https://publications.europa.eu/resource/authority/data-theme/AGRI,"Agriculture, fisheries, forestry and food",en -https://publications.europa.eu/resource/authority/data-theme/ECON,"Economy and finance",en -https://publications.europa.eu/resource/authority/data-theme/EDUC,"Education, culture and sport",en -https://publications.europa.eu/resource/authority/data-theme/ENER,"Energy",en -https://publications.europa.eu/resource/authority/data-theme/ENVI,"Environment",en -https://publications.europa.eu/resource/authority/data-theme/GOVE,"Government and public sector",en -https://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en -https://publications.europa.eu/resource/authority/data-theme/INTR,"International issues",en -https://publications.europa.eu/resource/authority/data-theme/JUST,"Justice, legal system and public safety",en -https://publications.europa.eu/resource/authority/data-theme/SOCI,"Population and society",en -https://publications.europa.eu/resource/authority/data-theme/OP_DATPRO,"Provisional data",en -https://publications.europa.eu/resource/authority/data-theme/REGI,"Regions and cities",en -https://publications.europa.eu/resource/authority/data-theme/TECH,"Science and technology",en -https://publications.europa.eu/resource/authority/data-theme/TRAN,"Transport",en -https://publications.europa.eu/resource/authority/file-type/7Z,"7z",en -https://publications.europa.eu/resource/authority/file-type/AAB,"AAB",en -https://publications.europa.eu/resource/authority/file-type/AAC,"AAC",en -https://publications.europa.eu/resource/authority/file-type/AKN4EU,"AKN4EU file",en -https://publications.europa.eu/resource/authority/file-type/AKN4EU_ZIP,"AKN4EU ZIP",en -https://publications.europa.eu/resource/authority/file-type/AZW,"Amazon Kindle eBook",en -https://publications.europa.eu/resource/authority/file-type/APK,"APK",en -https://publications.europa.eu/resource/authority/file-type/APPX,"AppX",en -https://publications.europa.eu/resource/authority/file-type/ARC_GZ,"ARC GZ",en -https://publications.europa.eu/resource/authority/file-type/ARC,"ARC",en -https://publications.europa.eu/resource/authority/file-type/MAP_PRVW,"ArcGIS Map Preview",en -https://publications.europa.eu/resource/authority/file-type/MAP_SRVC,"ArcGIS Map Service",en -https://publications.europa.eu/resource/authority/file-type/ARCINFO_COV,"ArcInfo coverage",en -https://publications.europa.eu/resource/authority/file-type/ARJ,"ARJ",en -https://publications.europa.eu/resource/authority/file-type/ATOM,"Atom Feed",en -https://publications.europa.eu/resource/authority/file-type/BIN,"Binary Data",en -https://publications.europa.eu/resource/authority/file-type/BMP,"Bitmap Image File",en -https://publications.europa.eu/resource/authority/file-type/BITS,"BITS XML",en -https://publications.europa.eu/resource/authority/file-type/BWF,"BWF",en -https://publications.europa.eu/resource/authority/file-type/BZIP2,"bzip2",en -https://publications.europa.eu/resource/authority/file-type/LAZ,"Compressed LAS file",en -https://publications.europa.eu/resource/authority/file-type/CSS,"CSS",en -https://publications.europa.eu/resource/authority/file-type/CSV,"CSV",en -https://publications.europa.eu/resource/authority/file-type/DAPK,"DAPK",en -https://publications.europa.eu/resource/authority/file-type/DBF,"DBF",en -https://publications.europa.eu/resource/authority/file-type/DCR,"DCR File",en -https://publications.europa.eu/resource/authority/file-type/DEB,"deb",en -https://publications.europa.eu/resource/authority/file-type/DGN,"DGN",en -https://publications.europa.eu/resource/authority/file-type/DMG,"DMG",en -https://publications.europa.eu/resource/authority/file-type/DWCA,"DwC-A",en -https://publications.europa.eu/resource/authority/file-type/DWG,"DWG",en -https://publications.europa.eu/resource/authority/file-type/DXF,"DXF",en -https://publications.europa.eu/resource/authority/file-type/E00,"E00",en -https://publications.europa.eu/resource/authority/file-type/EAR,"EAR",en -https://publications.europa.eu/resource/authority/file-type/ECW,"ECW",en -https://publications.europa.eu/resource/authority/file-type/EFORMS_XML,"eForms XML",en -https://publications.europa.eu/resource/authority/file-type/EPS,"Encapsulated Postscript",en -https://publications.europa.eu/resource/authority/file-type/EPUB,"EPUB",en -https://publications.europa.eu/resource/authority/file-type/GRID_ASCII,"Esri ASCII grid",en -https://publications.europa.eu/resource/authority/file-type/GRID,"Esri binary grid",en -https://publications.europa.eu/resource/authority/file-type/GDB,"Esri File Geodatabase",en -https://publications.europa.eu/resource/authority/file-type/REST,"Esri REST",en -https://publications.europa.eu/resource/authority/file-type/SHP,"Esri Shape",en -https://publications.europa.eu/resource/authority/file-type/ETSI_XML,"ETSI signature validation report",en -https://publications.europa.eu/resource/authority/file-type/XLS,"Excel XLS",en -https://publications.europa.eu/resource/authority/file-type/XLSX,"Excel XLSX",en -https://publications.europa.eu/resource/authority/file-type/EXE,"EXE",en -https://publications.europa.eu/resource/authority/file-type/FMX4_ZIP,"FMX4 ZIP",en -https://publications.europa.eu/resource/authority/file-type/FMX2,"Formex 2",en -https://publications.europa.eu/resource/authority/file-type/FMX3,"Formex 3",en -https://publications.europa.eu/resource/authority/file-type/FMX4,"Formex 4",en -https://publications.europa.eu/resource/authority/file-type/GEOJSON,"GeoJSON",en -https://publications.europa.eu/resource/authority/file-type/GPKG,"GeoPackage",en -https://publications.europa.eu/resource/authority/file-type/GEOTIFF,"GeoTIFF",en -https://publications.europa.eu/resource/authority/file-type/GIF,"GIF",en -https://publications.europa.eu/resource/authority/file-type/GML,"GML",en -https://publications.europa.eu/resource/authority/file-type/GZIP,"GNU zip",en -https://publications.europa.eu/resource/authority/file-type/GTFS,"GTFS",en -https://publications.europa.eu/resource/authority/file-type/HDF,"HDF",en -https://publications.europa.eu/resource/authority/file-type/HDT,"HDT",en -https://publications.europa.eu/resource/authority/file-type/HTML_SIMPL,"HTML simplified",en -https://publications.europa.eu/resource/authority/file-type/HTML,"HTML",en -https://publications.europa.eu/resource/authority/file-type/HTML5,"HTML5",en -https://publications.europa.eu/resource/authority/file-type/MSG_HTTP,"HTTP Message",en -https://publications.europa.eu/resource/authority/file-type/ICS,"ICalendar",en -https://publications.europa.eu/resource/authority/file-type/IMMC_XML,"IMMC XML message",en -https://publications.europa.eu/resource/authority/file-type/INDD,"INDD",en -https://publications.europa.eu/resource/authority/file-type/IPA,"IPA",en -https://publications.europa.eu/resource/authority/file-type/ISO,"ISO image",en -https://publications.europa.eu/resource/authority/file-type/JAR,"JAR",en -https://publications.europa.eu/resource/authority/file-type/JATS,"JATS XML",en -https://publications.europa.eu/resource/authority/file-type/JS,"JavaScript",en -https://publications.europa.eu/resource/authority/file-type/JPEG2000,"JPEG 2000",en -https://publications.europa.eu/resource/authority/file-type/JPEG,"JPEG",en -https://publications.europa.eu/resource/authority/file-type/JSON_LD,"JSON-LD",en -https://publications.europa.eu/resource/authority/file-type/JSON,"JSON",en -https://publications.europa.eu/resource/authority/file-type/KML,"KML",en -https://publications.europa.eu/resource/authority/file-type/KMZ,"KMZ",en -https://publications.europa.eu/resource/authority/file-type/LAS,"LASer file",en -https://publications.europa.eu/resource/authority/file-type/LPK,"Layer package",en -https://publications.europa.eu/resource/authority/file-type/LEG,"LEG",en -https://publications.europa.eu/resource/authority/file-type/LHA,"LHA",en -https://publications.europa.eu/resource/authority/file-type/LZIP,"lzip",en -https://publications.europa.eu/resource/authority/file-type/LZMA,"lzma",en -https://publications.europa.eu/resource/authority/file-type/LZO,"lzo",en -https://publications.europa.eu/resource/authority/file-type/TAB,"MapInfo TAB file",en -https://publications.europa.eu/resource/authority/file-type/TAB_RSTR,"MapInfo TAB raster file",en -https://publications.europa.eu/resource/authority/file-type/MATHML,"MathML",en -https://publications.europa.eu/resource/authority/file-type/MBOX,"MBOX",en -https://publications.europa.eu/resource/authority/file-type/MDB,"MDB",en -https://publications.europa.eu/resource/authority/file-type/METS_ZIP,"METS package",en -https://publications.europa.eu/resource/authority/file-type/METS,"METS XML",en -https://publications.europa.eu/resource/authority/file-type/MHTML,"MHTML",en -https://publications.europa.eu/resource/authority/file-type/MIF_MID,"MIF/MID",en -https://publications.europa.eu/resource/authority/file-type/MOBI,"Mobipocket eBook",en -https://publications.europa.eu/resource/authority/file-type/MOP,"MOP",en -https://publications.europa.eu/resource/authority/file-type/MOV,"MOV",en -https://publications.europa.eu/resource/authority/file-type/MP3,"MP3",en -https://publications.europa.eu/resource/authority/file-type/MPEG2,"MPEG-2",en -https://publications.europa.eu/resource/authority/file-type/MPEG4_AVC,"MPEG-4 AVC",en -https://publications.europa.eu/resource/authority/file-type/MPEG4,"MPEG-4",en -https://publications.europa.eu/resource/authority/file-type/MRSID,"MrSID",en -https://publications.europa.eu/resource/authority/file-type/MSI,"MSI",en -https://publications.europa.eu/resource/authority/file-type/MXD,"MXD",en -https://publications.europa.eu/resource/authority/file-type/N3,"N3",en -https://publications.europa.eu/resource/authority/file-type/NETCDF,"NetCDF",en -https://publications.europa.eu/resource/authority/file-type/OAPK,"OAPK",en -https://publications.europa.eu/resource/authority/file-type/OCTET,"Octet Stream",en -https://publications.europa.eu/resource/authority/file-type/ODF,"ODF",en -https://publications.europa.eu/resource/authority/file-type/ODP,"ODP",en -https://publications.europa.eu/resource/authority/file-type/ODS,"ODS",en -https://publications.europa.eu/resource/authority/file-type/ODT,"ODT",en -https://publications.europa.eu/resource/authority/file-type/ODC,"OpenDocument Chart",en -https://publications.europa.eu/resource/authority/file-type/ODB,"OpenDocument Database",en -https://publications.europa.eu/resource/authority/file-type/ODG,"OpenDocument Image",en -https://publications.europa.eu/resource/authority/file-type/DMP,"Oracle Dump",en -https://publications.europa.eu/resource/authority/file-type/OVF,"OVF",en -https://publications.europa.eu/resource/authority/file-type/OWL,"OWL",en -https://publications.europa.eu/resource/authority/file-type/PDF,"PDF",en -https://publications.europa.eu/resource/authority/file-type/PDFA1A,"PDF/A-1a",en -https://publications.europa.eu/resource/authority/file-type/PDFA1B,"PDF/A-1b",en -https://publications.europa.eu/resource/authority/file-type/PDFA2A,"PDF/A-2a",en -https://publications.europa.eu/resource/authority/file-type/PDFA2B,"PDF/A-2b",en -https://publications.europa.eu/resource/authority/file-type/PDFUA,"PDF/UA",en -https://publications.europa.eu/resource/authority/file-type/PDFX1A,"PDF/X-1a",en -https://publications.europa.eu/resource/authority/file-type/PDFX2A,"PDF/X-2a",en -https://publications.europa.eu/resource/authority/file-type/PDFX4,"PDF/X-4",en -https://publications.europa.eu/resource/authority/file-type/PDFX,"PDF/X",en -https://publications.europa.eu/resource/authority/file-type/PDF1X,"PDF1X",en -https://publications.europa.eu/resource/authority/file-type/PDFA3,"PDFA-3",en -https://publications.europa.eu/resource/authority/file-type/PL,"Perl script",en -https://publications.europa.eu/resource/authority/file-type/TXT,"Plain text",en -https://publications.europa.eu/resource/authority/file-type/PNG,"PNG",en -https://publications.europa.eu/resource/authority/file-type/PPSX,"PowerPoint PPSX",en -https://publications.europa.eu/resource/authority/file-type/PPT,"PowerPoint PPT",en -https://publications.europa.eu/resource/authority/file-type/PPTX,"PowerPoint PPTX",en -https://publications.europa.eu/resource/authority/file-type/PPS,"PowerPoint Slide Show",en -https://publications.europa.eu/resource/authority/file-type/PS,"PS",en -https://publications.europa.eu/resource/authority/file-type/PSD,"PSD",en -https://publications.europa.eu/resource/authority/file-type/PWP,"PWP",en -https://publications.europa.eu/resource/authority/file-type/QGS,"QGS",en -https://publications.europa.eu/resource/authority/file-type/RAR,"RAR",en -https://publications.europa.eu/resource/authority/file-type/RDF_N_QUADS,"RDF N-Quads",en -https://publications.europa.eu/resource/authority/file-type/RDF_N_TRIPLES,"RDF N-Triples",en -https://publications.europa.eu/resource/authority/file-type/RDF_THRIFT,"RDF Thrift",en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIG,"RDF TriG",en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIX,"RDF TriX",en -https://publications.europa.eu/resource/authority/file-type/RDF_TURTLE,"RDF Turtle",en -https://publications.europa.eu/resource/authority/file-type/RDF_XML,"RDF XML",en -https://publications.europa.eu/resource/authority/file-type/RDF,"RDF",en -https://publications.europa.eu/resource/authority/file-type/RDFA,"RDFa",en -https://publications.europa.eu/resource/authority/file-type/RPM,"RPM",en -https://publications.europa.eu/resource/authority/file-type/RSS,"RSS feed",en -https://publications.europa.eu/resource/authority/file-type/RTF,"RTF",en -https://publications.europa.eu/resource/authority/file-type/SB3,"sb3",en -https://publications.europa.eu/resource/authority/file-type/SDMX,"SDMX",en -https://publications.europa.eu/resource/authority/file-type/DTD_SGML,"SGML DTD",en -https://publications.europa.eu/resource/authority/file-type/SGML,"SGML",en -https://publications.europa.eu/resource/authority/file-type/SKOS_XML,"SKOS",en -https://publications.europa.eu/resource/authority/file-type/SPARQLQRES,"SPARQL results",en -https://publications.europa.eu/resource/authority/file-type/SPARQLQ,"SPARQL",en -https://publications.europa.eu/resource/authority/file-type/SQL,"SQL",en -https://publications.europa.eu/resource/authority/file-type/STL,"StL",en -https://publications.europa.eu/resource/authority/file-type/SVG,"SVG",en -https://publications.europa.eu/resource/authority/file-type/SWM,"SWM",en -https://publications.europa.eu/resource/authority/file-type/TAR_GZ,"TAR GZ",en -https://publications.europa.eu/resource/authority/file-type/TAR_XZ,"TAR XZ",en -https://publications.europa.eu/resource/authority/file-type/TAR,"TAR",en -https://publications.europa.eu/resource/authority/file-type/TIFF_FX,"TIFF FX",en -https://publications.europa.eu/resource/authority/file-type/TIFF,"TIFF",en -https://publications.europa.eu/resource/authority/file-type/TMX,"TMX",en -https://publications.europa.eu/resource/authority/file-type/TSV,"TSV",en -https://publications.europa.eu/resource/authority/file-type/UNGEN,"Ungen",en -https://publications.europa.eu/resource/authority/file-type/WAR,"WAR",en -https://publications.europa.eu/resource/authority/file-type/WARC_GZ,"WARC GZ",en -https://publications.europa.eu/resource/authority/file-type/WARC,"WARC",en -https://publications.europa.eu/resource/authority/file-type/WAV,"WAV",en -https://publications.europa.eu/resource/authority/file-type/WCS_SRVC,"WCS",en -https://publications.europa.eu/resource/authority/file-type/WEBP,"WebP",en -https://publications.europa.eu/resource/authority/file-type/WFS_SRVC,"WFS",en -https://publications.europa.eu/resource/authority/file-type/WIM,"WIM",en -https://publications.europa.eu/resource/authority/file-type/WMS_SRVC,"WMS",en -https://publications.europa.eu/resource/authority/file-type/WMTS_SRVC,"WMTS",en -https://publications.europa.eu/resource/authority/file-type/DOC,"Word DOC",en -https://publications.europa.eu/resource/authority/file-type/DOCX,"Word DOCX",en -https://publications.europa.eu/resource/authority/file-type/WORLD,"World file",en -https://publications.europa.eu/resource/authority/file-type/XHTML_SIMPL,"XHTML simplified",en -https://publications.europa.eu/resource/authority/file-type/XHTML,"XHTML",en -https://publications.europa.eu/resource/authority/file-type/XHTML5,"XHTML5",en -https://publications.europa.eu/resource/authority/file-type/XLIFF,"XLIFF",en -https://publications.europa.eu/resource/authority/file-type/XLSB,"XLSB",en -https://publications.europa.eu/resource/authority/file-type/XLSM,"XLSM",en -https://publications.europa.eu/resource/authority/file-type/DTD_XML,"XML DTD",en -https://publications.europa.eu/resource/authority/file-type/SCHEMA_XML,"XML schema",en -https://publications.europa.eu/resource/authority/file-type/XML,"XML",en -https://publications.europa.eu/resource/authority/file-type/XSLFO,"XSL-FO",en -https://publications.europa.eu/resource/authority/file-type/XSLT,"XSLT",en -https://publications.europa.eu/resource/authority/file-type/XYZ,"XYZ Chemical File",en -https://publications.europa.eu/resource/authority/file-type/XZ,"xz",en -https://publications.europa.eu/resource/authority/file-type/YAML,"YAML",en -https://publications.europa.eu/resource/authority/file-type/Z,"Z",en -https://publications.europa.eu/resource/authority/file-type/ZIP,"ZIP",en -https://publications.europa.eu/resource/authority/file-type/GMZ,"Zipped GML",en -https://publications.europa.eu/resource/authority/file-type/ISO_ZIP,"Zipped ISO image",en -http://publications.europa.eu/resource/authority/country/GRL,"Greenland",en -http://publications.europa.eu/resource/authority/country/BDI,"Burundi",en -http://publications.europa.eu/resource/authority/country/BEN,"Benin",en -http://publications.europa.eu/resource/authority/country/CAF,"Central African Republic",en -http://publications.europa.eu/resource/authority/country/ZR0,"Zaire",en -http://publications.europa.eu/resource/authority/country/BHR,"Bahrain",en -http://publications.europa.eu/resource/authority/country/KWT,"Kuwait",en -http://publications.europa.eu/resource/authority/country/OMN,"Oman",en -http://publications.europa.eu/resource/authority/country/QAT,"Qatar",en -http://publications.europa.eu/resource/authority/country/AFG,"Afghanistan",en -http://publications.europa.eu/resource/authority/country/TUV,"Tuvalu",en -http://publications.europa.eu/resource/authority/country/1A0,"Kosovo",en -http://publications.europa.eu/resource/authority/country/WSM,"Samoa",en -http://publications.europa.eu/resource/authority/country/COD,"Democratic Republic of the Congo",en -http://publications.europa.eu/resource/authority/country/SLB,"Solomon Islands",en -http://publications.europa.eu/resource/authority/country/BEL,"Belgium",en -http://publications.europa.eu/resource/authority/country/DEU,"Germany",en -http://publications.europa.eu/resource/authority/country/DNK,"Denmark",en -http://publications.europa.eu/resource/authority/country/FRA,"France",en -http://publications.europa.eu/resource/authority/country/GBR,"United Kingdom",en -http://publications.europa.eu/resource/authority/country/GRC,"Greece",en -http://publications.europa.eu/resource/authority/country/HRV,"Croatia",en -http://publications.europa.eu/resource/authority/country/HUN,"Hungary",en -http://publications.europa.eu/resource/authority/country/ITA,"Italy",en -http://publications.europa.eu/resource/authority/country/LTU,"Lithuania",en -http://publications.europa.eu/resource/authority/country/MEX,"Mexico",en -http://publications.europa.eu/resource/authority/country/NLD,"Netherlands",en -http://publications.europa.eu/resource/authority/country/OP_DATPRO,"Provisional data",en -http://publications.europa.eu/resource/authority/country/POL,"Poland",en -http://publications.europa.eu/resource/authority/country/PRT,"Portugal",en -http://publications.europa.eu/resource/authority/country/SWE,"Sweden",en -http://publications.europa.eu/resource/authority/country/AUT,"Austria",en -http://publications.europa.eu/resource/authority/country/BGR,"Bulgaria",en -http://publications.europa.eu/resource/authority/country/CYP,"Cyprus",en -http://publications.europa.eu/resource/authority/country/ESP,"Spain",en -http://publications.europa.eu/resource/authority/country/IRL,"Ireland",en -http://publications.europa.eu/resource/authority/country/MAR,"Morocco",en -http://publications.europa.eu/resource/authority/country/MLT,"Malta",en -http://publications.europa.eu/resource/authority/country/MYS,"Malaysia",en -http://publications.europa.eu/resource/authority/country/CZE,"Czechia",en -http://publications.europa.eu/resource/authority/country/EST,"Estonia",en -http://publications.europa.eu/resource/authority/country/FIN,"Finland",en -http://publications.europa.eu/resource/authority/country/LVA,"Latvia",en -http://publications.europa.eu/resource/authority/country/SVK,"Slovakia",en -http://publications.europa.eu/resource/authority/country/SVN,"Slovenia",en -http://publications.europa.eu/resource/authority/country/CHE,"Switzerland",en -http://publications.europa.eu/resource/authority/country/LUX,"Luxembourg",en -http://publications.europa.eu/resource/authority/country/ROU,"Romania",en -http://publications.europa.eu/resource/authority/country,"Countries and territories",en -http://publications.europa.eu/resource/authority/country/VNM,"Viet Nam",en -http://publications.europa.eu/resource/authority/country/SEN,"Senegal",en -http://publications.europa.eu/resource/authority/country/SYC,"Seychelles",en -http://publications.europa.eu/resource/authority/country/ZAF,"South Africa",en -http://publications.europa.eu/resource/authority/country/KOR,"South Korea",en -http://publications.europa.eu/resource/authority/country/LBN,"Lebanon",en -http://publications.europa.eu/resource/authority/country/SAU,"Saudi Arabia",en -http://publications.europa.eu/resource/authority/country/JOR,"Jordan",en -http://publications.europa.eu/resource/authority/country/COM,"Comoros",en -http://publications.europa.eu/resource/authority/country/PAK,"Pakistan",en -http://publications.europa.eu/resource/authority/country/TUN,"Tunisia",en -http://publications.europa.eu/resource/authority/country/MKD,"North Macedonia",en -http://publications.europa.eu/resource/authority/country/GNQ,"Equatorial Guinea",en -http://publications.europa.eu/resource/authority/country/AUS,"Australia",en -http://publications.europa.eu/resource/authority/country/GIN,"Guinea",en -http://publications.europa.eu/resource/authority/country/DZA,"Algeria",en -http://publications.europa.eu/resource/authority/country/CYM,"Cayman Islands",en -http://publications.europa.eu/resource/authority/country/TKM,"Turkmenistan",en -http://publications.europa.eu/resource/authority/country/IRN,"Iran",en -http://publications.europa.eu/resource/authority/country/ARG,"Argentina",en -http://publications.europa.eu/resource/authority/country/EGY,"Egypt",en -http://publications.europa.eu/resource/authority/country/IDN,"Indonesia",en -http://publications.europa.eu/resource/authority/country/CHL,"Chile",en -http://publications.europa.eu/resource/authority/country/BGD,"Bangladesh",en -http://publications.europa.eu/resource/authority/country/URY,"Uruguay",en -http://publications.europa.eu/resource/authority/country/BMU,"Bermuda",en -http://publications.europa.eu/resource/authority/country/MUS,"Mauritius",en -http://publications.europa.eu/resource/authority/country/BLZ,"Belize",en -http://publications.europa.eu/resource/authority/country/BRB,"Barbados",en -http://publications.europa.eu/resource/authority/country/CIV,"Côte d’Ivoire",en -http://publications.europa.eu/resource/authority/country/COG,"Congo",en -http://publications.europa.eu/resource/authority/country/GUY,"Guyana",en -http://publications.europa.eu/resource/authority/country/JAM,"Jamaica",en -http://publications.europa.eu/resource/authority/country/KEN,"Kenya",en -http://publications.europa.eu/resource/authority/country/MDG,"Madagascar",en -http://publications.europa.eu/resource/authority/country/MWI,"Malawi",en -http://publications.europa.eu/resource/authority/country/SUR,"Suriname",en -http://publications.europa.eu/resource/authority/country/SWZ,"Eswatini",en -http://publications.europa.eu/resource/authority/country/TTO,"Trinidad and Tobago",en -http://publications.europa.eu/resource/authority/country/TZA,"Tanzania",en -http://publications.europa.eu/resource/authority/country/UGA,"Uganda",en -http://publications.europa.eu/resource/authority/country/ZMB,"Zambia",en -http://publications.europa.eu/resource/authority/country/ZWE,"Zimbabwe",en -http://publications.europa.eu/resource/authority/country/KGZ,"Kyrgyzstan",en -http://publications.europa.eu/resource/authority/country/MRT,"Mauritania",en -http://publications.europa.eu/resource/authority/country/SLE,"Sierra Leone",en -http://publications.europa.eu/resource/authority/country/GMB,"The Gambia",en -http://publications.europa.eu/resource/authority/country/LBY,"Libya",en -http://publications.europa.eu/resource/authority/country/PAN,"Panama",en -http://publications.europa.eu/resource/authority/country/AND,"Andorra",en -http://publications.europa.eu/resource/authority/country/LIE,"Liechtenstein",en -http://publications.europa.eu/resource/authority/country/NOR,"Norway",en -http://publications.europa.eu/resource/authority/country/RUS,"Russia",en -http://publications.europa.eu/resource/authority/country/SMR,"San Marino",en -http://publications.europa.eu/resource/authority/country/STP,"São Tomé and Príncipe",en -http://publications.europa.eu/resource/authority/country/TUR,"Türkiye",en -http://publications.europa.eu/resource/authority/country/ISL,"Iceland",en -http://publications.europa.eu/resource/authority/country/GNB,"Guinea-Bissau",en -http://publications.europa.eu/resource/authority/country/CHN,"China",en -http://publications.europa.eu/resource/authority/country/NPL,"Nepal",en -http://publications.europa.eu/resource/authority/country/USA,"United States",en -http://publications.europa.eu/resource/authority/country/ISR,"Israel",en -http://publications.europa.eu/resource/authority/country/JPN,"Japan",en -http://publications.europa.eu/resource/authority/country/CAN,"Canada",en -http://publications.europa.eu/resource/authority/country/YUG,"Yugoslavia",en -http://publications.europa.eu/resource/authority/country/IND,"India",en -http://publications.europa.eu/resource/authority/country/MDA,"Moldova",en -http://publications.europa.eu/resource/authority/country/KNA,"Saint Kitts and Nevis",en -http://publications.europa.eu/resource/authority/country/MCO,"Monaco",en -http://publications.europa.eu/resource/authority/country/TCD,"Chad",en -http://publications.europa.eu/resource/authority/country/VUT,"Vanuatu",en -http://publications.europa.eu/resource/authority/country/LAO,"Laos",en -http://publications.europa.eu/resource/authority/country/MLI,"Mali",en -http://publications.europa.eu/resource/authority/country/TGO,"Togo",en -http://publications.europa.eu/resource/authority/country/BRN,"Brunei",en -http://publications.europa.eu/resource/authority/country/COL,"Colombia",en -http://publications.europa.eu/resource/authority/country/PNG,"Papua New Guinea",en -http://publications.europa.eu/resource/authority/country/SUN,"Soviet Union",en -http://publications.europa.eu/resource/authority/country/GIB,"Gibraltar",en -http://publications.europa.eu/resource/authority/country/THA,"Thailand",en -http://publications.europa.eu/resource/authority/country/BRA,"Brazil",en -http://publications.europa.eu/resource/authority/country/NZL,"New Zealand",en -http://publications.europa.eu/resource/authority/country/CPV,"Cabo Verde",en -http://publications.europa.eu/resource/authority/country/NER,"Niger",en -http://publications.europa.eu/resource/authority/country/ABW,"Aruba",en -http://publications.europa.eu/resource/authority/country/UZB,"Uzbekistan",en -http://publications.europa.eu/resource/authority/country/MOZ,"Mozambique",en -http://publications.europa.eu/resource/authority/country/ANT,"Netherlands Antilles",en -http://publications.europa.eu/resource/authority/country/TWN,"Taiwan",en -http://publications.europa.eu/resource/authority/country/GTM,"Guatemala",en -http://publications.europa.eu/resource/authority/country/BLR,"Belarus",en -http://publications.europa.eu/resource/authority/country/BIH,"Bosnia and Herzegovina",en -http://publications.europa.eu/resource/authority/country/LKA,"Sri Lanka",en -http://publications.europa.eu/resource/authority/country/FSM,"Micronesia",en -http://publications.europa.eu/resource/authority/country/CSK,"Czechoslovakia",en -http://publications.europa.eu/resource/authority/country/BHS,"Bahamas",en -http://publications.europa.eu/resource/authority/country/ARM,"Armenia",en -http://publications.europa.eu/resource/authority/country/DMA,"Dominica",en -http://publications.europa.eu/resource/authority/country/EUR,"European Union",en -http://publications.europa.eu/resource/authority/country/ALB,"Albania",en -http://publications.europa.eu/resource/authority/country/BFA,"Burkina Faso",en -http://publications.europa.eu/resource/authority/country/KAZ,"Kazakhstan",en -http://publications.europa.eu/resource/authority/country/UKR,"Ukraine",en -http://publications.europa.eu/resource/authority/country/SGP,"Singapore",en -http://publications.europa.eu/resource/authority/country/CMR,"Cameroon",en -http://publications.europa.eu/resource/authority/country/AGO,"Angola",en -http://publications.europa.eu/resource/authority/country/ARE,"United Arab Emirates",en -http://publications.europa.eu/resource/authority/country/GEO,"Georgia",en -http://publications.europa.eu/resource/authority/country/DOM,"Dominican Republic",en -http://publications.europa.eu/resource/authority/country/ATG,"Antigua and Barbuda",en -http://publications.europa.eu/resource/authority/country/BOL,"Bolivia",en -http://publications.europa.eu/resource/authority/country/CRI,"Costa Rica",en -http://publications.europa.eu/resource/authority/country/CUB,"Cuba",en -http://publications.europa.eu/resource/authority/country/ECU,"Ecuador",en -http://publications.europa.eu/resource/authority/country/GRD,"Grenada",en -http://publications.europa.eu/resource/authority/country/HTI,"Haiti",en -http://publications.europa.eu/resource/authority/country/LCA,"Saint Lucia",en -http://publications.europa.eu/resource/authority/country/NIC,"Nicaragua",en -http://publications.europa.eu/resource/authority/country/PER,"Peru",en -http://publications.europa.eu/resource/authority/country/PRY,"Paraguay",en -http://publications.europa.eu/resource/authority/country/SLV,"El Salvador",en -http://publications.europa.eu/resource/authority/country/VCT,"Saint Vincent and the Grenadines",en -http://publications.europa.eu/resource/authority/country/VEN,"Venezuela",en -http://publications.europa.eu/resource/authority/country/DDR,"German Democratic Republic",en -http://publications.europa.eu/resource/authority/country/SOM,"Somalia",en -http://publications.europa.eu/resource/authority/country/FJI,"Fiji",en -http://publications.europa.eu/resource/authority/country/HKG,"Hong Kong",en -http://publications.europa.eu/resource/authority/country/PLW,"Palau",en -http://publications.europa.eu/resource/authority/country/MNG,"Mongolia",en -http://publications.europa.eu/resource/authority/country/SRB,"Serbia",en -http://publications.europa.eu/resource/authority/country/MNE,"Montenegro",en -http://publications.europa.eu/resource/authority/country/SYR,"Syria",en -http://publications.europa.eu/resource/authority/country/GAB,"Gabon",en -http://publications.europa.eu/resource/authority/country/HND,"Honduras",en -http://publications.europa.eu/resource/authority/country/LBR,"Liberia",en -http://publications.europa.eu/resource/authority/country/PHL,"Philippines",en -http://publications.europa.eu/resource/authority/country/TJK,"Tajikistan",en -http://publications.europa.eu/resource/authority/country/MDV,"Maldives",en -http://publications.europa.eu/resource/authority/country/MAC,"Macao",en -http://publications.europa.eu/resource/authority/country/RWA,"Rwanda",en -http://publications.europa.eu/resource/authority/country/AZE,"Azerbaijan",en -http://publications.europa.eu/resource/authority/country/KIR,"Kiribati",en -http://publications.europa.eu/resource/authority/country/SDN,"Sudan",en -http://publications.europa.eu/resource/authority/country/GHA,"Ghana",en -http://publications.europa.eu/resource/authority/country/YMD,"North Yemen",en -http://publications.europa.eu/resource/authority/country/BWA,"Botswana",en -http://publications.europa.eu/resource/authority/country/LSO,"Lesotho",en -http://publications.europa.eu/resource/authority/country/NAM,"Namibia",en -http://publications.europa.eu/resource/authority/country/VAT,"Holy See",en -http://publications.europa.eu/resource/authority/country/IRQ,"Iraq",en -http://publications.europa.eu/resource/authority/country/NGA,"Nigeria",en -http://publications.europa.eu/resource/authority/country/FRO,"Faroes",en -http://publications.europa.eu/resource/authority/country/DJI,"Djibouti",en -http://publications.europa.eu/resource/authority/country/COK,"Cook Islands",en -http://publications.europa.eu/resource/authority/country/YEM,"Yemen",en -http://publications.europa.eu/resource/authority/country/KHM,"Cambodia",en -http://publications.europa.eu/resource/authority/country/TLS,"Timor-Leste",en -http://publications.europa.eu/resource/authority/country/TON,"Tonga",en -http://publications.europa.eu/resource/authority/country/PSE,"Palestine*",en -http://publications.europa.eu/resource/authority/country/SCG,"Serbia and Montenegro",en -http://publications.europa.eu/resource/authority/country/BYS,"Belarus",en -http://publications.europa.eu/resource/authority/country/MHL,"Marshall Islands",en -http://publications.europa.eu/resource/authority/country/AFI,"French Afar and Issas",en -http://publications.europa.eu/resource/authority/country/AIA,"Anguilla",en -http://publications.europa.eu/resource/authority/country/ALA,"Åland Islands",en -http://publications.europa.eu/resource/authority/country/ASM,"American Samoa",en -http://publications.europa.eu/resource/authority/country/ATA,"Antarctica",en -http://publications.europa.eu/resource/authority/country/ATB,"British Antarctic Territory",en -http://publications.europa.eu/resource/authority/country/ATF,"French Southern and Antarctic Lands",en -http://publications.europa.eu/resource/authority/country/ATN,"Dronning Maud Land",en -http://publications.europa.eu/resource/authority/country/BES,"Bonaire, Sint Eustatius and Saba",en -http://publications.europa.eu/resource/authority/country/BLM,"Saint Barthélemy",en -http://publications.europa.eu/resource/authority/country/BTN,"Bhutan",en -http://publications.europa.eu/resource/authority/country/BUR,"Burma",en -http://publications.europa.eu/resource/authority/country/BVT,"Bouvet Island",en -http://publications.europa.eu/resource/authority/country/CCK,"Cocos (Keeling) Islands",en -http://publications.europa.eu/resource/authority/country/CPT,"Clipperton",en -http://publications.europa.eu/resource/authority/country/CTE,"Canton and Enderbury Islands",en -http://publications.europa.eu/resource/authority/country/CUW,"Curaçao",en -http://publications.europa.eu/resource/authority/country/CXR,"Christmas Island",en -http://publications.europa.eu/resource/authority/country/DHY,"Dahomey",en -http://publications.europa.eu/resource/authority/country/ERI,"Eritrea",en -http://publications.europa.eu/resource/authority/country/ESH,"Western Sahara",en -http://publications.europa.eu/resource/authority/country/ETH,"Ethiopia",en -http://publications.europa.eu/resource/authority/country/FLK,"Falkland Islands",en -http://publications.europa.eu/resource/authority/country/FQ0,"French Southern and Antarctic Lands",en -http://publications.europa.eu/resource/authority/country/FXX,"Metropolitan France",en -http://publications.europa.eu/resource/authority/country/GEL,"Gilbert and Ellice Islands",en -http://publications.europa.eu/resource/authority/country/GGY,"Guernsey",en -http://publications.europa.eu/resource/authority/country/GLP,"Guadeloupe",en -http://publications.europa.eu/resource/authority/country/GUF,"French Guiana",en -http://publications.europa.eu/resource/authority/country/GUM,"Guam",en -http://publications.europa.eu/resource/authority/country/HMD,"Heard Island and McDonald Islands",en -http://publications.europa.eu/resource/authority/country/HVO,"Upper Volta",en -http://publications.europa.eu/resource/authority/country/IMN,"Isle of Man",en -http://publications.europa.eu/resource/authority/country/IOT,"British Indian Ocean Territory",en -http://publications.europa.eu/resource/authority/country/JEY,"Jersey",en -http://publications.europa.eu/resource/authority/country/JTN,"Johnston Island",en -http://publications.europa.eu/resource/authority/country/MAF,"Saint Martin",en -http://publications.europa.eu/resource/authority/country/MID,"Midway Islands",en -http://publications.europa.eu/resource/authority/country/MMR,"Myanmar/Burma",en -http://publications.europa.eu/resource/authority/country/MNP,"Northern Mariana Islands",en -http://publications.europa.eu/resource/authority/country/MSR,"Montserrat",en -http://publications.europa.eu/resource/authority/country/MTQ,"Martinique",en -http://publications.europa.eu/resource/authority/country/MYT,"Mayotte",en -http://publications.europa.eu/resource/authority/country/NCL,"New Caledonia",en -http://publications.europa.eu/resource/authority/country/NFK,"Norfolk Island",en -http://publications.europa.eu/resource/authority/country/NHB,"New Hebrides",en -http://publications.europa.eu/resource/authority/country/NIU,"Niue",en -http://publications.europa.eu/resource/authority/country/NRU,"Nauru",en -http://publications.europa.eu/resource/authority/country/NTZ,"Neutral Zone",en -http://publications.europa.eu/resource/authority/country/PCI,"Trust Territory of the Pacific Islands",en -http://publications.europa.eu/resource/authority/country/PCN,"Pitcairn Islands",en -http://publications.europa.eu/resource/authority/country/PCZ,"Panama Canal Zone",en -http://publications.europa.eu/resource/authority/country/PRI,"Puerto Rico",en -http://publications.europa.eu/resource/authority/country/PRK,"North Korea",en -http://publications.europa.eu/resource/authority/country/PUS,"US Miscellaneous Pacific Islands",en -http://publications.europa.eu/resource/authority/country/PYF,"French Polynesia",en -http://publications.europa.eu/resource/authority/country/REU,"Réunion",en -http://publications.europa.eu/resource/authority/country/RHO,"Southern Rhodesia",en -http://publications.europa.eu/resource/authority/country/SGS,"South Georgia and the South Sandwich Islands",en -http://publications.europa.eu/resource/authority/country/SHN,"Saint Helena, Ascension and Tristan da Cunha",en -http://publications.europa.eu/resource/authority/country/SJM,"Svalbard and Jan Mayen",en -http://publications.europa.eu/resource/authority/country/SKM,"Sikkim",en -http://publications.europa.eu/resource/authority/country/SPM,"Saint Pierre and Miquelon",en -http://publications.europa.eu/resource/authority/country/SSD,"South Sudan",en -http://publications.europa.eu/resource/authority/country/SXM,"Sint Maarten",en -http://publications.europa.eu/resource/authority/country/TCA,"Turks and Caicos Islands",en -http://publications.europa.eu/resource/authority/country/TKL,"Tokelau",en -http://publications.europa.eu/resource/authority/country/TMP,"East Timor",en -http://publications.europa.eu/resource/authority/country/UMI,"United States Minor Outlying Islands",en -http://publications.europa.eu/resource/authority/country/VDR,"Democratic Republic of Vietnam",en -http://publications.europa.eu/resource/authority/country/VGB,"British Virgin Islands",en -http://publications.europa.eu/resource/authority/country/VIR,"US Virgin Islands",en -http://publications.europa.eu/resource/authority/country/WAK,"Wake Island",en -http://publications.europa.eu/resource/authority/country/WLF,"Wallis and Futuna",en -http://publications.europa.eu/resource/authority/country/XSL,"Somaliland",en -http://publications.europa.eu/resource/authority/country/XLF,"Fezzan (Libya)",en -http://publications.europa.eu/resource/authority/country/XEU,"EU Waters",en -http://publications.europa.eu/resource/authority/country/XMAZ,"Marine zone",en -http://publications.europa.eu/resource/authority/country/XNY,"Nyasaland",en -http://publications.europa.eu/resource/authority/country/XLI,"Livigno",en -http://publications.europa.eu/resource/authority/country/XIC,"Canary Islands",en -http://publications.europa.eu/resource/authority/country/XNC,"areas of the Republic of Cyprus in which the Government of the Republic of Cyprus does not exercise effective control",en -http://publications.europa.eu/resource/authority/country/XSC,"Ceuta",en -http://publications.europa.eu/resource/authority/country/XSM,"Melilla",en -http://publications.europa.eu/resource/authority/country/XDST,"Disputed region",en -http://publications.europa.eu/resource/authority/country/XQP,"Colombia/Jamaica (joint regime)",en -http://publications.europa.eu/resource/authority/country/XXA,"Paracel Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XKA,"Democratic Kampuchea",en -http://publications.europa.eu/resource/authority/country/XKM,"People’s Republic of Kampuchea",en -http://publications.europa.eu/resource/authority/country/ZAR,"Zaire",en -http://publications.europa.eu/resource/authority/country/XXB,"Spratly Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XLL,"Italian waters of Lake Lugano",en -http://publications.europa.eu/resource/authority/country/XQR,"Japan/South Korea (joint regime)",en -http://publications.europa.eu/resource/authority/country/XXC,"Aksai Chin (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XCI,"Campione d’Italia",en -http://publications.europa.eu/resource/authority/country/XXD,"Arunashal Pradesh (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XBA,"Basutoland",en -http://publications.europa.eu/resource/authority/country/XXE,"China/India (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXF,"Hala'Ib Triangle (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XHS,"High seas",en -http://publications.europa.eu/resource/authority/country/XPM,"Madeira",en -http://publications.europa.eu/resource/authority/country/XXG,"Ilemi Triangle (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXH,"Jammu Kashmir (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXI,"Northern Ireland",en -http://publications.europa.eu/resource/authority/country/XXJ,"Liancourt Rock (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXO,"Juan de Nova, Glorioso, Europa, Tromelin, Bassas da India",en -http://publications.europa.eu/resource/authority/country/XBH,"Büsingen am Hochrhein",en -http://publications.europa.eu/resource/authority/country/XXL,"Navassa Island (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XBI,"Biafra",en -http://publications.europa.eu/resource/authority/country/XXM,"Scarborough Reef (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XSG,"Joint area between Senegal and Guinea-Bissau",en -http://publications.europa.eu/resource/authority/country/XPA,"Azores",en -http://publications.europa.eu/resource/authority/country/XXN,"Senkaku Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XIN,"International Waters",en -http://publications.europa.eu/resource/authority/country/XJM,"Fisheries zone around Jan Mayen",en -http://publications.europa.eu/resource/authority/country/XME,"Melanesia",en -http://publications.europa.eu/resource/authority/country/XSV,"Fisheries Protection Zone around Svalbard",en -http://publications.europa.eu/resource/authority/country/XXP,"China/Philippines/Viet Nam/Taiwan/Malaysia (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXZ,"Kuril Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XAC,"Ashmore and Cartier Islands",en -http://publications.europa.eu/resource/authority/country/XKX,"Kosovo*",en -http://publications.europa.eu/resource/authority/country/XGS,"Gaza Strip",en -http://publications.europa.eu/resource/authority/country/CRQ,"Sark",en -http://publications.europa.eu/resource/authority/country/XAD,"UK Sovereign Base Areas of Akrotiri and Dhekelia",en -http://publications.europa.eu/resource/authority/country/XIH,"Heligoland",en -http://publications.europa.eu/resource/authority/country/XMA,"Mount Athos",en -http://publications.europa.eu/resource/authority/country/XWS,"Western Samoa",en -http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en -https://gdi.onemilliongenomes.eu,GDI,en -https://en.wikipedia.org/wiki/Colorectal_cancer,Colorectal cancer,en -http://purl.bioontology.org/ontology/ICD10CM/B34.2,"Coronavirus infection, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/B95-B97,"Bacterial and viral infectious agents (B95-B97)",en -http://purl.bioontology.org/ontology/ICD10CM/B97.21,"SARS-associated coronavirus as the cause of diseases classified elsewhere",en -http://purl.bioontology.org/ontology/ICD10CM/D65-D69,"Coagulation defects, purpura and other hemorrhagic conditions (D65-D69)",en -http://purl.bioontology.org/ontology/ICD10CM/F03,"Unspecified dementia",en -http://purl.bioontology.org/ontology/ICD10CM/G30,"Alzheimer's disease",en -http://purl.bioontology.org/ontology/ICD10CM/G93.3,"Postviral and related fatigue syndromes",en -http://purl.bioontology.org/ontology/ICD10CM/G93.31,"Postviral fatigue syndrome",en -http://purl.bioontology.org/ontology/ICD10CM/I21,"Acute myocardial infarction",en -http://purl.bioontology.org/ontology/ICD10CM/I26-I28,"Pulmonary heart disease and diseases of pulmonary circulation (I26-I28)",en -http://purl.bioontology.org/ontology/ICD10CM/I49.9,"Cardiac arrhythmia, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/I50,"Heart failure",en -http://purl.bioontology.org/ontology/ICD10CM/I51.4,"Myocarditis, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/I60-I69,"Cerebrovascular diseases (I60-I69)",en -http://purl.bioontology.org/ontology/ICD10CM/I63,"Cerebral infarction",en -http://purl.bioontology.org/ontology/ICD10CM/I67.6,"Nonpyogenic thrombosis of intracranial venous system",en -http://purl.bioontology.org/ontology/ICD10CM/I80-I89,"Diseases of veins, lymphatic vessels and lymph nodes, not elsewhere classified (I80-I89)",en -http://purl.bioontology.org/ontology/ICD10CM/I82,"Other venous embolism and thrombosis",en -http://purl.bioontology.org/ontology/ICD10CM/J00-J99,"Diseases of the respiratory system (J00-J99)",en -http://purl.bioontology.org/ontology/ICD10CM/J06.9,"Acute upper respiratory infection, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/J12.81,"Pneumonia due to SARS-associated coronavirus",en -http://purl.bioontology.org/ontology/ICD10CM/J12.82,"Pneumonia due to coronavirus disease 2019",en -http://purl.bioontology.org/ontology/ICD10CM/M30.3,"Mucocutaneous lymph node syndrome [Kawasaki]",en -http://purl.bioontology.org/ontology/ICD10CM/M35.81,"Multisystem inflammatory syndrome",en -http://purl.bioontology.org/ontology/ICD10CM/R53,"Malaise and fatigue",en -http://purl.bioontology.org/ontology/ICD10CM/R53.82,"Chronic fatigue, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/T83.510S,"Infection and inflammatory reaction due to cystostomy catheter, sequela",en -http://purl.bioontology.org/ontology/ICD10CM/U00-U85,"Codes for special purposes (U00-U85)",en -http://purl.bioontology.org/ontology/ICD10CM/U07.1,"COVID-19",en -http://purl.bioontology.org/ontology/ICD10CM/U09,"Post COVID-19 condition",en -http://purl.bioontology.org/ontology/ICD10CM/U09.9,"Post COVID-19 condition, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/Z01.89,"Encounter for other specified special examinations",en -http://purl.bioontology.org/ontology/ICD10CM/Z11.52,"Encounter for screening for COVID-19",en -http://purl.org/zonmw/covid19/10121,"ultrasound",en -http://purl.org/zonmw/covid19/10127,"environmental data",en -http://purl.org/zonmw/covid19/10125,"survey data",en -http://purl.org/zonmw/covid19/10129,"aerial photography",en -http://purl.org/zonmw/covid19/10124,"social data",en -http://purl.org/zonmw/covid19/10123,"infrared thermography",en -http://purl.org/zonmw/covid19/10122,"computed tomography",en -http://purl.org/zonmw/covid19/10128,"geographical data",en -http://purl.org/zonmw/covid19/10120,"X-ray imaging",en -http://purl.org/zonmw/covid19/10126,"COVID policy and prevention measures",en -http://purl.org/zonmw/covid19/10174,"nasopharyngeal swab specimen",en -http://purl.org/zonmw/covid19/10176,"tissue specimen",en -http://purl.org/zonmw/covid19/10175,"oropharyngeal swab specimen",en -http://purl.org/zonmw/covid19/10172,"frozen specimen",en -http://purl.org/zonmw/covid19/10173,"nasal swab",en -http://purl.org/zonmw/covid19/10178,"FFPE tissue specimen",en -http://purl.org/zonmw/covid19/10179,"glutaraldehyde fixed tissue specimen",en -http://purl.org/zonmw/covid19/10171,"fresh specimen",en -http://purl.org/zonmw/covid19/10170,"cell line",en -http://purl.org/zonmw/covid19/10177,"vaginal swab specimen",en -http://purl.org/zonmw/covid19/10198,"animal facility (breeding/transgenesis)",en -http://purl.org/zonmw/covid19/10190,"ML-3 laboratory",en -http://purl.org/zonmw/covid19/10195,"antibody facility",en -http://purl.org/zonmw/covid19/10194,"BSL-4 laboratory",en -http://purl.org/zonmw/covid19/10191,"BSL-1 laboratory",en -http://purl.org/zonmw/covid19/10193,"BSL-3 laboratory",en -http://purl.org/zonmw/covid19/10196,"proteomics facility",en -http://purl.org/zonmw/covid19/10192,"BSL-2 laboratory",en -http://purl.org/zonmw/covid19/10199,"flow cytometry facility",en -http://purl.org/zonmw/covid19/10197,"metabolomics facility",en -http://purl.org/zonmw/covid19/10158,"saliva",en -http://purl.org/zonmw/covid19/10157,"plasma",en -http://purl.org/zonmw/covid19/10154,"blood",en -http://purl.org/zonmw/covid19/10159,"semen",en -http://purl.org/zonmw/covid19/10156,"feces",en -http://purl.org/zonmw/covid19/10155,"breath",en -http://purl.org/zonmw/covid19/10240,"behaviour",en -http://purl.org/zonmw/covid19/10249,"predictive diagnostics and treatment - risk analysis and prognostics",en -http://purl.org/zonmw/covid19/10246,"cloacal swab",en -http://purl.org/zonmw/covid19/10245,"perineal swab",en -http://purl.org/zonmw/covid19/10244,"genomics data",en -http://purl.org/zonmw/covid19/10148,"mouse",en -http://purl.org/zonmw/covid19/10146,"human",en -http://purl.org/zonmw/covid19/10147,"mink",en -http://purl.org/zonmw/covid19/10140,"interview data",en -http://purl.org/zonmw/covid19/10143,"prototype description",en -http://purl.org/zonmw/covid19/10142,"study design",en -http://purl.org/zonmw/covid19/10149,"rat",en -http://purl.org/zonmw/covid19/10023,"surveillance phase",en -http://purl.org/zonmw/covid19/10021,"palliative care",en -http://purl.org/zonmw/covid19/10028,"lockdown phase",en -http://purl.org/zonmw/covid19/10024,"short-term impact on emotional wellbeing",en -http://purl.org/zonmw/covid19/10029,"prevention phase",en -http://purl.org/zonmw/covid19/10022,"rehabilitation",en -http://purl.org/zonmw/covid19/10026,"long COVID",en -http://purl.org/zonmw/covid19/10020,"post-covid care",en -http://purl.org/zonmw/covid19/10025,"long-term impact on emotional wellbeing",en -http://purl.org/zonmw/covid19/10027,"regulation phase",en -http://purl.org/zonmw/covid19/10232,"Diagnostiek",en -http://purl.org/zonmw/covid19/10233,"impact of measures and strategies",en -http://purl.org/zonmw/covid19/10236,"therapy",en -http://purl.org/zonmw/covid19/10235,"education",en -http://purl.org/zonmw/covid19/10238,"Prognose",en -http://purl.org/zonmw/covid19/10237,"risk analysis",en -http://purl.org/zonmw/covid19/10231,"organisation of care and prevention",en -http://purl.org/zonmw/covid19/10239,"Immunologie",en -http://purl.org/zonmw/covid19/10234,"healthcare",en -http://purl.org/zonmw/covid19/10274,"viral infection",en -http://purl.org/zonmw/covid19/10276,"base call quality score",en -http://purl.org/zonmw/covid19/10271,"viral epidemiology",en -http://purl.org/zonmw/covid19/10273,"viral transmission",en -http://purl.org/zonmw/covid19/10272,"viral evolution",en -http://purl.org/zonmw/covid19/10270,"COVID-19",en -http://purl.org/zonmw/covid19/10275,"base calls",en -http://purl.org/zonmw/covid19/10132,"audiovisual data",en -http://purl.org/zonmw/covid19/10134,"video recording",en -http://purl.org/zonmw/covid19/10136,"field note",en -http://purl.org/zonmw/covid19/10135,"qualitative data",en -http://purl.org/zonmw/covid19/10133,"picture",en -http://purl.org/zonmw/covid19/10131,"GIS data",en -http://purl.org/zonmw/covid19/10130,"map",en -http://purl.org/zonmw/covid19/10138,"social media data",en -http://purl.org/zonmw/covid19/10139,"diaries",en -http://purl.org/zonmw/covid19/10137,"focus group discussion",en -http://purl.org/zonmw/covid19/10030,"social distancing phase",en -http://purl.org/zonmw/covid19/10035,"second wave",en -http://purl.org/zonmw/covid19/10038,"people by age",en -http://purl.org/zonmw/covid19/10036,"third wave",en -http://purl.org/zonmw/covid19/10032,"curefew",en -http://purl.org/zonmw/covid19/10039,"prematures",en -http://purl.org/zonmw/covid19/10033,"COVID-19 phase",en -http://purl.org/zonmw/covid19/10031,"restricted shopping phase",en -http://purl.org/zonmw/covid19/10034,"first wave",en -http://purl.org/zonmw/covid19/10061,"preschooler",en -http://purl.org/zonmw/covid19/10064,"secondary school student",en -http://purl.org/zonmw/covid19/10067,"people by employment",en -http://purl.org/zonmw/covid19/10065,"vocational school student",en -http://purl.org/zonmw/covid19/10062,"daycare child",en -http://purl.org/zonmw/covid19/10063,"primary school student",en -http://purl.org/zonmw/covid19/10060,"people by education",en -http://purl.org/zonmw/covid19/10066,"university student",en -http://purl.org/zonmw/covid19/10069,"individual with high socio-economic status",en -http://purl.org/zonmw/covid19/10068,"individual with low socio-economic status",en -http://purl.org/zonmw/covid19/10220,"COVID-19 vaccination grouping",en -http://purl.org/zonmw/covid19/10227,"virus, immunity and immune response - vaccine studies",en -http://purl.org/zonmw/covid19/10226,"predictive diagnostics and treatment - treatment",en -http://purl.org/zonmw/covid19/10221,"political data",en -http://purl.org/zonmw/covid19/10223,"socio-economic data",en -http://purl.org/zonmw/covid19/10222,"economic data",en -http://purl.org/zonmw/covid19/10228,"care and prevention - organisation of care and prevention",en -http://purl.org/zonmw/covid19/10229,"effects on society - impacts of measurements and strategies",en -http://purl.org/zonmw/covid19/10093,"non-hospitalised covid-19 patient",en -http://purl.org/zonmw/covid19/10095,"Individual after first infection",en -http://purl.org/zonmw/covid19/10091,"COVID-19 patient grouping",en -http://purl.org/zonmw/covid19/10092,"hospitalised covid-19 patient",en -http://purl.org/zonmw/covid19/10098,"target group of policy interventions",en -http://purl.org/zonmw/covid19/10099,"homeless",en -http://purl.org/zonmw/covid19/10090,"blood donor",en -http://purl.org/zonmw/covid19/10094,"long-covid-19 patient",en -http://purl.org/zonmw/covid19/10096,"individual with SARS-CoV-2 vaccination",en -http://purl.org/zonmw/covid19/10097,"individual refusing SARS-CoV-2 vaccination",en -http://purl.org/zonmw/covid19/10000,"deprecated",en -http://purl.org/zonmw/covid19/10005,"provincial",en -http://purl.org/zonmw/covid19/10006,"regional",en -http://purl.org/zonmw/covid19/10003,"urban",en -http://purl.org/zonmw/covid19/10008,"international",en -http://purl.org/zonmw/covid19/10007,"national",en -http://purl.org/zonmw/covid19/10002,"area",en -http://purl.org/zonmw/covid19/10004,"rural",en -http://purl.org/zonmw/covid19/10001,"spatial scope",en -http://purl.org/zonmw/covid19/10009,"care setting",en -http://purl.org/zonmw/covid19/10100,"victim of domestic violence",en -http://purl.org/zonmw/covid19/10101,"illiterate people",en -http://purl.org/zonmw/covid19/10108,"health data",en -http://purl.org/zonmw/covid19/10103,"intellectual disabled",en -http://purl.org/zonmw/covid19/10109,"health record data",en -http://purl.org/zonmw/covid19/10106,"single household person",en -http://purl.org/zonmw/covid19/10102,"physical disabled",en -http://purl.org/zonmw/covid19/10105,"policy-maker",en -http://purl.org/zonmw/covid19/10104,"mental health patient",en -http://purl.org/zonmw/covid19/10187,"laboratory service",en -http://purl.org/zonmw/covid19/10182,"DNA",en -http://purl.org/zonmw/covid19/10181,"cDNA",en -http://purl.org/zonmw/covid19/10183,"RNA",en -http://purl.org/zonmw/covid19/10185,"antibody",en -http://purl.org/zonmw/covid19/10188,"ML-1 laboratory",en -http://purl.org/zonmw/covid19/10184,"protein",en -http://purl.org/zonmw/covid19/10189,"ML-2 laboratory",en -http://purl.org/zonmw/covid19/10078,"individual with a migration background",en -http://purl.org/zonmw/covid19/10070,"employed person",en -http://purl.org/zonmw/covid19/10071,"self-employed individual",en -http://purl.org/zonmw/covid19/10076,"tourist",en -http://purl.org/zonmw/covid19/10077,"people with migration background",en -http://purl.org/zonmw/covid19/10075,"individual living in a care home",en -http://purl.org/zonmw/covid19/10079,"statushouder",en -http://purl.org/zonmw/covid19/10074,"professional care provider",en -http://purl.org/zonmw/covid19/10072,"employee with a temporary contract",en -http://purl.org/zonmw/covid19/10073,"informal care provider",en -http://purl.org/zonmw/covid19/10012,"GP care",en -http://purl.org/zonmw/covid19/10011,"transmural",en -http://purl.org/zonmw/covid19/10013,"nursing home care",en -http://purl.org/zonmw/covid19/10014,"hospital care",en -http://purl.org/zonmw/covid19/10010,"home care",en -http://purl.org/zonmw/covid19/10017,"local",en -http://purl.org/zonmw/covid19/10015,"informal care",en -http://purl.org/zonmw/covid19/10016,"residential care",en -http://purl.org/zonmw/covid19/10019,"acute care",en -http://purl.org/zonmw/covid19/10018,"health care phase",en -http://purl.org/zonmw/covid19/10059,"not specified",en -http://purl.org/zonmw/covid19/10052,"male",en -http://purl.org/zonmw/covid19/10057,"woman",en -http://purl.org/zonmw/covid19/10053,"female",en -http://purl.org/zonmw/covid19/10050,"very elderly",en -http://purl.org/zonmw/covid19/10056,"man",en -http://purl.org/zonmw/covid19/10055,"people by gender",en -http://purl.org/zonmw/covid19/10058,"non-binary",en -http://purl.org/zonmw/covid19/10051,"people by sex",en -http://purl.org/zonmw/covid19/10054,"intersex",en -http://purl.org/zonmw/covid19/10207,"pharmacy",en -http://purl.org/zonmw/covid19/10209,"biobank",en -http://purl.org/zonmw/covid19/10201,"sequencing facility",en -http://purl.org/zonmw/covid19/10204,"data analytics facility",en -http://purl.org/zonmw/covid19/10202,"hiPSC facility",en -http://purl.org/zonmw/covid19/10200,"microscopy facility",en -http://purl.org/zonmw/covid19/10203,"GMP facility",en -http://purl.org/zonmw/covid19/10206,"viral vector facility",en -http://purl.org/zonmw/covid19/10205,"biobank facility",en -http://purl.org/zonmw/covid19/10208,"repository",en -http://purl.org/zonmw/covid19/10044,"primary school children",en -http://purl.org/zonmw/covid19/10047,"young adults",en -http://purl.org/zonmw/covid19/10042,"babies",en -http://purl.org/zonmw/covid19/10045,"teenager",en -http://purl.org/zonmw/covid19/10040,"newborns",en -http://purl.org/zonmw/covid19/10049,"elderly",en -http://purl.org/zonmw/covid19/10046,"young people",en -http://purl.org/zonmw/covid19/10041,"neonates",en -http://purl.org/zonmw/covid19/10043,"small children",en -http://purl.org/zonmw/covid19/10048,"adults",en -http://purl.org/zonmw/covid19/10161,"sewage",en -http://purl.org/zonmw/covid19/10164,"tissue",en -http://purl.org/zonmw/covid19/10162,"sputum",en -http://purl.org/zonmw/covid19/10160,"serum",en -http://purl.org/zonmw/covid19/10163,"tear",en -http://purl.org/zonmw/covid19/10165,"urine",en -http://purl.org/zonmw/covid19/10167,"nutrition",en -http://purl.org/zonmw/covid19/10166,"peripheral blood mononuclear cell",en -http://purl.org/zonmw/covid19/10168,"cervicovaginal secretion",en -http://purl.org/zonmw/covid19/10080,"asylum seeker",en -http://purl.org/zonmw/covid19/10081,"undocumented migrant",en -http://purl.org/zonmw/covid19/10082,"season labour migrant",en -http://purl.org/zonmw/covid19/10083,"people by COVID-19 risk factors",en -http://purl.org/zonmw/covid19/10088,"patient using anticoagulants",en -http://purl.org/zonmw/covid19/10086,"patient with (covid-19 associated) thrombosis",en -http://purl.org/zonmw/covid19/10087,"individual with obesity",en -http://purl.org/zonmw/covid19/10085,"individual with underlying disease(s)",en -http://purl.org/zonmw/covid19/10084,"individual with a chronic illness",en -http://purl.org/zonmw/covid19/10089,"surgical patient",en -http://purl.org/zonmw/covid19/10264,"genomics",en -http://purl.org/zonmw/covid19/10268,"performed by a certified laboratory",en -http://purl.org/zonmw/covid19/10265,"sequence length",en -http://purl.org/zonmw/covid19/10269,"SARS-CoV-2",en -http://purl.org/zonmw/covid19/10267,"date of last PRC test",en -http://purl.org/zonmw/covid19/10262,"personal information data",en -http://purl.org/zonmw/covid19/10263,"neighbourhood",en -http://purl.org/zonmw/covid19/10260,"virus, immunity and immune response - immune compromised",en -http://purl.org/zonmw/covid19/10261,"virus, immunity and immune response - safety and side effects",en -http://purl.org/zonmw/covid19/10266,"genetic variation",en -http://purl.org/zonmw/covid19/10257,"effects on society - ethical issues",en -http://purl.org/zonmw/covid19/10252,"predictive diagnostics and treatment - Long COVID",en -http://purl.org/zonmw/covid19/10251,"predictive diagnostics and treatment - recovery and rehabilitation",en -http://purl.org/zonmw/covid19/10255,"care and prevention - palliative care and bereavement",en -http://purl.org/zonmw/covid19/10254,"care and prevention - transmission and epidemiology",en -http://purl.org/zonmw/covid19/10259,"virus, immunity and immune response - immunology",en -http://purl.org/zonmw/covid19/10250,"predictive diagnostics and treatment - studies into clinical treatments",en -http://purl.org/zonmw/covid19/10253,"care and prevention - care and prevention for vulnerable citizens",en -http://purl.org/zonmw/covid19/10258,"virus, immunity and immune response - animal free innovations",en -http://purl.org/zonmw/covid19/10256,"effects on society - economic resilience",en -http://purl.org/zonmw/covid19/10211,"ELSI service",en -http://purl.org/zonmw/covid19/10210,"data catalogue",en -http://purl.org/zonmw/covid19/10111,"diagnostic data",en -http://purl.org/zonmw/covid19/10114,"treatment data",en -http://purl.org/zonmw/covid19/10119,"magnetic resonance imaging",en -http://purl.org/zonmw/covid19/10112,"physiological data",en -http://purl.org/zonmw/covid19/10115,"medication data",en -http://purl.org/zonmw/covid19/10116,"molecular data",en -http://purl.org/zonmw/covid19/10118,"diagnostic imaging",en -http://purl.org/zonmw/covid19/10110,"medical history data",en -http://purl.org/zonmw/covid19/10113,"laboratory data",en -http://purl.org/zonmw/covid19/10117,"genetic data",en -http://purl.org/zonmw/id-amr/10022,"screening phase",en -http://purl.org/zonmw/id-amr/10044,"wastewater",en -http://purl.org/zonmw/id-amr/10139,"plasma, single spun",en -http://purl.org/zonmw/id-amr/10237,"open only through collaboration",en -http://purl.org/zonmw/id-amr/10010,"vector-borne disease",en -http://purl.org/zonmw/id-amr/10167,"amplifiablility of nucleic acids",en -http://purl.org/zonmw/id-amr/10250,"sensitive information",en -http://purl.org/zonmw/id-amr/10100,"fruit",en -http://purl.org/zonmw/id-amr/10112,"bone marrow aspirate",en -http://purl.org/zonmw/id-amr/10000,"deprecated",en -http://purl.org/zonmw/id-amr/10105,"pulse - bean",en -http://purl.org/zonmw/id-amr/10104,"oil seed",en -http://purl.org/zonmw/id-amr/10024,"disease phase",en -http://purl.org/zonmw/id-amr/10262,"storage",en -http://purl.org/zonmw/id-amr/10060,"poultry",en -http://purl.org/zonmw/id-amr/10061,"insect",en -http://purl.org/zonmw/id-amr/10073,"health status data",en -http://purl.org/zonmw/id-amr/10201,"data integration",en -http://purl.org/zonmw/id-amr/10045,"water",en -http://purl.org/zonmw/id-amr/10200,"data analysis",en -http://purl.org/zonmw/id-amr/10047,"livestock",en -http://purl.org/zonmw/id-amr/10207,"training",en -http://purl.org/zonmw/id-amr/10110,"blood (whole)",en -http://purl.org/zonmw/id-amr/10236,"open in response to specific calls",en -http://purl.org/zonmw/id-amr/10035,"subject having antimicrobial treatment",en -http://purl.org/zonmw/id-amr/10097,"synovial fluid specimen",en -http://purl.org/zonmw/id-amr/10151,"urine, 24 h",en -http://purl.org/zonmw/id-amr/10127,"disrupted tissue, non-viable",en -http://purl.org/zonmw/id-amr/10253,"viral disease",en -http://purl.org/zonmw/id-amr/10102,"crop",en -http://purl.org/zonmw/id-amr/10192,"clinical records",en -http://purl.org/zonmw/id-amr/10255,"fungal disease",en -http://purl.org/zonmw/id-amr/10071,"imaging data",en -http://purl.org/zonmw/id-amr/10052,"sheep (wool)",en -http://purl.org/zonmw/id-amr/10179,"quality control of microbiological material",en -http://purl.org/zonmw/id-amr/10117,"cells from laser capture microdissected tissue",en -http://purl.org/zonmw/id-amr/10223,"in progress",en -http://purl.org/zonmw/id-amr/10132,"hair",en -http://purl.org/zonmw/id-amr/10011,"prion disease",en -http://purl.org/zonmw/id-amr/10258,"disease caused by insects",en -http://purl.org/zonmw/id-amr/10145,"solid tissue",en -http://purl.org/zonmw/id-amr/10015,"human domain",en -http://purl.org/zonmw/id-amr/10251,"yes, and it is GDPR compliant",en -http://purl.org/zonmw/id-amr/10240,"closed to access",en -http://purl.org/zonmw/id-amr/10004,"transmission",en -http://purl.org/zonmw/id-amr/10048,"diary cattle",en -http://purl.org/zonmw/id-amr/10257,"phytoplasma disease",en -http://purl.org/zonmw/id-amr/10170,"type of primary container",en -http://purl.org/zonmw/id-amr/10123,"cord blood",en -http://purl.org/zonmw/id-amr/10229,"genetic analysis restriction",en -http://purl.org/zonmw/id-amr/10265,"centrifugation information",en -http://purl.org/zonmw/id-amr/10147,"stool",en -http://purl.org/zonmw/id-amr/10008,"stewardship",en -http://purl.org/zonmw/id-amr/10137,"placenta",en -http://purl.org/zonmw/id-amr/10066,"aquaculture",en -http://purl.org/zonmw/id-amr/10141,"red blood cells",en -http://purl.org/zonmw/id-amr/10103,"cereal",en -http://purl.org/zonmw/id-amr/10217,"company department",en -http://purl.org/zonmw/id-amr/10058,"broiler",en -http://purl.org/zonmw/id-amr/10129,"enriched (physicochemically) circulating tumor cells",en -http://purl.org/zonmw/id-amr/10030,"subject with a viral infection",en -http://purl.org/zonmw/id-amr/10085,"protein",en -http://purl.org/zonmw/id-amr/10126,"dental pulp",en -http://purl.org/zonmw/id-amr/10051,"buffalo",en -http://purl.org/zonmw/id-amr/10209,"national registries data",en -http://purl.org/zonmw/id-amr/10036,"subject having vaccination",en -http://purl.org/zonmw/id-amr/10122,"cerebrospinal fluid",en -http://purl.org/zonmw/id-amr/10120,"cells from non-blood specimen type (e.g. dissociated tissue), non-viable",en -http://purl.org/zonmw/id-amr/10094,"specimen from geinital system",en -http://purl.org/zonmw/id-amr/10118,"cells from non blood specimen type (e.g. ascites, amniotic), non-viable",en -http://purl.org/zonmw/id-amr/10018,"environmental domain",en -http://purl.org/zonmw/id-amr/10161,"biomedical device",en -http://purl.org/zonmw/id-amr/10228,"export restriction",en -http://purl.org/zonmw/id-amr/10107,"detailed type of specimen",en -http://purl.org/zonmw/id-amr/10050,"beef cattle",en -http://purl.org/zonmw/id-amr/10213,"laboratory",en -http://purl.org/zonmw/id-amr/10256,"nematode disease",en -http://purl.org/zonmw/id-amr/10152,"urine, first morning",en -http://purl.org/zonmw/id-amr/10041,"infectious agent having antimicrobial resistance",en -http://purl.org/zonmw/id-amr/10162,"quality control of biomaterials",en -http://purl.org/zonmw/id-amr/10186,"less frequently",en -http://purl.org/zonmw/id-amr/10029,"subject with a bacterial infection",en -http://purl.org/zonmw/id-amr/10149,"tears",en -http://purl.org/zonmw/id-amr/10243,"up to one year",en -http://purl.org/zonmw/id-amr/10157,"animal material",en -http://purl.org/zonmw/id-amr/10184,"every two years",en -http://purl.org/zonmw/id-amr/10171,"pre-centrifugation conditions",en -http://purl.org/zonmw/id-amr/10033,"subject with risk of bacterial infection",en -http://purl.org/zonmw/id-amr/10128,"dried whole blood (e.g. guthrie cards)",en -http://purl.org/zonmw/id-amr/10172,"centrifugation conditions",en -http://purl.org/zonmw/id-amr/10266,"viability frequency",en -http://purl.org/zonmw/id-amr/10108,"amniotic fluid",en -http://purl.org/zonmw/id-amr/10165,"concentration of molecular or cellular derivatives",en -http://purl.org/zonmw/id-amr/10009,"zoonotic disease",en -http://purl.org/zonmw/id-amr/10225,"consent restriction",en -http://purl.org/zonmw/id-amr/10241,"time frame",en -http://purl.org/zonmw/id-amr/10227,"disease area restriction",en -http://purl.org/zonmw/id-amr/10062,"wildlife",en -http://purl.org/zonmw/id-amr/10072,"data regarding antimicrobial resistance",en -http://purl.org/zonmw/id-amr/10246,"data quality",en -http://purl.org/zonmw/id-amr/10089,"blood specimen",en -http://purl.org/zonmw/id-amr/10185,"every five years",en -http://purl.org/zonmw/id-amr/10059,"layer",en -http://purl.org/zonmw/id-amr/10087,"outbreak",en -http://purl.org/zonmw/id-amr/10219,"private funding",en -http://purl.org/zonmw/id-amr/10040,"infectious agent",en -http://purl.org/zonmw/id-amr/10106,"tree nut",en -http://purl.org/zonmw/id-amr/10125,"density-gradient-centrifugation-separated mononuclear cells, viable",en -http://purl.org/zonmw/id-amr/10115,"buccal cells",en -http://purl.org/zonmw/id-amr/10046,"air",en -http://purl.org/zonmw/id-amr/10135,"non-density-gradient-centrifugation-separated buffy coat, non-viable",en -http://purl.org/zonmw/id-amr/10242,"up to one month",en -http://purl.org/zonmw/id-amr/10053,"sheep (milk)",en -http://purl.org/zonmw/id-amr/10034,"subject with risk of viral infection",en -http://purl.org/zonmw/id-amr/10037,"subject having other treatments",en -http://purl.org/zonmw/id-amr/10208,"communication",en -http://purl.org/zonmw/id-amr/10101,"vegetable",en -http://purl.org/zonmw/id-amr/10049,"veal calve",en -http://purl.org/zonmw/id-amr/10013,"prudent use",en -http://purl.org/zonmw/id-amr/10216,"reference centre",en -http://purl.org/zonmw/id-amr/10160,"solution",en -http://purl.org/zonmw/id-amr/10001,"therapeutics",en -http://purl.org/zonmw/id-amr/10038,"subject by age",en -http://purl.org/zonmw/id-amr/10063,"companion animal",en -http://purl.org/zonmw/id-amr/10021,"diagnostic phase",en -http://purl.org/zonmw/id-amr/10109,"ascites fluid",en -http://purl.org/zonmw/id-amr/10131,"fresh cells from non-blood specimen type (e.g. biopsy)",en -http://purl.org/zonmw/id-amr/10111,"bone",en -http://purl.org/zonmw/id-amr/10196,"patient ethnicity data",en -http://purl.org/zonmw/id-amr/10005,"intervention",en -http://purl.org/zonmw/id-amr/10057,"pig",en -http://purl.org/zonmw/id-amr/10218,"public funding",en -http://purl.org/zonmw/id-amr/10133,"nails",en -http://purl.org/zonmw/id-amr/10222,"not started",en -http://purl.org/zonmw/id-amr/10006,"preparedness and response",en -http://purl.org/zonmw/id-amr/10191,"sequencing - genotyping data",en -http://purl.org/zonmw/id-amr/10164,"quality management of pre-analytical data",en -http://purl.org/zonmw/id-amr/10181,"purity of microbiological material",en -http://purl.org/zonmw/id-amr/10264,"storage information",en -http://purl.org/zonmw/id-amr/10090,"bronchoalveolar lavage fluid sample",en -http://purl.org/zonmw/id-amr/10263,"centrifugation",en -http://purl.org/zonmw/id-amr/10025,"free-from-disease phase",en -http://purl.org/zonmw/id-amr/10252,"yes, but it is not (yet) GDPR compliant",en -http://purl.org/zonmw/id-amr/10210,"organisation level",en -http://purl.org/zonmw/id-amr/10198,"experimental data",en -http://purl.org/zonmw/id-amr/10221,"collection status",en -http://purl.org/zonmw/id-amr/10043,"soil-waste",en -http://purl.org/zonmw/id-amr/10142,"saliva",en -http://purl.org/zonmw/id-amr/10182,"viability of microbiological material",en -http://purl.org/zonmw/id-amr/10204,"providing reference materials",en -http://purl.org/zonmw/id-amr/10224,"completed",en -http://purl.org/zonmw/id-amr/10193,"follow-up records",en -http://purl.org/zonmw/id-amr/10017,"environment",en -http://purl.org/zonmw/id-amr/10158,"specimen from environment",en -http://purl.org/zonmw/id-amr/10247,"data plausibility",en -http://purl.org/zonmw/id-amr/10195,"surveillance data",en -http://purl.org/zonmw/id-amr/10113,"breast milk",en -http://purl.org/zonmw/id-amr/10220,"charity of philanthropic funding",en -http://purl.org/zonmw/id-amr/10174,"storage temperature for long-term preservation",en -http://purl.org/zonmw/id-amr/10084,"domain",en -http://purl.org/zonmw/id-amr/10150,"teeth",en -http://purl.org/zonmw/id-amr/10121,"cells from non-blood specimen type (e.g. dissociated tissue), viable",en -http://purl.org/zonmw/id-amr/10173,"post-centrifugation conditions",en -http://purl.org/zonmw/id-amr/10146,"sputum",en -http://purl.org/zonmw/id-amr/10114,"bronchoalveolar lavage",en -http://purl.org/zonmw/id-amr/10055,"goat (milk)",en -http://purl.org/zonmw/id-amr/10154,"urine, timed",en -http://purl.org/zonmw/id-amr/10134,"nasal washing",en -http://purl.org/zonmw/id-amr/10143,"semen",en -http://purl.org/zonmw/id-amr/10116,"cells from fine needle aspirate",en -http://purl.org/zonmw/id-amr/10119,"cells from non blood specimen type (e.g. ascites, amniotic), viable",en -http://purl.org/zonmw/id-amr/10245,"three years or longer",en -http://purl.org/zonmw/id-amr/10159,"plant specimen",en -http://purl.org/zonmw/id-amr/10234,"open to everyone",en -http://purl.org/zonmw/id-amr/10202,"digital imaging",en -http://purl.org/zonmw/id-amr/10248,"data completeness",en -http://purl.org/zonmw/id-amr/10260,"non-infectious disease",en -http://purl.org/zonmw/id-amr/10140,"pleural fluid",en -http://purl.org/zonmw/id-amr/10093,"skin swab",en -http://purl.org/zonmw/id-amr/10183,"once every year",en -http://purl.org/zonmw/id-amr/10148,"synovial fluid",en -http://purl.org/zonmw/id-amr/10002,"surveillance",en -http://purl.org/zonmw/id-amr/10068,"epidemiological data",en -http://purl.org/zonmw/id-amr/10016,"animal domain",en -http://purl.org/zonmw/id-amr/10042,"soil",en -http://purl.org/zonmw/id-amr/10070,"complete medical records",en -http://purl.org/zonmw/id-amr/10259,"parasite disease",en -http://purl.org/zonmw/id-amr/10092,"respiratory sample",en -http://purl.org/zonmw/id-amr/10086,"antibody",en -http://purl.org/zonmw/id-amr/10194,"monitoring data",en -http://purl.org/zonmw/id-amr/10197,"quality data",en -http://purl.org/zonmw/id-amr/10187,"integrity of nucleic acids",en -http://purl.org/zonmw/id-amr/10074,"taxonomical data",en -http://purl.org/zonmw/id-amr/10205,"quality control",en -http://purl.org/zonmw/id-amr/10231,"project specific restriction",en -http://purl.org/zonmw/id-amr/10069,"diagnostics usage data",en -http://purl.org/zonmw/id-amr/10156,"human material",en -http://purl.org/zonmw/id-amr/10214,"research group",en -http://purl.org/zonmw/id-amr/10136,"non-density-gradient-centrifugation-separated buffy coat, viable",en -http://purl.org/zonmw/id-amr/10211,"university faculty",en -http://purl.org/zonmw/id-amr/10096,"stool specimen",en -http://purl.org/zonmw/id-amr/10007,"infection prevention",en -http://purl.org/zonmw/id-amr/10215,"specific research project",en -http://purl.org/zonmw/id-amr/10190,"physiological - biochemical measurement",en -http://purl.org/zonmw/id-amr/10166,"purity of nucleic acids",en -http://purl.org/zonmw/id-amr/10254,"bacterial disease",en -http://purl.org/zonmw/id-amr/10163,"pre-analytical data",en -http://purl.org/zonmw/id-amr/10212,"university hospital",en -http://purl.org/zonmw/id-amr/10232,"scope of use restriction",en -http://purl.org/zonmw/id-amr/10031,"subject with an unknown infection",en -http://purl.org/zonmw/id-amr/10233,"access condition",en -http://purl.org/zonmw/id-amr/10056,"horse",en -http://purl.org/zonmw/id-amr/10153,"urine, random",en -http://purl.org/zonmw/id-amr/10023,"intervention phase",en -http://purl.org/zonmw/id-amr/10091,"cerebrospinal fluid sample",en -http://purl.org/zonmw/id-amr/10095,"specimen of unknown material",en -http://purl.org/zonmw/id-amr/10032,"subject with risk of infection",en -http://purl.org/zonmw/id-amr/10155,"isolation source",en -http://purl.org/zonmw/id-amr/10168,"storage format for long-term preservation",en -http://purl.org/zonmw/id-amr/10012,"microbiome",en -http://purl.org/zonmw/id-amr/10144,"serum",en -http://purl.org/zonmw/id-amr/10230,"human genetic analysis restriction",en -http://purl.org/zonmw/id-amr/10203,"FAIRification service",en -http://purl.org/zonmw/id-amr/10138,"plasma, double spun",en -http://purl.org/zonmw/id-amr/10239,"access restricted at present",en -http://purl.org/zonmw/id-amr/10180,"authenticity of microbiological material",en -http://purl.org/zonmw/id-amr/10199,"biospecimen processing",en -http://purl.org/zonmw/id-amr/10065,"fungus",en -http://purl.org/zonmw/id-amr/10244,"up to three years",en -http://purl.org/zonmw/id-amr/10235,"open to applicants",en -http://purl.org/zonmw/id-amr/10188,"food specimen",en -http://purl.org/zonmw/id-amr/10206,"regulatory",en -http://purl.org/zonmw/id-amr/10249,"data accuracy",en -http://purl.org/zonmw/id-amr/10099,"body fluid sample",en -http://purl.org/zonmw/id-amr/10124,"density-gradient-centrifugation-separated mononuclear cells, non viable",en -http://purl.org/zonmw/id-amr/10054,"goat (meat)",en -http://purl.org/zonmw/id-amr/10226,"commerial resctriction",en -http://purl.org/zonmw/id-amr/10028,"subject with an infection",en -http://purl.org/zonmw/id-amr/10238,"data access only",en -http://purl.org/zonmw/id-amr/10130,"fresh cells from non-blood specimen type",en -http://purl.org/zonmw/id-amr/10261,"funding type",en -http://purl.org/zonmw/id-amr/10039,"subject by sex",en -http://purl.org/zonmw/id-amr/10088,"biopsy sample",en -http://purl.org/zonmw/id-amr/10098,"urine specimen",en -http://purl.org/zonmw/generic/10082,"project manager",en -http://purl.org/zonmw/generic/10089,"contact person",en -http://purl.org/zonmw/generic/10084,"reseacher",en -http://purl.org/zonmw/generic/10087,"supervisor",en -http://purl.org/zonmw/generic/10083,"project member",en -http://purl.org/zonmw/generic/10086,"rights holder",en -http://purl.org/zonmw/generic/10080,"distributor",en -http://purl.org/zonmw/generic/10085,"editor",en -http://purl.org/zonmw/generic/10081,"project leader",en -http://purl.org/zonmw/generic/10088,"work package leader",en -http://purl.org/zonmw/generic/10042,"IKNL - Netherlands Comprehensive Cancer Organisation",en -http://purl.org/zonmw/generic/10048,"Netherlands Heart Institute",en -http://purl.org/zonmw/generic/10044,"Leiden University Medical Center",en -http://purl.org/zonmw/generic/10040,"Hogeschool Leiden - University of Applied Sciences Leiden",en -http://purl.org/zonmw/generic/10047,"Netherlands Comprehensive Cancer Organisation",en -http://purl.org/zonmw/generic/10046,"Maastricht University Medical Centre",en -http://purl.org/zonmw/generic/10045,"Maastricht University",en -http://purl.org/zonmw/generic/10041,"Hogeschool van Amsterdam - Amsterdam University of Applied Sciences",en -http://purl.org/zonmw/generic/10043,"Leiden University",en -http://purl.org/zonmw/generic/10049,"NIVEL - Netherlands Institute for Health Services Research",en -http://purl.org/zonmw/generic/10111,"RTF - Rich Text File",en -http://purl.org/zonmw/generic/10115,"HTML - Hypertext Markup Language",en -http://purl.org/zonmw/generic/10114,"XML - eXtensivle Markup Language",en -http://purl.org/zonmw/generic/10116,"CSS - Cascading Style Sheets",en -http://purl.org/zonmw/generic/10119,"ES - ECMAScript",en -http://purl.org/zonmw/generic/10117,"XSLT - Extensible Stylesheet Language Transformations",en -http://purl.org/zonmw/generic/10113,"TXT - Non-Unicode text",en -http://purl.org/zonmw/generic/10110,"DOCX - Office Open XML",en -http://purl.org/zonmw/generic/10118,"JS - JavaScript",en -http://purl.org/zonmw/generic/10112,"TXT - Unicode text",en -http://purl.org/zonmw/generic/10022,"property",en -http://purl.org/zonmw/generic/10027,"institution",en -http://purl.org/zonmw/generic/10025,"animal",en -http://purl.org/zonmw/generic/10023,"constraint",en -http://purl.org/zonmw/generic/10021,"variable",en -http://purl.org/zonmw/generic/10029,"Amsterdam Health and Technology Institute - AHTI",en -http://purl.org/zonmw/generic/10028,"Academic Medical Center - Amsterdam UMC",en -http://purl.org/zonmw/generic/10026,"disease",en -http://purl.org/zonmw/generic/10020,"framework",en -http://purl.org/zonmw/generic/10024,"microorganism",en -http://purl.org/zonmw/generic/10077,"data manager",en -http://purl.org/zonmw/generic/10078,"data curator",en -http://purl.org/zonmw/generic/10073,"Wageningen University & Research",en -http://purl.org/zonmw/generic/10075,"contributor type",en -http://purl.org/zonmw/generic/10071,"VU Amsterdam",en -http://purl.org/zonmw/generic/10072,"VU University Medical Center",en -http://purl.org/zonmw/generic/10070,"Veiligheids- en Gezondheidsregio Gelderland-Midden",en -http://purl.org/zonmw/generic/10074,"ZonMw - Netherlands Organisation for Health Research and Development",en -http://purl.org/zonmw/generic/10076,"data collector",en -http://purl.org/zonmw/generic/10079,"sponsor",en -http://purl.org/zonmw/generic/10130,"SIARD - Software Independent Archiving of Relational Databases",en -http://purl.org/zonmw/generic/10131,"Microsoft Access",en -http://purl.org/zonmw/generic/10137,"JPEG - Joint Photographic Expert Group",en -http://purl.org/zonmw/generic/10133,"HDF5 - Hierarchical Data Format",en -http://purl.org/zonmw/generic/10132,"DBF - dBase",en -http://purl.org/zonmw/generic/10134,"SPSS",en -http://purl.org/zonmw/generic/10139,"TIFF - Tagged Image File Format",en -http://purl.org/zonmw/generic/10138,"JPEG 2000",en -http://purl.org/zonmw/generic/10136,"R",en -http://purl.org/zonmw/generic/10135,"STATA",en -http://purl.org/zonmw/generic/10158,"Turtle",en -http://purl.org/zonmw/generic/10155,"Polygon file format",en -http://purl.org/zonmw/generic/10157,"TriG",en -http://purl.org/zonmw/generic/10159,"NTriples",en -http://purl.org/zonmw/generic/10152,"GeoTIFF",en -http://purl.org/zonmw/generic/10151,"GeoJSON",en -http://purl.org/zonmw/generic/10156,"RDF - Resource Description Framework",en -http://purl.org/zonmw/generic/10150,"MIF/MID - MapInfo Interchange Format",en -http://purl.org/zonmw/generic/10153,"ASCII GRID",en -http://purl.org/zonmw/generic/10154,"WaveFront Object",en -http://purl.org/zonmw/generic/10038,"GGD Zuid Holland Zuid",en -http://purl.org/zonmw/generic/10037,"GGD Amsterdam - Public Health Service of Amsterdam",en -http://purl.org/zonmw/generic/10033,"Erasmus MC",en -http://purl.org/zonmw/generic/10039,"GO FAIR Foundation",en -http://purl.org/zonmw/generic/10030,"Delft University of Technology",en -http://purl.org/zonmw/generic/10031,"Eindhoven University of Technology",en -http://purl.org/zonmw/generic/10034,"Erasmus University Rotterdam",en -http://purl.org/zonmw/generic/10035,"Expertisecentrum Nederlands",en -http://purl.org/zonmw/generic/10036,"Federal University of Rio de Janeiro",en -http://purl.org/zonmw/generic/10032,"Erasmus Centrum voor Zorgbestuur",en -http://purl.org/zonmw/generic/10142,"SVG - Scalable Vector Graphics",en -http://purl.org/zonmw/generic/10147,"OPUS",en -http://purl.org/zonmw/generic/10144,"MXF - Material Exchange Format",en -http://purl.org/zonmw/generic/10140,"PNG - Portable Network Graphics",en -http://purl.org/zonmw/generic/10146,"FLAC - Free Lossless Audio Codec",en -http://purl.org/zonmw/generic/10141,"DICOM - Digital Imaging and Communications in Medicine",en -http://purl.org/zonmw/generic/10148,"DXF - AutoCAD DXF version R12 (ASCII)",en -http://purl.org/zonmw/generic/10143,"BWF - Broadcast Wave Format",en -http://purl.org/zonmw/generic/10145,"MKA - Matroska",en -http://purl.org/zonmw/generic/10149,"GML - Geography Markup Language",en -http://purl.org/zonmw/generic/10094,"none",en -http://purl.org/zonmw/generic/10090,"bacterium",en -http://purl.org/zonmw/generic/10093,"fungus",en -http://purl.org/zonmw/generic/10096,"animal disease",en -http://purl.org/zonmw/generic/10097,"plant disease",en -http://purl.org/zonmw/generic/10095,"human disease",en -http://purl.org/zonmw/generic/10091,"prion",en -http://purl.org/zonmw/generic/10099,"generic answer options",en -http://purl.org/zonmw/generic/10092,"virus",en -http://purl.org/zonmw/generic/10098,"plant",en -http://purl.org/zonmw/generic/10005,"data",en -http://purl.org/zonmw/generic/10006,"other",en -http://purl.org/zonmw/generic/10000,"deprecated",en -http://purl.org/zonmw/generic/10002,"subject",en -http://purl.org/zonmw/generic/10004,"population group",en -http://purl.org/zonmw/generic/10008,"organism",en -http://purl.org/zonmw/generic/10009,"specimen",en -http://purl.org/zonmw/generic/10003,"temporal scope",en -http://purl.org/zonmw/generic/10001,"focus area",en -http://purl.org/zonmw/generic/10007,"biomaterial",en -http://purl.org/zonmw/generic/10160,"JSON-LD",en -http://purl.org/zonmw/generic/10161,"REFI-QDA - Qualitative Data Analysis",en -http://purl.org/zonmw/generic/10052,"Public Procurement Research Centre - PPRC",en -http://purl.org/zonmw/generic/10057,"Sanquin",en -http://purl.org/zonmw/generic/10055,"Reade Research BV",en -http://purl.org/zonmw/generic/10054,"Radboud University Nijmegen Medical Centre",en -http://purl.org/zonmw/generic/10056,"RIVM - National Institute for Public Health and the Environment",en -http://purl.org/zonmw/generic/10051,"Public Health Service of Amsterdam",en -http://purl.org/zonmw/generic/10059,"SEO Economisch Onderzoek",en -http://purl.org/zonmw/generic/10050,"NSCR - Netherlands Institute for the Study of Crime and Law Enforcement",en -http://purl.org/zonmw/generic/10058,"Saxion University of Applied Sciences",en -http://purl.org/zonmw/generic/10053,"Radboud University Nijmegen",en -http://purl.org/zonmw/generic/10129,"SQL - Structured Query Language",en -http://purl.org/zonmw/generic/10123,"NetCDF - Network Common Data Form",en -http://purl.org/zonmw/generic/10122,"MATLAB",en -http://purl.org/zonmw/generic/10121,"MD - Markdown",en -http://purl.org/zonmw/generic/10126,"CSV - Comma Separated Values",en -http://purl.org/zonmw/generic/10125,"ODS",en -http://purl.org/zonmw/generic/10120,"SGML - Standard Generalized Markup Language",en -http://purl.org/zonmw/generic/10127,"XLS - Microsoft Excel",en -http://purl.org/zonmw/generic/10124,"TF - Text-Fabric",en -http://purl.org/zonmw/generic/10128,"XLSX - Office Open XML Workbook",en -http://purl.org/zonmw/generic/10019,"guideline",en -http://purl.org/zonmw/generic/10010,"substance",en -http://purl.org/zonmw/generic/10017,"technical standard",en -http://purl.org/zonmw/generic/10015,"metadata standard",en -http://purl.org/zonmw/generic/10018,"conceptual model",en -http://purl.org/zonmw/generic/10011,"macromolecule",en -http://purl.org/zonmw/generic/10016,"semantic artefact",en -http://purl.org/zonmw/generic/10013,"service",en -http://purl.org/zonmw/generic/10014,"standard",en -http://purl.org/zonmw/generic/10062,"TNO - Netherlands Organisation for Applied Scientific Research",en -http://purl.org/zonmw/generic/10064,"University Medical Center Utrecht",en -http://purl.org/zonmw/generic/10069,"Utrecht University",en -http://purl.org/zonmw/generic/10068,"University of Twente",en -http://purl.org/zonmw/generic/10061,"Tilburg University",en -http://purl.org/zonmw/generic/10060,"Spaarne Gasthuis - Spaarne Ziekenhuis",en -http://purl.org/zonmw/generic/10066,"University of Groningen",en -http://purl.org/zonmw/generic/10063,"University Medical Center Groningen",en -http://purl.org/zonmw/generic/10065,"University of Amsterdam",en -http://purl.org/zonmw/generic/10067,"University of Humanistic Studies",en -http://purl.org/zonmw/generic/10101,"no",en -http://purl.org/zonmw/generic/10108,"ODT - Open Document",en -http://purl.org/zonmw/generic/10100,"yes",en -http://purl.org/zonmw/generic/10109,"DOC - Microsoft Word",en -http://purl.org/zonmw/generic/10103,"unknown",en -http://purl.org/zonmw/generic/10106,"PDF/A - Portable Document Format for archiving",en -http://purl.org/zonmw/generic/10107,"PDF - Portable Document Format",en -http://purl.org/zonmw/generic/10105,"media type",en -http://purl.org/zonmw/generic/10104,"protozoa",en -http://purl.org/zonmw/generic/10102,"funder institution",en -access_rights,"Access Rights",en -access_rights,"Toegangsrechten",nl -organization,"Publishers",en -organization,"Uitgevers",nl -publisher_name,"Publishers",en -publisher_name,"Uitgevers",nl -res_format,"File Formats",en -res_format,"Bestandstype",nl -spatial,"Spatial Coverage",en -spatial,"Spatiële dekking",nl -tags,"Keywords",en -tags,"Trefwoorden",nl -theme,"Themes",en -theme,"Themas",nl diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license deleted file mode 100644 index 62fd8897e..000000000 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: Stichting Health-RI -# SPDX-FileContributor: PNED G.I.E. -# SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh index 022efe48e..2b8b2b3e3 100644 --- a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh +++ b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh @@ -5,4 +5,4 @@ #!/bin/sh # Dump environment variables to a file that will be sourced by cron -printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh +#printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh diff --git a/ckan/docker-entrypoint.d/upload_vocabulary.sh b/ckan/docker-entrypoint.d/upload_vocabulary.sh deleted file mode 100644 index 9ad234a6f..000000000 --- a/ckan/docker-entrypoint.d/upload_vocabulary.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: Stichting Health-RI -# SPDX-License-Identifier: AGPL-3.0-only - -set -e - -psql $CKAN_SQLALCHEMY_URL <<-EOSQL - - SELECT - EXISTS(SELECT 1 FROM public.term_translation) as table_not_empty - \gset - \if :table_not_empty - \echo 'term_translation table is not empty, updating' - create table public.temp (term text, term_translation text, lang_code text); - \copy public.temp FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); - delete from public.term_translation using public.temp where public.term_translation.term = public.temp.term and public.term_translation.term_translation = public.temp.term_translation and public.term_translation.lang_code = public.temp.lang_code; - insert into public.term_translation (term, term_translation, lang_code) select term, term_translation, lang_code from public.temp; - drop table public.temp; - \else - \copy public.term_translation FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); - \echo 'term_translation initialized with common_vocabulary_tags.csv' - \endif - -EOSQL diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 145beed77..1e27db4e3 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -4,11 +4,9 @@ # SPDX-License-Identifier: AGPL-3.0-only import os -import pwd import sys import subprocess import psycopg2 - try: from urllib.request import urlopen from urllib.error import URLError @@ -33,8 +31,8 @@ def update_plugins(): cmd = ["ckan", "config-tool", ckan_ini, "ckan.plugins = {}".format(plugins)] subprocess.check_output(cmd, stderr=subprocess.STDOUT) print("[prerun] Plugins set.") - - + + def update_database(): sqlalchemy_url = os.environ.get("CKAN_SQLALCHEMY_URL", "") @@ -99,13 +97,12 @@ def check_solr_connection(retry=None): check_solr_connection(retry=retry - 1) else: import re - conn_info = connection.read() schema_name = json.loads(conn_info) - if "ckan" in schema_name["name"]: - print("[prerun] Succesfully connected to solr and CKAN schema loaded") + if 'ckan' in schema_name['name']: + print('[prerun] Succesfully connected to solr and CKAN schema loaded') else: - print("[prerun] Succesfully connected to solr, but CKAN schema not found") + print('[prerun] Succesfully connected to solr, but CKAN schema not found') def init_db(): @@ -183,19 +180,11 @@ def create_sysadmin(): # cleanup permissions # We're running as root before pivoting to uwsgi and dropping privs - data_dir = "%s/storage" % os.environ["CKAN_STORAGE_PATH"] - - try: - user_name = "ckan-sys" - pwd.getpwnam(user_name) - command = ["chown", "-R", "ckan:ckan-sys", data_dir] - except KeyError: - user_name = "ckan" - command = ["chown", "-R", "ckan:ckan", data_dir] - subprocess.call(command) - - print("[prerun] Ensured storage directory is owned by {}".format(user_name)) + data_dir = "%s/storage" % os.environ['CKAN_STORAGE_PATH'] + command = ["chown", "-R", "ckan:ckan-sys", data_dir] + subprocess.call(command) + print("[prerun] Ensured storage directory is owned by ckan") if __name__ == "__main__": @@ -204,10 +193,10 @@ def create_sysadmin(): if maintenance: print("[prerun] Maintenance mode, skipping setup...") else: - update_plugins() - update_database() check_main_db_connection() init_db() + update_plugins() + update_database() init_db_harvest() check_solr_connection() - create_sysadmin() + create_sysadmin() \ No newline at end of file diff --git a/ckan/setup/start_ckan_development.sh b/ckan/setup/start_ckan_development.sh index 0a0a44215..714874e89 100755 --- a/ckan/setup/start_ckan_development.sh +++ b/ckan/setup/start_ckan_development.sh @@ -1,77 +1,15 @@ #!/bin/bash -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# -# SPDX-License-Identifier: AGPL-3.0-only - -if [[ $CKAN__PLUGINS == *"datapusher"* ]]; then - # Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) - echo "Setting a temporary value for ckan.datapusher.api_token" - ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx -fi - -# Install any local extensions in the src_extensions volume -echo "Looking for local extensions to install..." -echo "Extension dir contents:" -ls -la $SRC_EXTENSIONS_DIR -for i in $SRC_EXTENSIONS_DIR/* -do - if [ -d $i ]; - then - if [ -d $SRC_DIR/$(basename $i) ]; - then - pip uninstall -y "$(basename $i)" - fi - - if [ -f $i/pip-requirements.txt ]; - then - pip install -r $i/pip-requirements.txt - echo "Found requirements file in $i" - fi - if [ -f $i/requirements.txt ]; - then - pip install -r $i/requirements.txt - echo "Found requirements file in $i" - fi - if [ -f $i/dev-requirements.txt ]; - then - pip install -r $i/dev-requirements.txt - echo "Found dev-requirements file in $i" - fi - if [ -f $i/setup.py ]; - then - cd $i - python3 $i/setup.py develop - echo "Found setup.py file in $i" - cd $APP_DIR - fi - if [ -f $i/pyproject.toml ]; - then - cd $i - pip install -e . - echo "Found pyproject.toml file in $i" - cd $APP_DIR - fi - - # Point `use` in test.ini to location of `test-core.ini` - if [ -f $i/test.ini ]; - then - echo "Updating \`test.ini\` reference to \`test-core.ini\` for plugin $i" - ckan config-tool $i/test.ini "use = config:../../src/ckan/test-core.ini" - fi - fi -done - # Set debug to true echo "Enabling debug mode" ckan config-tool $CKAN_INI -s DEFAULT "debug = true" # Set up the Secret key used by Beaker and Flask # This can be overriden using a CKAN___BEAKER__SESSION__SECRET env var -if grep -E "beaker.session.secret ?= ?$" ckan.ini +if grep -qE "SECRET_KEY ?= ?$" ckan.ini then - echo "Setting beaker.session.secret in ini file" - ckan config-tool $CKAN_INI "beaker.session.secret=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" + echo "Setting SECRET_KEY in ini file" + ckan config-tool $CKAN_INI "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" ckan config-tool $CKAN_INI "WTF_CSRF_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" @@ -82,15 +20,6 @@ fi echo "Loading the following plugins: $CKAN__PLUGINS" ckan config-tool $CKAN_INI "ckan.plugins = $CKAN__PLUGINS" -# Update test-core.ini DB, SOLR & Redis settings -echo "Loading test settings into test-core.ini" -ckan config-tool $SRC_DIR/ckan/test-core.ini \ - "sqlalchemy.url = $TEST_CKAN_SQLALCHEMY_URL" \ - "ckan.datastore.write_url = $TEST_CKAN_DATASTORE_WRITE_URL" \ - "ckan.datastore.read_url = $TEST_CKAN_DATASTORE_READ_URL" \ - "solr_url = $TEST_CKAN_SOLR_URL" \ - "ckan.redis.url = $TEST_CKAN_REDIS_URL" - # Run the prerun script to init CKAN and create the default admin user python3 prerun.py @@ -107,11 +36,10 @@ then done fi -CKAN_RUN="ckan -c $CKAN_INI run -H 0.0.0.0" +CKAN_RUN="/usr/local/bin/ckan -c $CKAN_INI run -H 0.0.0.0" CKAN_OPTIONS="" if [ "$USE_DEBUGPY_FOR_DEV" = true ] ; then - pip install debugpy - CKAN_RUN="/usr/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" + CKAN_RUN="/usr/local/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" CKAN_OPTIONS="$CKAN_OPTIONS --disable-reloader" fi @@ -121,9 +49,8 @@ fi # Start the development server as the ckan user with automatic reload while true; do - # Start supervisord - supervisord --configuration /etc/supervisord.conf & - su ckan -c "$CKAN_RUN $CKAN_OPTIONS" + supervisord --configuration /etc/supervisord.d/ckan.conf & + $CKAN_RUN $CKAN_OPTIONS echo Exit with status $?. Restarting. sleep 2 done \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 25b78c165..a6a834418 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,47 +7,60 @@ volumes: ckan_storage: pg_data: solr_data: + pip_cache: site_packages: - + local_bin: + home_dir: services: + ckan-dev: + platform: linux/x86_64 build: context: ckan/ dockerfile: Dockerfile.dev + args: + - TZ=${TZ} env_file: - .env - depends_on: - postgres: - condition: service_healthy - solr: - condition: service_healthy - redis: - condition: service_healthy + links: + - db + - solr + - redis ports: - - "0.0.0.0:${CKAN_PORT_HOST}:5500" + - "0.0.0.0:${CKAN_PORT_HOST}:5000" volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions - - site_packages:/usr/lib/python3.10/site-packages + - pip_cache:/root/.cache/pip + - site_packages:/usr/local/lib/python3.10/site-packages + - local_bin:/usr/local/bin + - home_dir:/srv/app/ restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] + interval: 60s + timeout: 10s + retries: 3 - - postgres: + db: build: context: postgresql/ - env_file: - - .env + environment: + - POSTGRES_USER + - POSTGRES_PASSWORD + - POSTGRES_DB + - CKAN_DB_USER + - CKAN_DB_PASSWORD + - CKAN_DB volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped healthcheck: - test: [ "CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}" ] + test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] ports: - "5432:5432" - + solr: build: context: src/ckanext-gdi-userportal/solr/ @@ -55,12 +68,13 @@ services: - solr_data:/var/solr restart: unless-stopped healthcheck: - test: [ "CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/" ] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:8983/solr/"] ports: - "8983:8983" + redis: - image: redis:7.4.1 + image: redis:${REDIS_VERSION} restart: unless-stopped healthcheck: - test: [ "CMD", "redis-cli", "-e", "QUIT" ] + test: ["CMD", "redis-cli", "-e", "QUIT"] diff --git a/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh deleted file mode 100755 index 3a6eae5a0..000000000 --- a/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: PNED G.I.E. -# -# SPDX-License-Identifier: AGPL-3.0-only - -set -e - -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE DATABASE ckan_test OWNER "$CKAN_DB_USER" ENCODING 'utf-8'; - CREATE DATABASE datastore_test OWNER "$CKAN_DB_USER" ENCODING 'utf-8'; -EOSQL diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index bca777f24..354e02e92 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit bca777f24fb2bcb3ff90362eb7e8c82200e0fed8 +Subproject commit 354e02e9205c25835d8a31fdbde2e1f8e11daaf9 From fd3819635ba96ac485a71d38d752128e4011699a Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 7 Jan 2025 21:06:06 +0100 Subject: [PATCH 197/284] Adjust dockerfile --- .env | 10 +++- ckan/Dockerfile | 59 +++++++++---------- ckan/Dockerfile.dev | 19 +++--- ckan/config/supervisord.conf | 1 - .../docker-entrypoint.d/cp_env_to_cron_env.sh | 8 --- ckan/docker-entrypoint.d/setup_harvester.sh | 14 +++++ ckan/setup/prerun.py | 2 +- 7 files changed, 62 insertions(+), 51 deletions(-) delete mode 100644 ckan/docker-entrypoint.d/cp_env_to_cron_env.sh create mode 100644 ckan/docker-entrypoint.d/setup_harvester.sh diff --git a/.env b/.env index 996a69ce3..9eaec709c 100644 --- a/.env +++ b/.env @@ -41,7 +41,7 @@ CKAN_MAX_UPLOAD_SIZE_MB=10 TZ=Europe/Amsterdam # Redis -REDIS_VERSION=7.4.1 +REDIS_VERSION=7.4.2 CKAN_REDIS_URL=redis://redis:6379/1 # Solr @@ -49,10 +49,16 @@ CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" -CKAN__HARVEST__MQ__TYPE=redis CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 +#Logger +CKAN___DEBUG=true +CKAN__HARVEST__LOG_LEVEL=DEBUG +CKAN___LOGGER_CKANEXT__LEVEL=DEBUG + #OTEL OTEL_SDK_DISABLED=true + + diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 2e60cad39..3a534ff66 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -20,43 +20,42 @@ RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# # Install cron and postgres client -# cron is necessary for harvesting, postgres client for vocabulary seeding -RUN apt-get update \ - && apt-get install -y --no-install-recommends cron postgresql-client +USER root + +### Install everything we need for the harvester +# Install cron +RUN apt-get update && apt-get install -y --no-install-recommends \ + cron \ + supervisor \ + && rm -rf /var/lib/apt/lists/* # Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan +RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan-sys /var/log/ckan -# Copy custom initialization scripts -COPY docker-entrypoint.d/* /docker-entrypoint.d/ +# Create directories for Supervisor +RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d && \ + chown -R ckan:ckan-sys /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf -COPY config/crontab ${APP_DIR}/crontab -RUN crontab ${APP_DIR}/crontab - -# Apply any patches needed to CKAN core or any of the built extensions (not the -# runtime mounted ones) -COPY patches ${APP_DIR}/patches +COPY config/crontab /etc/cron.d/ckan-cron -RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ - done +# Running cron as non-root user +RUN chmod gu+rw /var/run +RUN chmod gu+s /usr/sbin/cron +RUN crontab -u ckan /etc/cron.d/ckan-cron -COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ +COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches +COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} -# TODO -# 1. Remove this command once the issue is fixed -# https://github.com/ckan/ckan-docker-base/issues/41 -RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ - mkdir -p /var/lib/ckan/storage/uploads/user && \ - chmod -R u+rwx "/var/lib/ckan" +USER ckan -# https://github.com/ckan/ckan-docker-base/issues/82 -# CVE-2024-32002 was found on git and related packages -RUN apk del git git-perl perl-git +RUN for d in $APP_DIR/patches/*; do \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ + done diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index d6c139a7c..6aeca492d 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -6,9 +6,13 @@ FROM ckan/ckan-dev:2.11.1 +USER root +RUN mkdir /srv/app/.local && chown ckan /srv/app/.local +USER ckan + RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -20,6 +24,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor USER root +### Install everything we need for the harvester # Install cron RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ @@ -37,14 +42,10 @@ RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d && \ COPY config/supervisord.conf /etc/supervisord.d/ckan.conf COPY config/crontab /etc/cron.d/ckan-cron -# Ensure correct permissions for cron files -RUN chmod 0644 /etc/cron.d/ckan-cron && \ - crontab /etc/cron.d/ckan-cron && \ - touch /var/log/cron.log && \ - chmod 666 /var/log/cron.log - -RUN chown -R ckan-sys:ckan-sys /etc/profile.d && \ - printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh +# Running cron as non-root user +RUN chmod gu+rw /var/run +RUN chmod gu+s /usr/sbin/cron +RUN crontab -u ckan /etc/cron.d/ckan-cron COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches diff --git a/ckan/config/supervisord.conf b/ckan/config/supervisord.conf index 2ce4ea53f..3d31ea48f 100644 --- a/ckan/config/supervisord.conf +++ b/ckan/config/supervisord.conf @@ -37,7 +37,6 @@ startsecs=10 [program:cron] command=/usr/sbin/cron -f -user=root numprocs=1 stdout_logfile=/var/log/ckan/std/cron.log stderr_logfile=/var/log/ckan/std/cron.log diff --git a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh deleted file mode 100644 index 2b8b2b3e3..000000000 --- a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-FileCopyrightText: Stichting Health-RI -# -# SPDX-License-Identifier: AGPL-3.0-only - -#!/bin/sh - -# Dump environment variables to a file that will be sourced by cron -#printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh diff --git a/ckan/docker-entrypoint.d/setup_harvester.sh b/ckan/docker-entrypoint.d/setup_harvester.sh new file mode 100644 index 000000000..b927bbbed --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_harvester.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + +# Update the config file with each extension config-options +echo "[ckanext-harvest] Setting up config-options" +ckan config-tool $CKAN_INI -s app:main \ + "ckan.harvest.timeout = 1400" \ + "ckan.harvest.mq.type = redis" + + + diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 1e27db4e3..83c1567d1 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -107,7 +107,7 @@ def check_solr_connection(retry=None): def init_db(): - db_command = ["ckan", "-c", ckan_ini, "db", "upgrade"] + db_command = ["ckan", "-c", ckan_ini, "db", "init"] print("[prerun] Initializing or upgrading db - start") try: subprocess.check_output(db_command, stderr=subprocess.STDOUT) From 721651852ab6700cbcb294f84e3cd74302e6e551 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 7 Jan 2025 21:08:40 +0100 Subject: [PATCH 198/284] Add license --- bin/ckan | 4 ++++ bin/compose | 4 ++++ bin/install_src | 4 ++++ ckan/setup/start_ckan_development.sh | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/bin/ckan b/bin/ckan index 98a22847a..16bfab5a1 100644 --- a/bin/ckan +++ b/bin/ckan @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e ROOT="$(dirname ${BASH_SOURCE[0]})/.." diff --git a/bin/compose b/bin/compose index efeee74ec..6a334888d 100644 --- a/bin/compose +++ b/bin/compose @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e ROOT="$(dirname ${BASH_SOURCE[0]})/.." diff --git a/bin/install_src b/bin/install_src index ecfc7be6b..b0f058f3c 100644 --- a/bin/install_src +++ b/bin/install_src @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e ROOT="$(dirname ${BASH_SOURCE[0]})/.." diff --git a/ckan/setup/start_ckan_development.sh b/ckan/setup/start_ckan_development.sh index 714874e89..3a868f205 100755 --- a/ckan/setup/start_ckan_development.sh +++ b/ckan/setup/start_ckan_development.sh @@ -1,5 +1,9 @@ #!/bin/bash +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + # Set debug to true echo "Enabling debug mode" ckan config-tool $CKAN_INI -s DEFAULT "debug = true" From 57f3c3dfa98dd38c8e8e56f750f21b033629af56 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 7 Jan 2025 21:13:34 +0100 Subject: [PATCH 199/284] Correct readme --- README.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index df3617e8b..0b4dc39e0 100644 --- a/README.md +++ b/README.md @@ -42,18 +42,30 @@ CKAN and all the components are configured using environment variables that you ## 3. Useful commands ### 3.1. Build and start dev environment +Use this mode if you are making code changes to CKAN and either creating new extensions or making code changes to existing extensions. This mode also uses the `.env` file for config options. + +To develop local extensions use the `docker-compose.yml` file with help from the scripts under `bin`: + +To build the images: ```bash -docker compose up -d --build + bin/compose build +``` +To install extensions from the `src` directory: +```bash + bin/install_src +``` +To start the containers: +```bash + bin/compose up ``` - ### 3.2. Remove images and volumes ```bash -docker compose down -v + bin/compose down -v ``` ### 3.3. Logs ```bash -docker compose logs -f + bin/compose logs -f ``` ### 3.4. Re-index SOLR From db5805907b900c73b5c71b656f5209527f522691 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 7 Jan 2025 21:20:17 +0100 Subject: [PATCH 200/284] fix permission issues --- ckan/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 3a534ff66..fadde9ec1 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,6 +6,11 @@ FROM ckan/ckan-base:2.11.1 +USER root +RUN chown -R ckan:ckan-sys ${APP_DIR} +USER ckan + + RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt From 96bc753fe2e0a887790490e23053dfb84b58f071 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 7 Jan 2025 21:20:49 +0100 Subject: [PATCH 201/284] Revert x64 --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index a6a834418..0f79b1446 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,6 @@ volumes: services: ckan-dev: - platform: linux/x86_64 build: context: ckan/ dockerfile: Dockerfile.dev From b3eca9ba26dbe6016873a2c638bf534a7008e22b Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 8 Jan 2025 17:01:54 +0100 Subject: [PATCH 202/284] Sonarcloud recomendations --- ckan/Dockerfile | 21 ++++++++------------- ckan/Dockerfile.dev | 21 ++++++++------------- 2 files changed, 16 insertions(+), 26 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index fadde9ec1..6a334e29a 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -28,27 +28,22 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor USER root ### Install everything we need for the harvester -# Install cron +# Install cron and supervisor RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ supervisor \ - && rm -rf /var/lib/apt/lists/* - -# Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan-sys /var/log/ckan - -# Create directories for Supervisor -RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d && \ - chown -R ckan:ckan-sys /var/log/supervisor /etc/supervisor/conf.d + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ + && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf COPY config/crontab /etc/cron.d/ckan-cron -# Running cron as non-root user -RUN chmod gu+rw /var/run -RUN chmod gu+s /usr/sbin/cron -RUN crontab -u ckan /etc/cron.d/ckan-cron +# Running cron as non-root user and give permission to ckan user +RUN chmod gu+rw /var/run && \ + chmod gu+s /usr/sbin/cron && \ + crontab -u ckan /etc/cron.d/ckan-cron COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 6aeca492d..2f11bcbe1 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -25,27 +25,22 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor USER root ### Install everything we need for the harvester -# Install cron +# Install cron and supervisor RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ supervisor \ - && rm -rf /var/lib/apt/lists/* - -# Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan-sys /var/log/ckan - -# Create directories for Supervisor -RUN mkdir -p /var/log/supervisor /etc/supervisor/conf.d && \ - chown -R ckan:ckan-sys /var/log/supervisor /etc/supervisor/conf.d + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ + && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf COPY config/crontab /etc/cron.d/ckan-cron -# Running cron as non-root user -RUN chmod gu+rw /var/run -RUN chmod gu+s /usr/sbin/cron -RUN crontab -u ckan /etc/cron.d/ckan-cron +# Running cron as non-root user and give permission to ckan user +RUN chmod gu+rw /var/run && \ + chmod gu+s /usr/sbin/cron && \ + crontab -u ckan /etc/cron.d/ckan-cron COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches From 08a7f5e1bc145c55a33e8ad9625238866f14d703 Mon Sep 17 00:00:00 2001 From: Antoine Dorard Date: Fri, 10 Jan 2025 16:29:38 +0100 Subject: [PATCH 203/284] docs(README): add local ckan instance hostname and default sysadmin credentials --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index df3617e8b..8c348b61c 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,15 @@ docker compose logs -f ckan -c ckan.ini search-index rebuild ``` -## 4. installing new extensions +## 4. Accessing the running instance + +The ckan instance runs on port defined in CKAN_PORT_HOST (5500). Access it at http://localhost:5500. +A sysadmin account is created by default with the following credentials (defined in .env): +- `CKAN_SYSADMIN_NAME=ckan_admin` +- `CKAN_SYSADMIN_PASSWORD=test1234` + + +## 5. installing new extensions The current agreement is: * Fork all the branches from the extension's repo into [GitHub GDI](https://github.com/GenomicDataInfrastructure). From 34b259fc6b29d624a357376534ba9bae1a1b56ff Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 20 Jan 2025 12:06:26 +0100 Subject: [PATCH 204/284] Applied review comments --- ckan/Dockerfile | 2 +- ckan/config/crontab | 4 ++-- ckan/config/supervisord.conf | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 6a334e29a..f092d5f49 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -20,7 +20,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckan RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt diff --git a/ckan/config/crontab b/ckan/config/crontab index 37986d4cd..02ecbb514 100644 --- a/ckan/config/crontab +++ b/ckan/config/crontab @@ -3,5 +3,5 @@ # SPDX-License-Identifier: AGPL-3.0-only # run job every hour */15 * * * * /usr/local/bin/ckan -c /srv/app/ckan.ini harvester run -# run cean harvest log every day, at 5 AM -0 5 * * * /usr/local/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log +# run harvest log cleanup weekly, every Sunday at 5 AM +0 5 * * 0 /usr/local/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/config/supervisord.conf b/ckan/config/supervisord.conf index 3d31ea48f..572f3ddb2 100644 --- a/ckan/config/supervisord.conf +++ b/ckan/config/supervisord.conf @@ -12,7 +12,6 @@ logfile=/var/log/supervisor/supervisord.log logfile_maxbytes=50MB logfile_backups=10 loglevel=info -pidfile=/var/run/supervisord.pid nodaemon=false minfds=1024 minprocs=200 From 8a4e6f7845f8598445e66ac6b74c1267e2d74419 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Mon, 20 Jan 2025 14:50:57 +0100 Subject: [PATCH 205/284] chore: upgrade extension version --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1a538a8cf..350a46206 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.6 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.9#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 354e02e92..fa5f43929 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 354e02e9205c25835d8a31fdbde2e1f8e11daaf9 +Subproject commit fa5f439291e47f3689314518cd68587f736c0d90 From 906b52fdd4e4d9b6878e4392af4c837e061801f1 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 20 Jan 2025 16:50:45 +0100 Subject: [PATCH 206/284] fix Civity reference to scheming --- ckan/Dockerfile.dev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 2f11bcbe1..73784c821 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -7,7 +7,7 @@ FROM ckan/ckan-dev:2.11.1 USER root -RUN mkdir /srv/app/.local && chown ckan /srv/app/.local +RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckan RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt From 40895757a2ecba340c9b5a7534ef013fe64d92ef Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Mon, 20 Jan 2025 21:01:00 +0100 Subject: [PATCH 207/284] Ckan 211 (#158) * chore(deps): update dependencies and settings for CKAN 2.11 compatibility * Explicitly add linux/amd64 platform to docker as there are no other images * Clarify and clean up Dockerfile * Current status of 2.11.1 upgrade * Adjust dockerfile * Add license * Correct readme * fix permission issues * Revert x64 * Sonarcloud recomendations * Applied review comments * fix Civity reference to scheming --------- Co-authored-by: Mark Janse Co-authored-by: Hans-Chrstian Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --- .env | 36 +- README.md | 20 +- bin/ckan | 10 + bin/compose | 10 + bin/install_src | 10 + ckan/Dockerfile | 69 +- ckan/Dockerfile.dev | 66 +- ckan/config/crontab | 6 +- ckan/config/supervisord.conf | 39 +- .../common_vocabulary_tags.csv | 2421 ----------------- .../common_vocabulary_tags.csv.license | 4 - .../docker-entrypoint.d/cp_env_to_cron_env.sh | 8 - ckan/docker-entrypoint.d/setup_harvester.sh | 14 + ckan/docker-entrypoint.d/upload_vocabulary.sh | 26 - ckan/setup/prerun.py | 37 +- ckan/setup/start_ckan_development.sh | 83 +- docker-compose.yml | 43 +- .../2_setup_test_databases.sh | 13 - 18 files changed, 228 insertions(+), 2687 deletions(-) create mode 100644 bin/ckan create mode 100644 bin/compose create mode 100644 bin/install_src delete mode 100644 ckan/docker-entrypoint.d/common_vocabulary_tags.csv delete mode 100644 ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license delete mode 100644 ckan/docker-entrypoint.d/cp_env_to_cron_env.sh create mode 100644 ckan/docker-entrypoint.d/setup_harvester.sh delete mode 100644 ckan/docker-entrypoint.d/upload_vocabulary.sh delete mode 100755 postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh diff --git a/.env b/.env index 8c0beb299..9eaec709c 100644 --- a/.env +++ b/.env @@ -3,23 +3,27 @@ # # SPDX-License-Identifier: AGPL-3.0-only -# Host Ports -CKAN_PORT_HOST=5500 - -# Postgres +# CKAN databases POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=postgres -POSTGRES_HOST=postgres +POSTGRES_HOST=db CKAN_DB_USER=ckandbuser CKAN_DB_PASSWORD=ckandbpassword CKAN_DB=ckandb +CKAN_SQLALCHEMY_URL=postgresql://ckandbuser:ckandbpassword@db/ckandb + +# Dev settings +USE_HTTPS_FOR_DEV=false + +# Host Ports +CKAN_PORT_HOST=5500 # CKAN core -CKAN_VERSION=2.10.5 +CKAN_VERSION=2.11.1 CKAN_SITE_ID=default CKAN_SITE_URL=http://localhost:5500 -CKAN__CORS__ORIGIN_WHITELIST=http://localhost:3000 + CKAN___BEAKER__SESSION__SECRET=CHANGE_ME # See https://docs.ckan.org/en/latest/maintaining/configuration.html#api-token-settings CKAN___API_TOKEN__JWT__ENCODE__SECRET=string:CHANGE_ME @@ -27,20 +31,24 @@ CKAN___API_TOKEN__JWT__DECODE__SECRET=string:CHANGE_ME CKAN_SYSADMIN_NAME=ckan_admin CKAN_SYSADMIN_PASSWORD=test1234 CKAN_SYSADMIN_EMAIL=your_email@example.com +CKAN_STORAGE_PATH=/var/lib/ckan CKAN_SMTP_SERVER=smtp.corporateict.domain:25 CKAN_SMTP_STARTTLS=True CKAN_SMTP_USER=user CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost CKAN_MAX_UPLOAD_SIZE_MB=10 -CKAN_SQLALCHEMY_URL=postgresql://${CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/${CKAN_DB} -TEST_CKAN_SQLALCHEMY_URL=postgres://{CKAN_DB_USER}:${CKAN_DB_PASSWORD}@${POSTGRES_HOST}/ckan_test -CKAN_SOLR_URL=http://solr:8983/solr/ckan -TEST_CKAN_SOLR_URL=http://solr:8983/solr/ckan +TZ=Europe/Amsterdam + +# Redis +REDIS_VERSION=7.4.2 CKAN_REDIS_URL=redis://redis:6379/1 -TEST_CKAN_REDIS_URL=redis://redis:6379/1 -CKAN__HARVEST__MQ__TYPE=redis +# Solr +CKAN_SOLR_URL=http://solr:8983/solr/ckan + +# Extensions +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 @@ -52,3 +60,5 @@ CKAN___LOGGER_CKANEXT__LEVEL=DEBUG #OTEL OTEL_SDK_DISABLED=true + + diff --git a/README.md b/README.md index 8c348b61c..55a9b087b 100644 --- a/README.md +++ b/README.md @@ -42,18 +42,30 @@ CKAN and all the components are configured using environment variables that you ## 3. Useful commands ### 3.1. Build and start dev environment +Use this mode if you are making code changes to CKAN and either creating new extensions or making code changes to existing extensions. This mode also uses the `.env` file for config options. + +To develop local extensions use the `docker-compose.yml` file with help from the scripts under `bin`: + +To build the images: ```bash -docker compose up -d --build + bin/compose build +``` +To install extensions from the `src` directory: +```bash + bin/install_src +``` +To start the containers: +```bash + bin/compose up ``` - ### 3.2. Remove images and volumes ```bash -docker compose down -v + bin/compose down -v ``` ### 3.3. Logs ```bash -docker compose logs -f + bin/compose logs -f ``` ### 3.4. Re-index SOLR diff --git a/bin/ckan b/bin/ckan new file mode 100644 index 000000000..16bfab5a1 --- /dev/null +++ b/bin/ckan @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.dev.yml" exec ckan-dev ckan "$@" \ No newline at end of file diff --git a/bin/compose b/bin/compose new file mode 100644 index 000000000..6a334888d --- /dev/null +++ b/bin/compose @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.yml" "$@" \ No newline at end of file diff --git a/bin/install_src b/bin/install_src new file mode 100644 index 000000000..b0f058f3c --- /dev/null +++ b/bin/install_src @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# +# SPDX-License-Identifier: AGPL-3.0-only + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.yml" run -u root ckan-dev ./install_src.sh diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 350a46206..23d0becfa 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,56 +4,57 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-base:2.10.6 +FROM ckan/ckan-base:2.11.1 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.9#egg=ckanext-gdi-userportal && \ +USER root +RUN chown -R ckan:ckan-sys ${APP_DIR} +USER ckan + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.9#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan +USER root -# Copy custom initialization scripts -COPY docker-entrypoint.d/* /docker-entrypoint.d/ +### Install everything we need for the harvester +# Install cron and supervisor +RUN apt-get update && apt-get install -y --no-install-recommends \ + cron \ + supervisor \ + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ + && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf -COPY config/crontab ${APP_DIR}/crontab -RUN crontab ${APP_DIR}/crontab - -# Apply any patches needed to CKAN core or any of the built extensions (not the -# runtime mounted ones) -COPY patches ${APP_DIR}/patches +COPY config/crontab /etc/cron.d/ckan-cron -RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ - done +# Running cron as non-root user and give permission to ckan user +RUN chmod gu+rw /var/run && \ + chmod gu+s /usr/sbin/cron && \ + crontab -u ckan /etc/cron.d/ckan-cron -ENV CKAN__PLUGINS="image_view text_view datatables_view envvars scheming_datasets scheming_organizations dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester gdi_userportal activity" +COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ +COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches +COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} -COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} +USER ckan -# TODO -# 1. Remove this command once the issue is fixed -# https://github.com/ckan/ckan-docker-base/issues/41 -RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ - mkdir -p /var/lib/ckan/storage/uploads/user && \ - chmod -R u+rwx "/var/lib/ckan" - -# https://github.com/ckan/ckan-docker-base/issues/82 -# CVE-2024-32002 was found on git and related packages -RUN apk del git git-perl perl-git +RUN for d in $APP_DIR/patches/*; do \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ + done diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 35619fc8c..73784c821 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,51 +4,59 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/ckan/ckan-dev:2.10.6 +FROM ckan/ckan-dev:2.11.1 -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ +USER root +RUN chown -R ckan:ckan-sys ${APP_DIR} +USER ckan + + +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity#egg=ckanext-scheming[requirements] +RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt -# Create log directories for CKAN harvester -RUN mkdir -p /var/log/ckan/std && chown -R ckan:ckan /var/log/ckan +USER root -# Copy custom initialization scripts -COPY docker-entrypoint.d/* /docker-entrypoint.d/ +### Install everything we need for the harvester +# Install cron and supervisor +RUN apt-get update && apt-get install -y --no-install-recommends \ + cron \ + supervisor \ + && rm -rf /var/lib/apt/lists/* \ + && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ + && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d # Config cron job for harvesting COPY config/supervisord.conf /etc/supervisord.d/ckan.conf -COPY config/crontab ${APP_DIR}/crontab -RUN crontab ${APP_DIR}/crontab +COPY config/crontab /etc/cron.d/ckan-cron -# Apply any patches needed to CKAN core or any of the built extensions (not the -# runtime mounted ones) -COPY patches ${APP_DIR}/patches +# Running cron as non-root user and give permission to ckan user +RUN chmod gu+rw /var/run && \ + chmod gu+s /usr/sbin/cron && \ + crontab -u ckan /etc/cron.d/ckan-cron -RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ - done +COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ +COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches +COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} -ENV CKAN__PLUGINS="image_view text_view datatables_view envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester dcat_json_interface fairdatapointharvester activity" +USER ckan -COPY --chown=ckan:ckan setup/prerun.py ${APP_DIR} -COPY --chown=ckan:ckan setup/start_ckan_development.sh ${APP_DIR} +RUN for d in $APP_DIR/patches/*; do \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ + done -RUN mkdir -p /var/lib/ckan/storage/uploads/group && \ - mkdir -p /var/usr/ckan/storage/uploads/user && \ - chmod -R u+rwx "/var/lib/ckan" -# https://github.com/ckan/ckan-docker-base/issues/82 -# CVE-2024-32002 was found on git and related packages -RUN apk del git git-perl perl-git + + \ No newline at end of file diff --git a/ckan/config/crontab b/ckan/config/crontab index 0f4db8117..02ecbb514 100644 --- a/ckan/config/crontab +++ b/ckan/config/crontab @@ -2,6 +2,6 @@ # # SPDX-License-Identifier: AGPL-3.0-only # run job every hour -*/15 * * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester run -# run cean harvest log every day, at 5 AM -0 5 * * * /usr/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log +*/15 * * * * /usr/local/bin/ckan -c /srv/app/ckan.ini harvester run +# run harvest log cleanup weekly, every Sunday at 5 AM +0 5 * * 0 /usr/local/bin/ckan -c /srv/app/ckan.ini harvester clean-harvest-log diff --git a/ckan/config/supervisord.conf b/ckan/config/supervisord.conf index 51d294d70..572f3ddb2 100644 --- a/ckan/config/supervisord.conf +++ b/ckan/config/supervisord.conf @@ -2,12 +2,22 @@ # # SPDX-License-Identifier: AGPL-3.0-only -[program:ckan_gather_consumer] +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only -; Full Path to executable, should be path to virtural environment, -; Full path to config file too. +[supervisord] +; Directory where Supervisor will store its state +logfile=/var/log/supervisor/supervisord.log +logfile_maxbytes=50MB +logfile_backups=10 +loglevel=info +nodaemon=false +minfds=1024 +minprocs=200 -command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester gather-consumer +[program:ckan_gather_consumer] +command=/usr/local/bin/ckan --config=/srv/app/ckan.ini harvester gather-consumer numprocs=1 stdout_logfile=/var/log/ckan/std/gather_consumer.log stderr_logfile=/var/log/ckan/std/gather_consumer.log @@ -16,12 +26,7 @@ autorestart=true startsecs=10 [program:ckan_fetch_consumer] - -; Full Path to executable, should be path to virtural environment, -; Full path to config file too. - -command=/usr/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer - +command=/usr/local/bin/ckan --config=/srv/app/ckan.ini harvester fetch-consumer numprocs=1 stdout_logfile=/var/log/ckan/std/fetch_consumer.log stderr_logfile=/var/log/ckan/std/fetch_consumer.log @@ -29,17 +34,15 @@ autostart=true autorestart=true startsecs=10 - -[program:crond] - -; Full Path to executable, should be path to virtual environment, -; Full path to config file too. - -command=/usr/sbin/crond -f -c /etc/crontabs/ - +[program:cron] +command=/usr/sbin/cron -f numprocs=1 stdout_logfile=/var/log/ckan/std/cron.log stderr_logfile=/var/log/ckan/std/cron.log autostart=true autorestart=true startsecs=10 + +[include] +files = /etc/supervisor/conf.d/*.conf + diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv deleted file mode 100644 index 313d1509b..000000000 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv +++ /dev/null @@ -1,2421 +0,0 @@ -term,term_translation,lang_code -https://publications.europa.eu/resource/authority/language/POR,"portugais",fr -https://publications.europa.eu/resource/authority/language/POR,"portugali keel",et -https://publications.europa.eu/resource/authority/language/POR,"португалски",sr -https://publications.europa.eu/resource/authority/language/POR,"portugalski",pl -https://publications.europa.eu/resource/authority/language/POR,"Portaingéilis",ga -https://publications.europa.eu/resource/authority/language/POR,"portugisiska",sv -https://publications.europa.eu/resource/authority/language/POR,"португалски",bg -https://publications.europa.eu/resource/authority/language/POR,"Portuguese",en -https://publications.europa.eu/resource/authority/language/POR,"portugalski",hr -https://publications.europa.eu/resource/authority/language/POR,"portugalšćina",hsb -https://publications.europa.eu/resource/authority/language/POR,"Portugiż",mt -https://publications.europa.eu/resource/authority/language/POR,"португалски",mk -https://publications.europa.eu/resource/authority/language/POR,"portugál",hu -https://publications.europa.eu/resource/authority/language/POR,"portugali",fi -https://publications.europa.eu/resource/authority/language/POR,"portoghese",it -https://publications.europa.eu/resource/authority/language/POR,"portugués",es -https://publications.europa.eu/resource/authority/language/POR,"portugisisk",da -https://publications.europa.eu/resource/authority/language/POR,"portugisisk",no -https://publications.europa.eu/resource/authority/language/POR,"portugalų kalba",lt -https://publications.europa.eu/resource/authority/language/POR,"português",pt -https://publications.europa.eu/resource/authority/language/POR,"Portugiesisch",de -https://publications.europa.eu/resource/authority/language/POR,"portugalčina",sk -https://publications.europa.eu/resource/authority/language/POR,"portugāļu valoda",lv -https://publications.europa.eu/resource/authority/language/POR,"πορτογαλικά",el -https://publications.europa.eu/resource/authority/language/POR,"Portugees",nl -https://publications.europa.eu/resource/authority/language/POR,"portugheză",ro -https://publications.europa.eu/resource/authority/language/POR,"португальский",ru -https://publications.europa.eu/resource/authority/language/POR,"португальська мова",uk -https://publications.europa.eu/resource/authority/language/POR,"portúgalska",is -https://publications.europa.eu/resource/authority/language/POR,"portugalski",sh -https://publications.europa.eu/resource/authority/language/POR,"portugalština",cs -https://publications.europa.eu/resource/authority/language/POR,"portekizce",tr -https://publications.europa.eu/resource/authority/language/POR,"portugalščina",sl -http://lexvo.org/id/iso639-3/por,"Portuguese",en -https://www.wikidata.org/wiki/Q57262078,"food consumption",en -https://www.wikidata.org/wiki/Q4014799,"medical visit",en -http://purl.obolibrary.org/obo/NCIT_C18002,"Home",en -https://www.wikidata.org/wiki/Q600236,"surgical operation",en -http://purl.obolibrary.org/obo/NCIT_C21007,"Disability",en -http://purl.obolibrary.org/obo/NCIT_C15329,"Surgical Procedure",en -http://purl.obolibrary.org/obo/NCIT_C25741,"Physician",en -http://purl.obolibrary.org/obo/NCIT_C111860,"Maternal Mortality",en -https://publications.europa.eu/resource/authority/language/EST,"Eastóinis",ga -https://publications.europa.eu/resource/authority/language/EST,"Eston",mt -https://publications.europa.eu/resource/authority/language/EST,"estónčina",sk -https://publications.europa.eu/resource/authority/language/EST,"Estisch",nl -https://publications.europa.eu/resource/authority/language/EST,"естонски",sr -https://publications.europa.eu/resource/authority/language/EST,"estisk",no -https://publications.europa.eu/resource/authority/language/EST,"estonski",sh -https://publications.europa.eu/resource/authority/language/EST,"estoński",pl -https://publications.europa.eu/resource/authority/language/EST,"estonien",fr -https://publications.europa.eu/resource/authority/language/EST,"estonština",cs -https://publications.europa.eu/resource/authority/language/EST,"естонська мова",uk -https://publications.europa.eu/resource/authority/language/EST,"естонски",mk -https://publications.europa.eu/resource/authority/language/EST,"eesti keel",et -https://publications.europa.eu/resource/authority/language/EST,"estonca",tr -https://publications.europa.eu/resource/authority/language/EST,"естонски",bg -https://publications.europa.eu/resource/authority/language/EST,"estonio",es -https://publications.europa.eu/resource/authority/language/EST,"viro",fi -https://publications.europa.eu/resource/authority/language/EST,"estónio",pt -https://publications.europa.eu/resource/authority/language/EST,"Estnisch",de -https://publications.europa.eu/resource/authority/language/EST,"eistneska",is -https://publications.europa.eu/resource/authority/language/EST,"εσθονικά",el -https://publications.europa.eu/resource/authority/language/EST,"észt",hu -https://publications.europa.eu/resource/authority/language/EST,"эстонский",ru -https://publications.europa.eu/resource/authority/language/EST,"estone",it -https://publications.europa.eu/resource/authority/language/EST,"igauņu valoda",lv -https://publications.europa.eu/resource/authority/language/EST,"Estonian",en -https://publications.europa.eu/resource/authority/language/EST,"estišćina",hsb -https://publications.europa.eu/resource/authority/language/EST,"estniska",sv -https://publications.europa.eu/resource/authority/language/EST,"estonski",hr -https://publications.europa.eu/resource/authority/language/EST,"estonă",ro -https://publications.europa.eu/resource/authority/language/EST,"estų kalba",lt -https://publications.europa.eu/resource/authority/language/EST,"estisk",da -https://publications.europa.eu/resource/authority/language/EST,"estonščina",sl -http://lexvo.org/id/iso639-3/est,"Estonian",en -https://www.wikidata.org/wiki/Q26305989,"blood-borne transmission",en -https://publications.europa.eu/resource/authority/language/HYE,"armenska",is -https://publications.europa.eu/resource/authority/language/HYE,"armenski",hr -https://publications.europa.eu/resource/authority/language/HYE,"armeniska",sv -https://publications.europa.eu/resource/authority/language/HYE,"armenšćina",hsb -https://publications.europa.eu/resource/authority/language/HYE,"Јерменски",sr -https://publications.europa.eu/resource/authority/language/HYE,"Armenian",en -https://publications.europa.eu/resource/authority/language/HYE,"Armen",mt -https://publications.europa.eu/resource/authority/language/HYE,"armeenia keel",et -https://publications.europa.eu/resource/authority/language/HYE,"armensk",no -https://publications.europa.eu/resource/authority/language/HYE,"ерменски",mk -https://publications.europa.eu/resource/authority/language/HYE,"armensk",da -https://publications.europa.eu/resource/authority/language/HYE,"armeană",ro -https://publications.europa.eu/resource/authority/language/HYE,"арменски",bg -https://publications.europa.eu/resource/authority/language/HYE,"Armeens",nl -https://publications.europa.eu/resource/authority/language/HYE,"arménština",cs -https://publications.europa.eu/resource/authority/language/HYE,"Armenisch",de -https://publications.europa.eu/resource/authority/language/HYE,"armēņu valoda",lv -https://publications.europa.eu/resource/authority/language/HYE,"armeno",it -https://publications.europa.eu/resource/authority/language/HYE,"armenščina",sl -https://publications.europa.eu/resource/authority/language/HYE,"армянский",ru -https://publications.europa.eu/resource/authority/language/HYE,"armėnų kalba",lt -https://publications.europa.eu/resource/authority/language/HYE,"armenio",es -https://publications.europa.eu/resource/authority/language/HYE,"ermenice",tr -https://publications.europa.eu/resource/authority/language/HYE,"arménčina",sk -https://publications.europa.eu/resource/authority/language/HYE,"вірменська мова",uk -https://publications.europa.eu/resource/authority/language/HYE,"Airméinis",ga -https://publications.europa.eu/resource/authority/language/HYE,"armenia",fi -https://publications.europa.eu/resource/authority/language/HYE,"ormiański",pl -https://publications.europa.eu/resource/authority/language/HYE,"arménio",pt -https://publications.europa.eu/resource/authority/language/HYE,"arménien",fr -https://publications.europa.eu/resource/authority/language/HYE,"αρμενικά",el -https://publications.europa.eu/resource/authority/language/HYE,"örmény",hu -https://publications.europa.eu/resource/authority/language/HYE,"armenski",sh -http://lexvo.org/id/iso639-3/hye,"Armenian",en -http://semanticscience.org/resource/SIO_000713,"doctor role",en -http://purl.obolibrary.org/obo/OMIT_0010784,"Obesity",en -https://www.wikidata.org/wiki/Property:P106,"occupation",en -https://www.wikidata.org/wiki/Q949149,"sanitation",en -http://purl.obolibrary.org/obo/OMIT_0013403,"Sanitation",en -http://purl.obolibrary.org/obo/NCIT_C16452,"Communication",en -http://purl.obolibrary.org/obo/GSSO_000498,"mental disorder",en -https://www.wikidata.org/wiki/Q747883,"physical activity",en -https://publications.europa.eu/resource/authority/language/BOS,"bośniacki",pl -https://publications.europa.eu/resource/authority/language/BOS,"bosniaco",it -https://publications.europa.eu/resource/authority/language/BOS,"bosnik",no -https://publications.europa.eu/resource/authority/language/BOS,"bosnia",fi -https://publications.europa.eu/resource/authority/language/BOS,"Bosnian",en -https://publications.europa.eu/resource/authority/language/BOS,"bosniačtina",sk -https://publications.europa.eu/resource/authority/language/BOS,"bosniešu valoda",lv -https://publications.europa.eu/resource/authority/language/BOS,"bosnių kalba",lt -https://publications.europa.eu/resource/authority/language/BOS,"bosenština",cs -https://publications.europa.eu/resource/authority/language/BOS,"bosnien",fr -https://publications.europa.eu/resource/authority/language/BOS,"boşnakça",tr -https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",nl -https://publications.europa.eu/resource/authority/language/BOS,"βοσνιακά",el -https://publications.europa.eu/resource/authority/language/BOS,"bosnisk",da -https://publications.europa.eu/resource/authority/language/BOS,"босненски",bg -https://publications.europa.eu/resource/authority/language/BOS,"bosníska",is -https://publications.europa.eu/resource/authority/language/BOS,"bosnia keel",et -https://publications.europa.eu/resource/authority/language/BOS,"bósnio",pt -https://publications.europa.eu/resource/authority/language/BOS,"Bosnisch",de -https://publications.europa.eu/resource/authority/language/BOS,"bosniska",sv -https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",sr -https://publications.europa.eu/resource/authority/language/BOS,"Bosnis",ga -https://publications.europa.eu/resource/authority/language/BOS,"bosnišćina",hsb -https://publications.europa.eu/resource/authority/language/BOS,"bosanščina",sl -https://publications.europa.eu/resource/authority/language/BOS,"Bosnjan",mt -https://publications.europa.eu/resource/authority/language/BOS,"bosnyák",hu -https://publications.europa.eu/resource/authority/language/BOS,"боснийский",ru -https://publications.europa.eu/resource/authority/language/BOS,"бошњачки",mk -https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",sh -https://publications.europa.eu/resource/authority/language/BOS,"боснійська мова",uk -https://publications.europa.eu/resource/authority/language/BOS,"bosniacă",ro -https://publications.europa.eu/resource/authority/language/BOS,"bosnio",es -https://publications.europa.eu/resource/authority/language/BOS,"bošnjački",hr -http://lexvo.org/id/iso639-3/bos,"Bosnian",en -http://purl.obolibrary.org/obo/OMIT_0008309,"Income",en -https://publications.europa.eu/resource/authority/language/CES,"tšekki",fi -https://publications.europa.eu/resource/authority/language/CES,"tékkneska",is -https://publications.europa.eu/resource/authority/language/CES,"чешки",bg -https://publications.europa.eu/resource/authority/language/CES,"чешки",sr -https://publications.europa.eu/resource/authority/language/CES,"checo",pt -https://publications.europa.eu/resource/authority/language/CES,"tsjekkisk",no -https://publications.europa.eu/resource/authority/language/CES,"Ċek",mt -https://publications.europa.eu/resource/authority/language/CES,"češki",hr -https://publications.europa.eu/resource/authority/language/CES,"čěšćina",hsb -https://publications.europa.eu/resource/authority/language/CES,"cseh",hu -https://publications.europa.eu/resource/authority/language/CES,"Seicis",ga -https://publications.europa.eu/resource/authority/language/CES,"tšehhi keel",et -https://publications.europa.eu/resource/authority/language/CES,"čekų kalba",lt -https://publications.europa.eu/resource/authority/language/CES,"čehu valoda",lv -https://publications.europa.eu/resource/authority/language/CES,"чешский",ru -https://publications.europa.eu/resource/authority/language/CES,"τσεχικά",el -https://publications.europa.eu/resource/authority/language/CES,"češki",sh -https://publications.europa.eu/resource/authority/language/CES,"čeština",sk -https://publications.europa.eu/resource/authority/language/CES,"Tsjechisch",nl -https://publications.europa.eu/resource/authority/language/CES,"чешки",mk -https://publications.europa.eu/resource/authority/language/CES,"tjekkisk",da -https://publications.europa.eu/resource/authority/language/CES,"çekçe",tr -https://publications.europa.eu/resource/authority/language/CES,"ceco",it -https://publications.europa.eu/resource/authority/language/CES,"tchèque",fr -https://publications.europa.eu/resource/authority/language/CES,"cehă",ro -https://publications.europa.eu/resource/authority/language/CES,"czeski",pl -https://publications.europa.eu/resource/authority/language/CES,"Tschechisch",de -https://publications.europa.eu/resource/authority/language/CES,"checo",es -https://publications.europa.eu/resource/authority/language/CES,"чеська мова",uk -https://publications.europa.eu/resource/authority/language/CES,"češčina",sl -https://publications.europa.eu/resource/authority/language/CES,"čeština",cs -https://publications.europa.eu/resource/authority/language/CES,"Czech",en -https://publications.europa.eu/resource/authority/language/CES,"tjeckiska",sv -http://lexvo.org/id/iso639-3/ces,"Czech",en -http://purl.obolibrary.org/obo/NCIT_C173558,"Contact Tracing",en -http://purl.obolibrary.org/obo/NCIT_C16669,"Health Status",en -https://www.wikidata.org/wiki/Q182672,"zoonosis",en -https://publications.europa.eu/resource/authority/language/DEU,"saksa",fi -https://publications.europa.eu/resource/authority/language/DEU,"немецкий",ru -https://publications.europa.eu/resource/authority/language/DEU,"Duits",nl -https://publications.europa.eu/resource/authority/language/DEU,"nemščina",sl -https://publications.europa.eu/resource/authority/language/DEU,"tysk",no -https://publications.europa.eu/resource/authority/language/DEU,"német",hu -https://publications.europa.eu/resource/authority/language/DEU,"немачки",sr -https://publications.europa.eu/resource/authority/language/DEU,"alemán",es -https://publications.europa.eu/resource/authority/language/DEU,"němčina",cs -https://publications.europa.eu/resource/authority/language/DEU,"tysk",da -https://publications.europa.eu/resource/authority/language/DEU,"saksa keel",et -https://publications.europa.eu/resource/authority/language/DEU,"Gearmáinis",ga -https://publications.europa.eu/resource/authority/language/DEU,"němska",hsb -https://publications.europa.eu/resource/authority/language/DEU,"tedesco",it -https://publications.europa.eu/resource/authority/language/DEU,"njemački",hr -https://publications.europa.eu/resource/authority/language/DEU,"γερμανικά",el -https://publications.europa.eu/resource/authority/language/DEU,"nemački",sh -https://publications.europa.eu/resource/authority/language/DEU,"німецька мова",uk -https://publications.europa.eu/resource/authority/language/DEU,"alemão",pt -https://publications.europa.eu/resource/authority/language/DEU,"almanca",tr -https://publications.europa.eu/resource/authority/language/DEU,"niemiecki",pl -https://publications.europa.eu/resource/authority/language/DEU,"German",en -https://publications.europa.eu/resource/authority/language/DEU,"þýska",is -https://publications.europa.eu/resource/authority/language/DEU,"Ġermaniż",mt -https://publications.europa.eu/resource/authority/language/DEU,"vokiečių kalba",lt -https://publications.europa.eu/resource/authority/language/DEU,"tyska",sv -https://publications.europa.eu/resource/authority/language/DEU,"nemčina",sk -https://publications.europa.eu/resource/authority/language/DEU,"немски",bg -https://publications.europa.eu/resource/authority/language/DEU,"allemand",fr -https://publications.europa.eu/resource/authority/language/DEU,"vācu valoda",lv -https://publications.europa.eu/resource/authority/language/DEU,"germană",ro -https://publications.europa.eu/resource/authority/language/DEU,"германски",mk -https://publications.europa.eu/resource/authority/language/DEU,"Deutsch",de -http://lexvo.org/id/iso639-3/deu,"German",en -http://vivoweb.org/ontology/core#Hospital,"Hospital",en -http://purl.obolibrary.org/obo/GSSO_007925,"pharmaceutical drug",en -https://www.wikidata.org/wiki/Q18123741,"infectious disease",en -https://www.wikidata.org/wiki/Q12140,"medication",en -http://purl.obolibrary.org/obo/OMIT_0009102,"Life Expectancy",en -https://www.wikidata.org/wiki/Q381481,"airborne disease",en -http://purl.obolibrary.org/obo/OMIT_0017465,"Health Care Costs",en -http://purl.obolibrary.org/obo/OMIT_0009217,"Long-Term Care",en -https://www.wikidata.org/wiki/Q30314010,"social distancing",en -https://publications.europa.eu/resource/authority/language/LIT,"litván",hu -https://publications.europa.eu/resource/authority/language/LIT,"litewski",pl -https://publications.europa.eu/resource/authority/language/LIT,"lituano",it -https://publications.europa.eu/resource/authority/language/LIT,"litauisk",da -https://publications.europa.eu/resource/authority/language/LIT,"lietuvių kalba",lt -https://publications.europa.eu/resource/authority/language/LIT,"liettua",fi -https://publications.europa.eu/resource/authority/language/LIT,"litauisk",no -https://publications.europa.eu/resource/authority/language/LIT,"λιθουανικά",el -https://publications.europa.eu/resource/authority/language/LIT,"литовски",bg -https://publications.europa.eu/resource/authority/language/LIT,"litawšćina",hsb -https://publications.europa.eu/resource/authority/language/LIT,"Litouws",nl -https://publications.europa.eu/resource/authority/language/LIT,"lietuviešu valoda",lv -https://publications.europa.eu/resource/authority/language/LIT,"leedu keel",et -https://publications.europa.eu/resource/authority/language/LIT,"lituanien",fr -https://publications.europa.eu/resource/authority/language/LIT,"lituaniană",ro -https://publications.europa.eu/resource/authority/language/LIT,"litavski",hr -https://publications.europa.eu/resource/authority/language/LIT,"Litauisch",de -https://publications.europa.eu/resource/authority/language/LIT,"litovčina",sk -https://publications.europa.eu/resource/authority/language/LIT,"litvanca",tr -https://publications.europa.eu/resource/authority/language/LIT,"litauiska",sv -https://publications.europa.eu/resource/authority/language/LIT,"lituano",es -https://publications.europa.eu/resource/authority/language/LIT,"litháíska",is -https://publications.europa.eu/resource/authority/language/LIT,"lituano",pt -https://publications.europa.eu/resource/authority/language/LIT,"литвански",mk -https://publications.europa.eu/resource/authority/language/LIT,"литовский",ru -https://publications.europa.eu/resource/authority/language/LIT,"литвански",sr -https://publications.europa.eu/resource/authority/language/LIT,"Lithuanian",en -https://publications.europa.eu/resource/authority/language/LIT,"litovščina",sl -https://publications.europa.eu/resource/authority/language/LIT,"Litwan",mt -https://publications.europa.eu/resource/authority/language/LIT,"литовська мова",uk -https://publications.europa.eu/resource/authority/language/LIT,"Liotuáinis",ga -https://publications.europa.eu/resource/authority/language/LIT,"litevština",cs -https://publications.europa.eu/resource/authority/language/LIT,"litvanski",sh -http://lexvo.org/id/iso639-3/lit,"Lithuanian",en -https://www.wikidata.org/wiki/Q12206,"diabetes",en -https://www.wikidata.org/wiki/Q12078,"cancer",en -https://www.wikidata.org/wiki/Q2006636,"waterborne disease",en -http://purl.obolibrary.org/obo/NCIT_C16495,"Demographics",en -https://www.wikidata.org/wiki/Q58028485,"policy compliance",en -http://purl.obolibrary.org/obo/EUPATH_0000359,"occupation",en -https://www.wikidata.org/wiki/Q70362525,"Hospital Bed Capacity",en -http://purl.obolibrary.org/obo/OMIT_0005898,"Employment",en -http://purl.obolibrary.org/obo/OMIT_0004111,"Cholesterol, Dietary",en -https://www.wikidata.org/wiki/Q1339474,"maternal death",en -https://www.wikidata.org/wiki/Q15636229,"surgical procedure",en -https://www.wikidata.org/wiki/Q95449639,"Vaccine-Preventable Diseases",en -http://purl.obolibrary.org/obo/GSSO_008527,"leisure activity",en -https://www.wikidata.org/wiki/Q17054975,"Health Workforce",en -https://www.wikidata.org/wiki/Q8434,"education",en -https://publications.europa.eu/resource/authority/language/ROM,"romani",hu -https://publications.europa.eu/resource/authority/language/ROM,"romski",sh -https://publications.europa.eu/resource/authority/language/ROM,"romani",fi -https://publications.europa.eu/resource/authority/language/ROM,"rómčina",sk -https://publications.europa.eu/resource/authority/language/ROM,"romština",cs -https://publications.europa.eu/resource/authority/language/ROM,"romski",pl -https://publications.europa.eu/resource/authority/language/ROM,"Zingaru",mt -https://publications.europa.eu/resource/authority/language/ROM,"цыга́нский",ru -https://publications.europa.eu/resource/authority/language/ROM,"ромски",mk -https://publications.europa.eu/resource/authority/language/ROM,"romų kalba",lt -https://publications.europa.eu/resource/authority/language/ROM,"romani",is -https://publications.europa.eu/resource/authority/language/ROM,"romaní",es -https://publications.europa.eu/resource/authority/language/ROM,"romski",hr -https://publications.europa.eu/resource/authority/language/ROM,"ромски",bg -https://publications.europa.eu/resource/authority/language/ROM,"romani",tr -https://publications.europa.eu/resource/authority/language/ROM,"romščina",sl -https://publications.europa.eu/resource/authority/language/ROM,"Romani",de -https://publications.europa.eu/resource/authority/language/ROM,"roma keel",et -https://publications.europa.eu/resource/authority/language/ROM,"Romani",nl -https://publications.europa.eu/resource/authority/language/ROM,"romani",da -https://publications.europa.eu/resource/authority/language/ROM,"romani",pt -https://publications.europa.eu/resource/authority/language/ROM,"romani",sv -https://publications.europa.eu/resource/authority/language/ROM,"циганська мова",uk -https://publications.europa.eu/resource/authority/language/ROM,"romani",fr -https://publications.europa.eu/resource/authority/language/ROM,"čigānu valoda",lv -https://publications.europa.eu/resource/authority/language/ROM,"romaní",it -https://publications.europa.eu/resource/authority/language/ROM,"Romani",ga -https://publications.europa.eu/resource/authority/language/ROM,"romani",no -https://publications.europa.eu/resource/authority/language/ROM,"ромски",sr -https://publications.europa.eu/resource/authority/language/ROM,"Romani",en -https://publications.europa.eu/resource/authority/language/ROM,"romani",ro -https://publications.europa.eu/resource/authority/language/ROM,"ρομανικά",el -http://lexvo.org/id/iso639-3/rom,"Romani",en -https://www.wikidata.org/wiki/Q93815163,"Cancer Survival Rates",en -http://purl.obolibrary.org/obo/OMIT_0015761,"Work",en -https://publications.europa.eu/resource/authority/language/ENG,"engleză",ro -https://publications.europa.eu/resource/authority/language/ENG,"angielski",pl -https://publications.europa.eu/resource/authority/language/ENG,"Englisch",de -https://publications.europa.eu/resource/authority/language/ENG,"inglés",es -https://publications.europa.eu/resource/authority/language/ENG,"angličtina",sk -https://publications.europa.eu/resource/authority/language/ENG,"английский",ru -https://publications.europa.eu/resource/authority/language/ENG,"Engels",nl -https://publications.europa.eu/resource/authority/language/ENG,"engleski",hr -https://publications.europa.eu/resource/authority/language/ENG,"inglise keel",et -https://publications.europa.eu/resource/authority/language/ENG,"angļu valoda",lv -https://publications.europa.eu/resource/authority/language/ENG,"engelsk",no -https://publications.europa.eu/resource/authority/language/ENG,"jendźelšćina",hsb -https://publications.europa.eu/resource/authority/language/ENG,"енглески",sr -https://publications.europa.eu/resource/authority/language/ENG,"ıngilizce",tr -https://publications.europa.eu/resource/authority/language/ENG,"anglais",fr -https://publications.europa.eu/resource/authority/language/ENG,"inglese",it -https://publications.europa.eu/resource/authority/language/ENG,"engleski",sh -https://publications.europa.eu/resource/authority/language/ENG,"inglês",pt -https://publications.europa.eu/resource/authority/language/ENG,"engelsk",da -https://publications.europa.eu/resource/authority/language/ENG,"enska",is -https://publications.europa.eu/resource/authority/language/ENG,"angol",hu -https://publications.europa.eu/resource/authority/language/ENG,"Béarla",ga -https://publications.europa.eu/resource/authority/language/ENG,"Ingliż",mt -https://publications.europa.eu/resource/authority/language/ENG,"английски",bg -https://publications.europa.eu/resource/authority/language/ENG,"anglų kalba",lt -https://publications.europa.eu/resource/authority/language/ENG,"angličtina",cs -https://publications.europa.eu/resource/authority/language/ENG,"αγγλικά",el -https://publications.europa.eu/resource/authority/language/ENG,"engelska",sv -https://publications.europa.eu/resource/authority/language/ENG,"англійська мова",uk -https://publications.europa.eu/resource/authority/language/ENG,"angleščina",sl -https://publications.europa.eu/resource/authority/language/ENG,"англиски",mk -https://publications.europa.eu/resource/authority/language/ENG,"englanti",fi -https://publications.europa.eu/resource/authority/language/ENG,"English",en -http://lexvo.org/id/iso639-3/eng,"English",en -https://www.wikidata.org/wiki/Q622527,"self-injury",en -https://www.wikidata.org/wiki/Q2715623,"social network",en -https://publications.europa.eu/resource/authority/language/RUS,"Russisch",de -https://publications.europa.eu/resource/authority/language/RUS,"rusă",ro -https://publications.europa.eu/resource/authority/language/RUS,"russo",pt -https://publications.europa.eu/resource/authority/language/RUS,"vene keel",et -https://publications.europa.eu/resource/authority/language/RUS,"rosyjski",pl -https://publications.europa.eu/resource/authority/language/RUS,"Russu",mt -https://publications.europa.eu/resource/authority/language/RUS,"ruština",sk -https://publications.europa.eu/resource/authority/language/RUS,"російська мова",uk -https://publications.europa.eu/resource/authority/language/RUS,"ruso",es -https://publications.europa.eu/resource/authority/language/RUS,"ryska",sv -https://publications.europa.eu/resource/authority/language/RUS,"russisk",no -https://publications.europa.eu/resource/authority/language/RUS,"руски",bg -https://publications.europa.eu/resource/authority/language/RUS,"Rúisis",ga -https://publications.europa.eu/resource/authority/language/RUS,"russe",fr -https://publications.europa.eu/resource/authority/language/RUS,"russo",it -https://publications.europa.eu/resource/authority/language/RUS,"ruski",sh -https://publications.europa.eu/resource/authority/language/RUS,"russisk",da -https://publications.europa.eu/resource/authority/language/RUS,"Russisch",nl -https://publications.europa.eu/resource/authority/language/RUS,"krievu valoda",lv -https://publications.europa.eu/resource/authority/language/RUS,"rusça",tr -https://publications.europa.eu/resource/authority/language/RUS,"pусский",ru -https://publications.europa.eu/resource/authority/language/RUS,"ruština",cs -https://publications.europa.eu/resource/authority/language/RUS,"ruski",hr -https://publications.europa.eu/resource/authority/language/RUS,"Russian",en -https://publications.europa.eu/resource/authority/language/RUS,"ρωσικά",el -https://publications.europa.eu/resource/authority/language/RUS,"руски",mk -https://publications.europa.eu/resource/authority/language/RUS,"руски",sr -https://publications.europa.eu/resource/authority/language/RUS,"ruščina",sl -https://publications.europa.eu/resource/authority/language/RUS,"venäjä",fi -https://publications.europa.eu/resource/authority/language/RUS,"orosz",hu -https://publications.europa.eu/resource/authority/language/RUS,"rusų kalba",lt -https://publications.europa.eu/resource/authority/language/RUS,"rússneska",is -https://publications.europa.eu/resource/authority/language/RUS,"rušćina",hsb -http://lexvo.org/id/iso639-3/rus,"Russian",en -https://www.wikidata.org/wiki/Q1519843,"health technology",en -http://purl.obolibrary.org/obo/NCIT_C17009,"Poverty",en -http://purl.obolibrary.org/obo/SCDO_0000948,"Quality of Health Care",en -http://purl.obolibrary.org/obo/OMIT_0010070,"Mortality",en -http://purl.obolibrary.org/obo/NCIT_C41150,"Income",en -http://purl.obolibrary.org/obo/NCIT_C25172,"Employed",en -http://purl.obolibrary.org/obo/NCIT_C16696,"Hospital",en -https://www.wikidata.org/wiki/Q53464336,"Airborne Diseases",en -https://www.wikidata.org/wiki/Q7743,"home",en -http://purl.obolibrary.org/obo/OMIT_0013643,"Sexually Transmitted Diseases",en -https://www.wikidata.org/wiki/Q1762591,"periodic health examination",en -https://www.wikidata.org/wiki/Q22907655,"patient experience",en -http://purl.obolibrary.org/obo/MAXO_0000004,"surgical procedure",en -http://purl.obolibrary.org/obo/NCIT_C157935,"Non-Communicable Disorder",en -http://purl.obolibrary.org/obo/OMIT_0010062,"Morbidity",en -https://publications.europa.eu/resource/authority/language/NNO,"norvegiană nynorsk",ro -https://publications.europa.eu/resource/authority/language/NNO,"neonorueguês",pt -https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",en -https://publications.europa.eu/resource/authority/language/NNO,"νορβηγική νίνορσκ",el -https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk Norveġiż",mt -https://publications.europa.eu/resource/authority/language/NNO,"norvég nynorsk",hu -https://publications.europa.eu/resource/authority/language/NNO,"norština (nynorsk)",cs -https://publications.europa.eu/resource/authority/language/NNO,"norweski nynorsk",pl -https://publications.europa.eu/resource/authority/language/NNO,"norska (nynorska)",sv -https://publications.europa.eu/resource/authority/language/NNO,"norvegese nynorsk",it -https://publications.europa.eu/resource/authority/language/NNO,"jaunnorvēģu valoda",lv -https://publications.europa.eu/resource/authority/language/NNO,"novonorveški",hr -https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",es -https://publications.europa.eu/resource/authority/language/NNO,"Nynorsk",de -https://publications.europa.eu/resource/authority/language/NNO,"nórčina (nynorsk)",sk -https://publications.europa.eu/resource/authority/language/NNO,"nynorsk",da -https://publications.europa.eu/resource/authority/language/NNO,"норвежки съвременен",bg -https://publications.europa.eu/resource/authority/language/NNO,"Nua-Ioruais",ga -https://publications.europa.eu/resource/authority/language/NNO,"uusnorja",fi -https://publications.europa.eu/resource/authority/language/NNO,"norvegų niunoškas",lt -https://publications.europa.eu/resource/authority/language/NNO,"Norwegian Nynorsk",nl -https://publications.europa.eu/resource/authority/language/NNO,"norvégien nynorsk",fr -https://publications.europa.eu/resource/authority/language/NNO,"novonorveščina",sl -https://publications.europa.eu/resource/authority/language/NNO,"uusnorra keel",et -https://publications.europa.eu/resource/authority/language/NNO,"норвезька нюнорська мова",uk -http://lexvo.org/id/iso639-3/nno,"Norwegian Nynorsk",en -https://www.wikidata.org/wiki/Q96482267,"vaccination coverage",en -https://www.wikidata.org/wiki/Q6784043,"mass gathering",en -https://www.wikidata.org/wiki/Q193078,"injury",en -https://www.wikidata.org/wiki/Q98299735,"noncommunicable diseases",en -https://www.wikidata.org/wiki/Q506319,"generic drug",en -https://www.wikidata.org/wiki/Q6672123,"long-term care",en -http://purl.obolibrary.org/obo/NCIT_C17953,"Education Level",en -http://purl.obolibrary.org/obo/SCDO_0001088,"Social Support",en -http://purl.obolibrary.org/obo/NCIT_C90384,"Food Consumption",en -https://www.wikidata.org/wiki/Q186360,"nurse",en -https://www.wikidata.org/wiki/Q171558,"accident",en -https://www.wikidata.org/wiki/Q66982216,"health status",en -http://purl.obolibrary.org/obo/OBIB_0000716,"surgical procedure",en -https://www.wikidata.org/wiki/Q5031455,"Cancer survival rates",en -http://purl.obolibrary.org/obo/MFOMD_0000004,"mental disorder",en -http://purl.obolibrary.org/obo/OMIT_0017009,"Drug Costs",en -https://www.wikidata.org/wiki/Q1814351,"public health intervention",en -http://purl.obolibrary.org/obo/OMIT_0002889,"Behavior",en -https://www.wikidata.org/wiki/Q28885102,"pharmaceutical product",en -https://publications.europa.eu/resource/authority/language/NLD,"nižozemšćina",hsb -https://publications.europa.eu/resource/authority/language/NLD,"hollenska",is -https://publications.europa.eu/resource/authority/language/NLD,"nyderlandų kalba",lt -https://publications.europa.eu/resource/authority/language/NLD,"Olandiż",mt -https://publications.europa.eu/resource/authority/language/NLD,"Ollainnis",ga -https://publications.europa.eu/resource/authority/language/NLD,"niderlandzki",pl -https://publications.europa.eu/resource/authority/language/NLD,"holandski",sh -https://publications.europa.eu/resource/authority/language/NLD,"hollandaca",tr -https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",da -https://publications.europa.eu/resource/authority/language/NLD,"холандски",mk -https://publications.europa.eu/resource/authority/language/NLD,"Dutch",en -https://publications.europa.eu/resource/authority/language/NLD,"nederländska",sv -https://publications.europa.eu/resource/authority/language/NLD,"neerlandês",pt -https://publications.europa.eu/resource/authority/language/NLD,"néerlandais",fr -https://publications.europa.eu/resource/authority/language/NLD,"holandiešu valoda",lv -https://publications.europa.eu/resource/authority/language/NLD,"nizozemština",cs -https://publications.europa.eu/resource/authority/language/NLD,"holland",hu -https://publications.europa.eu/resource/authority/language/NLD,"neerlandeză",ro -https://publications.europa.eu/resource/authority/language/NLD,"холандски",sr -https://publications.europa.eu/resource/authority/language/NLD,"nizozemski",hr -https://publications.europa.eu/resource/authority/language/NLD,"нидерландски",bg -https://publications.europa.eu/resource/authority/language/NLD,"nederlandsk",no -https://publications.europa.eu/resource/authority/language/NLD,"ολλανδικά",el -https://publications.europa.eu/resource/authority/language/NLD,"нідерландська мова",uk -https://publications.europa.eu/resource/authority/language/NLD,"holandčina",sk -https://publications.europa.eu/resource/authority/language/NLD,"nizozemščina",sl -https://publications.europa.eu/resource/authority/language/NLD,"Nederlands",nl -https://publications.europa.eu/resource/authority/language/NLD,"neerlandés",es -https://publications.europa.eu/resource/authority/language/NLD,"Niederländisch",de -https://publications.europa.eu/resource/authority/language/NLD,"hollandi keel",et -https://publications.europa.eu/resource/authority/language/NLD,"нидерландский",ru -https://publications.europa.eu/resource/authority/language/NLD,"neerlandese",it -https://publications.europa.eu/resource/authority/language/NLD,"hollanti",fi -http://lexvo.org/id/iso639-3/nld,"Dutch",en -http://purl.obolibrary.org/obo/SCDO_0000493,"Health Service Utilization",en -https://www.wikidata.org/wiki/Q389735,"cardiovascular disease",en -https://www.wikidata.org/wiki/Q105252400,"vaccine acceptance",en -http://purl.obolibrary.org/obo/SCDO_0000414,"Education",en -https://www.wikidata.org/wiki/Q11000047,"health system",en -http://purl.obolibrary.org/obo/NCIT_C16877,"Morbidity",en -http://purl.obolibrary.org/obo/OMIT_0027917,"Patient Safety",en -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Υγεία",el -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdrowie",pl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravje",sl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salute",it -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saúde",pt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Santé",fr -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Terveys",fi -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sveikata",lt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Здраве",bg -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sláinte",ga -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Hälsa",sv -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Salud",es -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdraví",cs -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravotníctvo",sk -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nn -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sundhed",da -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Veselība",lv -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",nb -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Zdravlje",hr -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gesundheit",de -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Sănătate",ro -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Tervis",et -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Saħħa",mt -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Egészségügy",hu -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Gezondheid",nl -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Helse",no -http://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en -https://www.wikidata.org/wiki/Q67171878,"tobacco use",en -https://www.wikidata.org/wiki/Q59283414,"health care costs",en -https://www.wikidata.org/wiki/Q13579947,"misinformation",en -http://purl.obolibrary.org/obo/OMIT_0001080,"Accidents, Traffic",en -http://purl.obolibrary.org/obo/OMRSE_00000013,"physician role",en -http://purl.obolibrary.org/obo/NCIT_C18059,"Tobacco Use",en -http://purl.obolibrary.org/obo/NCIT_C16729,"Infant Mortality",en -http://purl.obolibrary.org/obo/NCIT_C20821,"Nurse",en -https://www.wikidata.org/wiki/Q12174,"obesity",en -https://publications.europa.eu/resource/authority/language/SRP,"сръбски",bg -https://publications.europa.eu/resource/authority/language/SRP,"Serbisch",de -https://publications.europa.eu/resource/authority/language/SRP,"serbia",fi -https://publications.europa.eu/resource/authority/language/SRP,"serbo",it -https://publications.europa.eu/resource/authority/language/SRP,"Servisch",nl -https://publications.europa.eu/resource/authority/language/SRP,"serbu valoda",lv -https://publications.europa.eu/resource/authority/language/SRP,"Serbian",en -https://publications.europa.eu/resource/authority/language/SRP,"Serb",mt -https://publications.europa.eu/resource/authority/language/SRP,"srpski",sh -https://publications.europa.eu/resource/authority/language/SRP,"srbština",cs -https://publications.europa.eu/resource/authority/language/SRP,"srbčina",sk -https://publications.europa.eu/resource/authority/language/SRP,"serbų kalba",lt -https://publications.europa.eu/resource/authority/language/SRP,"сербский",ru -https://publications.europa.eu/resource/authority/language/SRP,"sérvio",pt -https://publications.europa.eu/resource/authority/language/SRP,"serbski",pl -https://publications.europa.eu/resource/authority/language/SRP,"sırpça",tr -https://publications.europa.eu/resource/authority/language/SRP,"сербська мова",uk -https://publications.europa.eu/resource/authority/language/SRP,"srbščina",sl -https://publications.europa.eu/resource/authority/language/SRP,"serbneska",is -https://publications.europa.eu/resource/authority/language/SRP,"српски",mk -https://publications.europa.eu/resource/authority/language/SRP,"serbiska",sv -https://publications.europa.eu/resource/authority/language/SRP,"serbio",es -https://publications.europa.eu/resource/authority/language/SRP,"Seirbis",ga -https://publications.europa.eu/resource/authority/language/SRP,"sârbă",ro -https://publications.europa.eu/resource/authority/language/SRP,"srpski",hr -https://publications.europa.eu/resource/authority/language/SRP,"szerb",hu -https://publications.europa.eu/resource/authority/language/SRP,"serbisk",da -https://publications.europa.eu/resource/authority/language/SRP,"serbisk",no -https://publications.europa.eu/resource/authority/language/SRP,"serbe",fr -https://publications.europa.eu/resource/authority/language/SRP,"serbišćina",hsb -https://publications.europa.eu/resource/authority/language/SRP,"serbia keel",et -https://publications.europa.eu/resource/authority/language/SRP,"σερβικά",el -https://publications.europa.eu/resource/authority/language/SRP,"српски",sr -http://lexvo.org/id/iso639-3/srp,"Serbian",en -http://purl.obolibrary.org/obo/OMIT_0007885,"Hospital Bed Capacity",en -http://purl.obolibrary.org/obo/OPMI_0000482,"medical visit",en -http://purl.obolibrary.org/obo/APOLLO_SV_00000550,"contact tracing",en -http://purl.obolibrary.org/obo/NCIT_C128353,"Airborne Transmission",en -https://www.wikidata.org/wiki/Q142259,"hospital bed",en -https://publications.europa.eu/resource/authority/language/MLT,"maltesiska",sv -https://publications.europa.eu/resource/authority/language/MLT,"maltiečių kalba",lt -https://publications.europa.eu/resource/authority/language/MLT,"Maltese",en -https://publications.europa.eu/resource/authority/language/MLT,"maltais",fr -https://publications.europa.eu/resource/authority/language/MLT,"máltai",hu -https://publications.europa.eu/resource/authority/language/MLT,"malteză",ro -https://publications.europa.eu/resource/authority/language/MLT,"Malti",mt -https://publications.europa.eu/resource/authority/language/MLT,"maltés",es -https://publications.europa.eu/resource/authority/language/MLT,"maltčina",sk -https://publications.europa.eu/resource/authority/language/MLT,"малтешки",sr -https://publications.europa.eu/resource/authority/language/MLT,"malteški",sh -https://publications.europa.eu/resource/authority/language/MLT,"maltiešu valoda",lv -https://publications.europa.eu/resource/authority/language/MLT,"мальтийский",ru -https://publications.europa.eu/resource/authority/language/MLT,"malta",fi -https://publications.europa.eu/resource/authority/language/MLT,"малтешки",mk -https://publications.europa.eu/resource/authority/language/MLT,"maltaca",tr -https://publications.europa.eu/resource/authority/language/MLT,"malteščina",sl -https://publications.europa.eu/resource/authority/language/MLT,"maltašćina",hsb -https://publications.europa.eu/resource/authority/language/MLT,"maltština",cs -https://publications.europa.eu/resource/authority/language/MLT,"maltese",it -https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",no -https://publications.europa.eu/resource/authority/language/MLT,"malta keel",et -https://publications.europa.eu/resource/authority/language/MLT,"малтийски",bg -https://publications.europa.eu/resource/authority/language/MLT,"maltês",pt -https://publications.europa.eu/resource/authority/language/MLT,"maltneska",is -https://publications.europa.eu/resource/authority/language/MLT,"μαλτέζικα",el -https://publications.europa.eu/resource/authority/language/MLT,"malteški",hr -https://publications.europa.eu/resource/authority/language/MLT,"maltesisk",da -https://publications.europa.eu/resource/authority/language/MLT,"maltański",pl -https://publications.europa.eu/resource/authority/language/MLT,"Maltees",nl -https://publications.europa.eu/resource/authority/language/MLT,"мальтійська мова",uk -https://publications.europa.eu/resource/authority/language/MLT,"Máltais",ga -https://publications.europa.eu/resource/authority/language/MLT,"Maltesisch",de -http://lexvo.org/id/iso639-3/mlt,"Maltese",en -http://purl.obolibrary.org/obo/NCIT_C15406,"Cancer Screening",en -https://publications.europa.eu/resource/authority/language/SWE,"шведски",bg -https://publications.europa.eu/resource/authority/language/SWE,"Schwedisch",de -https://publications.europa.eu/resource/authority/language/SWE,"шведски",sr -https://publications.europa.eu/resource/authority/language/SWE,"rootsi keel",et -https://publications.europa.eu/resource/authority/language/SWE,"svenska",sv -https://publications.europa.eu/resource/authority/language/SWE,"sænska",is -https://publications.europa.eu/resource/authority/language/SWE,"шведский",ru -https://publications.europa.eu/resource/authority/language/SWE,"suédois",fr -https://publications.europa.eu/resource/authority/language/SWE,"ruotsi",fi -https://publications.europa.eu/resource/authority/language/SWE,"Swedish",en -https://publications.europa.eu/resource/authority/language/SWE,"svedese",it -https://publications.europa.eu/resource/authority/language/SWE,"ısveççe",tr -https://publications.europa.eu/resource/authority/language/SWE,"svensk",da -https://publications.europa.eu/resource/authority/language/SWE,"sueco",pt -https://publications.europa.eu/resource/authority/language/SWE,"suedeză",ro -https://publications.europa.eu/resource/authority/language/SWE,"Sualainnis",ga -https://publications.europa.eu/resource/authority/language/SWE,"шведська мова",uk -https://publications.europa.eu/resource/authority/language/SWE,"švedščina",sl -https://publications.europa.eu/resource/authority/language/SWE,"szwedzki",pl -https://publications.europa.eu/resource/authority/language/SWE,"svéd",hu -https://publications.europa.eu/resource/authority/language/SWE,"švedų kalba",lt -https://publications.europa.eu/resource/authority/language/SWE,"шведски",mk -https://publications.europa.eu/resource/authority/language/SWE,"Zweeds",nl -https://publications.europa.eu/resource/authority/language/SWE,"švedski",hr -https://publications.europa.eu/resource/authority/language/SWE,"šwedšćina",hsb -https://publications.europa.eu/resource/authority/language/SWE,"švedski",sh -https://publications.europa.eu/resource/authority/language/SWE,"švédčina",sk -https://publications.europa.eu/resource/authority/language/SWE,"Svediż",mt -https://publications.europa.eu/resource/authority/language/SWE,"švédština",cs -https://publications.europa.eu/resource/authority/language/SWE,"zviedru valoda",lv -https://publications.europa.eu/resource/authority/language/SWE,"σουηδικά",el -https://publications.europa.eu/resource/authority/language/SWE,"sueco",es -https://publications.europa.eu/resource/authority/language/SWE,"svensk",no -http://lexvo.org/id/iso639-3/swe,"Swedish",en -http://purl.obolibrary.org/obo/OMIT_0004449,"Communicable Diseases",en -https://www.wikidata.org/wiki/Q84263196,"COVID-19",en -http://purl.obolibrary.org/obo/NCIT_C16205,"Healthcare Activity",en -http://purl.obolibrary.org/obo/OMIT_0016881,"Contact Tracing",en -https://www.wikidata.org/wiki/Q3706138,"determinants of health",en -http://purl.obolibrary.org/obo/OBI_1110053,"cancer",en -https://www.wikidata.org/wiki/Q110207349,"psychoactive drug use",en -https://www.wikidata.org/wiki/Q42138532,"genetic characteristic",en -http://purl.obolibrary.org/obo/NCIT_C2985,"Diabetes Mellitus",en -https://www.wikidata.org/wiki/Q16917,"hospital",en -http://purl.obolibrary.org/obo/NCIT_C173747,"Protective Face Mask",en -https://publications.europa.eu/resource/authority/language/SLV,"словенски",bg -https://publications.europa.eu/resource/authority/language/SLV,"slovēņu valoda",lv -https://publications.europa.eu/resource/authority/language/SLV,"slovensk",da -https://publications.europa.eu/resource/authority/language/SLV,"slóvenska",is -https://publications.europa.eu/resource/authority/language/SLV,"esloveno",pt -https://publications.europa.eu/resource/authority/language/SLV,"Sloven",mt -https://publications.europa.eu/resource/authority/language/SLV,"Slóivéinis",ga -https://publications.europa.eu/resource/authority/language/SLV,"словенська мова",uk -https://publications.europa.eu/resource/authority/language/SLV,"sloveno",it -https://publications.europa.eu/resource/authority/language/SLV,"slovensk",no -https://publications.europa.eu/resource/authority/language/SLV,"slovence",tr -https://publications.europa.eu/resource/authority/language/SLV,"Sloveens",nl -https://publications.europa.eu/resource/authority/language/SLV,"slovenski",sh -https://publications.europa.eu/resource/authority/language/SLV,"sloveenia keel",et -https://publications.europa.eu/resource/authority/language/SLV,"slovėnų kalba",lt -https://publications.europa.eu/resource/authority/language/SLV,"słoweński",pl -https://publications.europa.eu/resource/authority/language/SLV,"словеначки",sr -https://publications.europa.eu/resource/authority/language/SLV,"σλοβενικά",el -https://publications.europa.eu/resource/authority/language/SLV,"slovenă",ro -https://publications.europa.eu/resource/authority/language/SLV,"Slowenisch",de -https://publications.europa.eu/resource/authority/language/SLV,"słowjenšćina",hsb -https://publications.europa.eu/resource/authority/language/SLV,"slovenski",hr -https://publications.europa.eu/resource/authority/language/SLV,"slovinčina",sk -https://publications.europa.eu/resource/authority/language/SLV,"словенечки",mk -https://publications.europa.eu/resource/authority/language/SLV,"Slovenian",en -https://publications.europa.eu/resource/authority/language/SLV,"esloveno",es -https://publications.europa.eu/resource/authority/language/SLV,"slovenska",sv -https://publications.europa.eu/resource/authority/language/SLV,"slovinština",cs -https://publications.europa.eu/resource/authority/language/SLV,"словенский",ru -https://publications.europa.eu/resource/authority/language/SLV,"szlovén",hu -https://publications.europa.eu/resource/authority/language/SLV,"slovène",fr -https://publications.europa.eu/resource/authority/language/SLV,"slovenščina",sl -https://publications.europa.eu/resource/authority/language/SLV,"sloveeni",fi -http://lexvo.org/id/iso639-3/slv,"Slovenian",en -https://www.wikidata.org/wiki/Q1128437,"contact tracing",en -https://www.wikidata.org/wiki/Q3044843,"cancer screening",en -https://publications.europa.eu/resource/authority/language/POL,"Polainnis",ga -https://publications.europa.eu/resource/authority/language/POL,"полски",mk -https://publications.europa.eu/resource/authority/language/POL,"polacco",it -https://publications.europa.eu/resource/authority/language/POL,"Pools",nl -https://publications.europa.eu/resource/authority/language/POL,"polaco",es -https://publications.europa.eu/resource/authority/language/POL,"Polnisch",de -https://publications.europa.eu/resource/authority/language/POL,"пољски",sr -https://publications.europa.eu/resource/authority/language/POL,"πολωνικά",el -https://publications.europa.eu/resource/authority/language/POL,"pólšćina",hsb -https://publications.europa.eu/resource/authority/language/POL,"polsk",da -https://publications.europa.eu/resource/authority/language/POL,"polonais",fr -https://publications.europa.eu/resource/authority/language/POL,"poljščina",sl -https://publications.europa.eu/resource/authority/language/POL,"lenkų kalba",lt -https://publications.europa.eu/resource/authority/language/POL,"polski",pl -https://publications.europa.eu/resource/authority/language/POL,"poļu valoda",lv -https://publications.europa.eu/resource/authority/language/POL,"poola keel",et -https://publications.europa.eu/resource/authority/language/POL,"pólska",is -https://publications.europa.eu/resource/authority/language/POL,"polština",cs -https://publications.europa.eu/resource/authority/language/POL,"польська мова",uk -https://publications.europa.eu/resource/authority/language/POL,"poljski",sh -https://publications.europa.eu/resource/authority/language/POL,"puola",fi -https://publications.europa.eu/resource/authority/language/POL,"polaco",pt -https://publications.europa.eu/resource/authority/language/POL,"polsk",no -https://publications.europa.eu/resource/authority/language/POL,"полски",bg -https://publications.europa.eu/resource/authority/language/POL,"polonă",ro -https://publications.europa.eu/resource/authority/language/POL,"lengyel",hu -https://publications.europa.eu/resource/authority/language/POL,"польский",ru -https://publications.europa.eu/resource/authority/language/POL,"poľština",sk -https://publications.europa.eu/resource/authority/language/POL,"lehçe",tr -https://publications.europa.eu/resource/authority/language/POL,"poljski",hr -https://publications.europa.eu/resource/authority/language/POL,"polska",sv -https://publications.europa.eu/resource/authority/language/POL,"Pollakk",mt -https://publications.europa.eu/resource/authority/language/POL,"Polish",en -http://lexvo.org/id/iso639-3/pol,"Polish",en -https://www.wikidata.org/wiki/Q39631,"physician",en -https://www.wikidata.org/wiki/Q82642,"blood pressure",en -http://purl.obolibrary.org/obo/OBI_0000844,"obsolete hospital",en -https://www.wikidata.org/wiki/Q2647488,"alcohol consumption",en -http://purl.obolibrary.org/obo/IDOMAL_0000023,"zoonotic",en -https://www.wikidata.org/wiki/Q4927522,"blood-borne disease",en -https://publications.europa.eu/resource/authority/language/HUN,"maďarčina",sk -https://publications.europa.eu/resource/authority/language/HUN,"ουγγρικά",el -https://publications.europa.eu/resource/authority/language/HUN,"ungāru valoda",lv -https://publications.europa.eu/resource/authority/language/HUN,"Hungarian",en -https://publications.europa.eu/resource/authority/language/HUN,"Ungarisch",de -https://publications.europa.eu/resource/authority/language/HUN,"ungari keel",et -https://publications.europa.eu/resource/authority/language/HUN,"ungherese",it -https://publications.europa.eu/resource/authority/language/HUN,"Ungeriż",mt -https://publications.europa.eu/resource/authority/language/HUN,"maďarština",cs -https://publications.europa.eu/resource/authority/language/HUN,"ungverska",is -https://publications.europa.eu/resource/authority/language/HUN,"унгарски",bg -https://publications.europa.eu/resource/authority/language/HUN,"унгарски",mk -https://publications.europa.eu/resource/authority/language/HUN,"węgierski",pl -https://publications.europa.eu/resource/authority/language/HUN,"Ungáiris",ga -https://publications.europa.eu/resource/authority/language/HUN,"mađarski",sh -https://publications.europa.eu/resource/authority/language/HUN,"vengrų kalba",lt -https://publications.europa.eu/resource/authority/language/HUN,"macarca",tr -https://publications.europa.eu/resource/authority/language/HUN,"Hongaars",nl -https://publications.europa.eu/resource/authority/language/HUN,"hongrois",fr -https://publications.europa.eu/resource/authority/language/HUN,"madźaršćina",hsb -https://publications.europa.eu/resource/authority/language/HUN,"unkari",fi -https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",no -https://publications.europa.eu/resource/authority/language/HUN,"húngaro",es -https://publications.europa.eu/resource/authority/language/HUN,"magyar",hu -https://publications.europa.eu/resource/authority/language/HUN,"ungarsk",da -https://publications.europa.eu/resource/authority/language/HUN,"mađarski",hr -https://publications.europa.eu/resource/authority/language/HUN,"угорська мова",uk -https://publications.europa.eu/resource/authority/language/HUN,"húngaro",pt -https://publications.europa.eu/resource/authority/language/HUN,"мађарски",sr -https://publications.europa.eu/resource/authority/language/HUN,"maghiară",ro -https://publications.europa.eu/resource/authority/language/HUN,"венгерский",ru -https://publications.europa.eu/resource/authority/language/HUN,"ungerska",sv -https://publications.europa.eu/resource/authority/language/HUN,"madžarščina",sl -http://lexvo.org/id/iso639-3/hun,"Hungarian",en -http://purl.obolibrary.org/obo/OMIT_0012168,"Poverty",en -http://purl.obolibrary.org/obo/OMIT_0008353,"Infant Mortality",en -http://purl.obolibrary.org/obo/MFOMD_0000001,"mental disease",en -https://www.wikidata.org/wiki/Q12135,"mental disorder",en -http://purl.obolibrary.org/obo/VO_0000809,"vaccination coverage",en -http://purl.obolibrary.org/obo/OMIT_0003154,"Blood Pressure",en -http://purl.obolibrary.org/obo/OMIT_0024293,"Overweight",en -http://semanticscience.org/resource/SIO_001022,"diagnostic test",en -https://publications.europa.eu/resource/authority/language/HRV,"croată",ro -https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",de -https://publications.europa.eu/resource/authority/language/HRV,"horvaadi keel",et -https://publications.europa.eu/resource/authority/language/HRV,"κροατικά",el -https://publications.europa.eu/resource/authority/language/HRV,"хорватська мова",uk -https://publications.europa.eu/resource/authority/language/HRV,"хрватски",sr -https://publications.europa.eu/resource/authority/language/HRV,"hırvatça",tr -https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",no -https://publications.europa.eu/resource/authority/language/HRV,"Kroatisch",nl -https://publications.europa.eu/resource/authority/language/HRV,"croata",es -https://publications.europa.eu/resource/authority/language/HRV,"Cróitis",ga -https://publications.europa.eu/resource/authority/language/HRV,"chorwatšćina",hsb -https://publications.europa.eu/resource/authority/language/HRV,"hrvaščina",sl -https://publications.europa.eu/resource/authority/language/HRV,"kroatisk",da -https://publications.europa.eu/resource/authority/language/HRV,"króatíska",is -https://publications.europa.eu/resource/authority/language/HRV,"croate",fr -https://publications.europa.eu/resource/authority/language/HRV,"chorvátčina",sk -https://publications.europa.eu/resource/authority/language/HRV,"kroatiska",sv -https://publications.europa.eu/resource/authority/language/HRV,"Kroat",mt -https://publications.europa.eu/resource/authority/language/HRV,"kroatų kalba",lt -https://publications.europa.eu/resource/authority/language/HRV,"хорватский",ru -https://publications.europa.eu/resource/authority/language/HRV,"croato",it -https://publications.europa.eu/resource/authority/language/HRV,"хърватски",bg -https://publications.europa.eu/resource/authority/language/HRV,"kroatia",fi -https://publications.europa.eu/resource/authority/language/HRV,"horvātu valoda",lv -https://publications.europa.eu/resource/authority/language/HRV,"croata",pt -https://publications.europa.eu/resource/authority/language/HRV,"chorwacki",pl -https://publications.europa.eu/resource/authority/language/HRV,"horvát",hu -https://publications.europa.eu/resource/authority/language/HRV,"хрватски",mk -https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",sh -https://publications.europa.eu/resource/authority/language/HRV,"chorvatština",cs -https://publications.europa.eu/resource/authority/language/HRV,"hrvatski",hr -https://publications.europa.eu/resource/authority/language/HRV,"Croatian",en -http://lexvo.org/id/iso639-3/hrv,"Croatian",en -http://purl.obolibrary.org/obo/GSSO_009380,"health care quality",en -https://www.wikidata.org/wiki/Q94298961,"Medical Appointment",en -https://www.wikidata.org/wiki/Q3137154,"non-communicable disease",en -http://purl.obolibrary.org/obo/SCDO_0001090,"Socioeconomic Factors",en -http://purl.obolibrary.org/obo/IDO_0000436,"infectious disease",en -https://www.wikidata.org/wiki/Q43656,"cholesterol",en -http://purl.obolibrary.org/obo/OMIT_0022422,"Maternal-Fetal Relations",en -http://purl.obolibrary.org/obo/OMIT_0013818,"Social Environment",en -https://www.wikidata.org/wiki/Q3286546,"respiratory disease",en -https://publications.europa.eu/resource/authority/language/ITA,"Italian",en -https://publications.europa.eu/resource/authority/language/ITA,"olasz",hu -https://publications.europa.eu/resource/authority/language/ITA,"talijanski",hr -https://publications.europa.eu/resource/authority/language/ITA,"italiano",es -https://publications.europa.eu/resource/authority/language/ITA,"итальянский",ru -https://publications.europa.eu/resource/authority/language/ITA,"italien",fr -https://publications.europa.eu/resource/authority/language/ITA,"italijanščina",sl -https://publications.europa.eu/resource/authority/language/ITA,"ıtalyanca",tr -https://publications.europa.eu/resource/authority/language/ITA,"ítalska",is -https://publications.europa.eu/resource/authority/language/ITA,"italiano",it -https://publications.europa.eu/resource/authority/language/ITA,"italiano",pt -https://publications.europa.eu/resource/authority/language/ITA,"italšćina",hsb -https://publications.europa.eu/resource/authority/language/ITA,"itaalia keel",et -https://publications.europa.eu/resource/authority/language/ITA,"italiensk",da -https://publications.europa.eu/resource/authority/language/ITA,"італійська мова",uk -https://publications.europa.eu/resource/authority/language/ITA,"italienska",sv -https://publications.europa.eu/resource/authority/language/ITA,"italiensk",no -https://publications.europa.eu/resource/authority/language/ITA,"italia",fi -https://publications.europa.eu/resource/authority/language/ITA,"italština",cs -https://publications.europa.eu/resource/authority/language/ITA,"ιταλικά",el -https://publications.europa.eu/resource/authority/language/ITA,"Italiaans",nl -https://publications.europa.eu/resource/authority/language/ITA,"italijanski",sh -https://publications.europa.eu/resource/authority/language/ITA,"taliančina",sk -https://publications.europa.eu/resource/authority/language/ITA,"италијански",sr -https://publications.europa.eu/resource/authority/language/ITA,"włoski",pl -https://publications.europa.eu/resource/authority/language/ITA,"Taljan",mt -https://publications.europa.eu/resource/authority/language/ITA,"италиански",bg -https://publications.europa.eu/resource/authority/language/ITA,"italų kalba",lt -https://publications.europa.eu/resource/authority/language/ITA,"Iodáilis",ga -https://publications.europa.eu/resource/authority/language/ITA,"itāļu valoda",lv -https://publications.europa.eu/resource/authority/language/ITA,"италијански",mk -https://publications.europa.eu/resource/authority/language/ITA,"Italienisch",de -https://publications.europa.eu/resource/authority/language/ITA,"italiană",ro -http://lexvo.org/id/iso639-3/ita,"Italian",en -http://purl.obolibrary.org/obo/SCDO_0001082,"Social Environment",en -https://www.wikidata.org/wiki/Q7981051,"well-being",en -https://www.wikidata.org/wiki/Q1367554,"morbidity",en -http://edamontology.org/topic_3324,"Infectious disease",en -http://purl.obolibrary.org/obo/TRANS_0000009,"airborne transmission",en -http://purl.obolibrary.org/obo/OMIABIS_0001041,"surgical procedure",en -http://purl.obolibrary.org/obo/GSSO_006598,"self-injury",en -https://www.wikidata.org/wiki/Q11024,"communication",en -https://www.wikidata.org/wiki/Q95439933,"Vaccine-preventable Diseases",en -http://purl.obolibrary.org/obo/NCIT_C25193,"Occupation",en -https://www.wikidata.org/wiki/Q835884,"infant mortality",en -http://purl.obolibrary.org/obo/SCDO_0000496,"Healthcare Access",en -http://purl.obolibrary.org/obo/OMIT_0007941,"Housing",en -http://purl.obolibrary.org/obo/OHD_0000005,"surgical procedure",en -http://purl.obolibrary.org/obo/SCDO_0000494,"Health System",en -https://publications.europa.eu/resource/authority/language/SPA,"spanyol",hu -https://publications.europa.eu/resource/authority/language/SPA,"spansk",da -https://publications.europa.eu/resource/authority/language/SPA,"Spanish",en -https://publications.europa.eu/resource/authority/language/SPA,"Spanjol",mt -https://publications.europa.eu/resource/authority/language/SPA,"Spaans",nl -https://publications.europa.eu/resource/authority/language/SPA,"испанский",ru -https://publications.europa.eu/resource/authority/language/SPA,"španščina",sl -https://publications.europa.eu/resource/authority/language/SPA,"španielčina",sk -https://publications.europa.eu/resource/authority/language/SPA,"hiszpański",pl -https://publications.europa.eu/resource/authority/language/SPA,"spanska",sv -https://publications.europa.eu/resource/authority/language/SPA,"Spanisch",de -https://publications.europa.eu/resource/authority/language/SPA,"španski",sh -https://publications.europa.eu/resource/authority/language/SPA,"ispanų kalba",lt -https://publications.europa.eu/resource/authority/language/SPA,"испански",bg -https://publications.europa.eu/resource/authority/language/SPA,"іспанська мова",uk -https://publications.europa.eu/resource/authority/language/SPA,"espanhol",pt -https://publications.europa.eu/resource/authority/language/SPA,"španělština",cs -https://publications.europa.eu/resource/authority/language/SPA,"spænska",is -https://publications.europa.eu/resource/authority/language/SPA,"шпански",mk -https://publications.europa.eu/resource/authority/language/SPA,"spaniolă",ro -https://publications.europa.eu/resource/authority/language/SPA,"španišćina",hsb -https://publications.europa.eu/resource/authority/language/SPA,"španjolski",hr -https://publications.europa.eu/resource/authority/language/SPA,"шпански",sr -https://publications.europa.eu/resource/authority/language/SPA,"hispaania keel",et -https://publications.europa.eu/resource/authority/language/SPA,"español",es -https://publications.europa.eu/resource/authority/language/SPA,"spansk",no -https://publications.europa.eu/resource/authority/language/SPA,"espanja",fi -https://publications.europa.eu/resource/authority/language/SPA,"spāņu valoda",lv -https://publications.europa.eu/resource/authority/language/SPA,"spagnolo",it -https://publications.europa.eu/resource/authority/language/SPA,"ισπανικά",el -https://publications.europa.eu/resource/authority/language/SPA,"espagnol",fr -https://publications.europa.eu/resource/authority/language/SPA,"ıspanyolca",tr -https://publications.europa.eu/resource/authority/language/SPA,"Spáinnis",ga -http://lexvo.org/id/iso639-3/spa,"Spanish",en -https://www.wikidata.org/wiki/Q12198,"sexually transmitted infection",en -http://purl.obolibrary.org/obo/NCIT_C16273,"Alcohol Consumption",en -http://purl.obolibrary.org/obo/APOLLO_SV_00000239,"infectious disease",en -https://www.wikidata.org/wiki/Q1475557,"patient safety",en -https://www.wikidata.org/wiki/Q188419,"life expectancy",en -https://www.wikidata.org/wiki/Q1571836,"social environment",en -https://www.wikidata.org/wiki/Q189656,"disinformation",en -https://www.wikidata.org/wiki/Q12131,"disability",en -http://purl.obolibrary.org/obo/NCIT_C173636,"Social Distancing",en -https://www.wikidata.org/wiki/Q180910,"leisure",en -http://purl.obolibrary.org/obo/OBI_1110040,"infectious disease",en -https://publications.europa.eu/resource/authority/language/LAV,"lett",hu -https://publications.europa.eu/resource/authority/language/LAV,"letão",pt -https://publications.europa.eu/resource/authority/language/LAV,"letton",fr -https://publications.europa.eu/resource/authority/language/LAV,"Laitvis",ga -https://publications.europa.eu/resource/authority/language/LAV,"łotewski",pl -https://publications.europa.eu/resource/authority/language/LAV,"läti keel",et -https://publications.europa.eu/resource/authority/language/LAV,"lettone",it -https://publications.europa.eu/resource/authority/language/LAV,"latvių kalba",lt -https://publications.europa.eu/resource/authority/language/LAV,"letišćina",hsb -https://publications.europa.eu/resource/authority/language/LAV,"латиська мова",uk -https://publications.europa.eu/resource/authority/language/LAV,"letón",es -https://publications.europa.eu/resource/authority/language/LAV,"lettneska",is -https://publications.europa.eu/resource/authority/language/LAV,"latvia",fi -https://publications.europa.eu/resource/authority/language/LAV,"латышский",ru -https://publications.europa.eu/resource/authority/language/LAV,"Latvian",en -https://publications.europa.eu/resource/authority/language/LAV,"latviešu valoda",lv -https://publications.europa.eu/resource/authority/language/LAV,"lettiska",sv -https://publications.europa.eu/resource/authority/language/LAV,"letonca",tr -https://publications.europa.eu/resource/authority/language/LAV,"летонски",sr -https://publications.europa.eu/resource/authority/language/LAV,"letonă",ro -https://publications.europa.eu/resource/authority/language/LAV,"Latvjan",mt -https://publications.europa.eu/resource/authority/language/LAV,"lotyština",cs -https://publications.europa.eu/resource/authority/language/LAV,"lettisk",da -https://publications.europa.eu/resource/authority/language/LAV,"latvisk",no -https://publications.europa.eu/resource/authority/language/LAV,"Lets",nl -https://publications.europa.eu/resource/authority/language/LAV,"letonski",sh -https://publications.europa.eu/resource/authority/language/LAV,"lotyština",sk -https://publications.europa.eu/resource/authority/language/LAV,"латвийски",bg -https://publications.europa.eu/resource/authority/language/LAV,"latvijščina",sl -https://publications.europa.eu/resource/authority/language/LAV,"λετονικά",el -https://publications.europa.eu/resource/authority/language/LAV,"latvijski",hr -https://publications.europa.eu/resource/authority/language/LAV,"латвиски",mk -https://publications.europa.eu/resource/authority/language/LAV,"Lettisch",de -http://lexvo.org/id/iso639-3/lav,"Latvian",en -http://purl.obolibrary.org/obo/GSSO_006601,"substance use",en -http://id.loc.gov/vocabulary/iso639-1/en,"English",en -http://id.loc.gov/vocabulary/iso639-1/en,"anglais",fr -http://id.loc.gov/vocabulary/iso639-1/en,"Englisch",de -http://id.loc.gov/vocabulary/iso639-1/de,"German",en -http://id.loc.gov/vocabulary/iso639-1/nl,"Dutch",en -https://www.wikidata.org/wiki/Q10294,"poverty",en -https://publications.europa.eu/resource/authority/language/FRA,"francuski",sh -https://publications.europa.eu/resource/authority/language/FRA,"fransk",da -https://publications.europa.eu/resource/authority/language/FRA,"fransk",no -https://publications.europa.eu/resource/authority/language/FRA,"francúzština",sk -https://publications.europa.eu/resource/authority/language/FRA,"френски",bg -https://publications.europa.eu/resource/authority/language/FRA,"francuski",hr -https://publications.europa.eu/resource/authority/language/FRA,"prancūzų kalba",lt -https://publications.europa.eu/resource/authority/language/FRA,"francese",it -https://publications.europa.eu/resource/authority/language/FRA,"francês",pt -https://publications.europa.eu/resource/authority/language/FRA,"French",en -https://publications.europa.eu/resource/authority/language/FRA,"ranska",fi -https://publications.europa.eu/resource/authority/language/FRA,"francés",es -https://publications.europa.eu/resource/authority/language/FRA,"franska",is -https://publications.europa.eu/resource/authority/language/FRA,"francuski",pl -https://publications.europa.eu/resource/authority/language/FRA,"fransızca",tr -https://publications.europa.eu/resource/authority/language/FRA,"Französisch",de -https://publications.europa.eu/resource/authority/language/FRA,"французька мова",uk -https://publications.europa.eu/resource/authority/language/FRA,"Frans",nl -https://publications.europa.eu/resource/authority/language/FRA,"французский",ru -https://publications.europa.eu/resource/authority/language/FRA,"Fraincis",ga -https://publications.europa.eu/resource/authority/language/FRA,"γαλλικά",el -https://publications.europa.eu/resource/authority/language/FRA,"Franċiż",mt -https://publications.europa.eu/resource/authority/language/FRA,"franču valoda",lv -https://publications.europa.eu/resource/authority/language/FRA,"francouzština",cs -https://publications.europa.eu/resource/authority/language/FRA,"француски",mk -https://publications.europa.eu/resource/authority/language/FRA,"franska",sv -https://publications.europa.eu/resource/authority/language/FRA,"француски",sr -https://publications.europa.eu/resource/authority/language/FRA,"franceză",ro -https://publications.europa.eu/resource/authority/language/FRA,"francia",hu -https://publications.europa.eu/resource/authority/language/FRA,"francošćina",hsb -https://publications.europa.eu/resource/authority/language/FRA,"français",fr -https://publications.europa.eu/resource/authority/language/FRA,"prantsuse keel",et -https://publications.europa.eu/resource/authority/language/FRA,"francoščina",sl -http://lexvo.org/id/iso639-3/fra,"French",en -https://www.wikidata.org/wiki/Q332428,"overweight",en -https://www.wikidata.org/wiki/Q7907939,"vaccine-preventable diseases",en -https://www.wikidata.org/wiki/Q1247867,"housing",en -http://purl.obolibrary.org/obo/OMIT_0003085,"Birth Weight",en -http://purl.obolibrary.org/obo/SCDO_0000897,"Physical Environment",en -http://purl.obolibrary.org/obo/ENVO_00002173,"hospital",en -https://publications.europa.eu/resource/authority/language/FIN,"finsk",da -https://publications.europa.eu/resource/authority/language/FIN,"somu valoda",lv -https://publications.europa.eu/resource/authority/language/FIN,"suomių kalba",lt -https://publications.europa.eu/resource/authority/language/FIN,"fince",tr -https://publications.europa.eu/resource/authority/language/FIN,"фински",mk -https://publications.europa.eu/resource/authority/language/FIN,"φινλανδικά",el -https://publications.europa.eu/resource/authority/language/FIN,"soome keel",et -https://publications.europa.eu/resource/authority/language/FIN,"finnska",is -https://publications.europa.eu/resource/authority/language/FIN,"finski",hr -https://publications.europa.eu/resource/authority/language/FIN,"fínčina",sk -https://publications.europa.eu/resource/authority/language/FIN,"finés",es -https://publications.europa.eu/resource/authority/language/FIN,"suomi",fi -https://publications.europa.eu/resource/authority/language/FIN,"finšćina",hsb -https://publications.europa.eu/resource/authority/language/FIN,"фински",bg -https://publications.europa.eu/resource/authority/language/FIN,"finlandeză",ro -https://publications.europa.eu/resource/authority/language/FIN,"finština",cs -https://publications.europa.eu/resource/authority/language/FIN,"Finnish",en -https://publications.europa.eu/resource/authority/language/FIN,"fiński",pl -https://publications.europa.eu/resource/authority/language/FIN,"фінська мова",uk -https://publications.europa.eu/resource/authority/language/FIN,"Fins",nl -https://publications.europa.eu/resource/authority/language/FIN,"finlandês",pt -https://publications.europa.eu/resource/authority/language/FIN,"Finnisch",de -https://publications.europa.eu/resource/authority/language/FIN,"finsk",no -https://publications.europa.eu/resource/authority/language/FIN,"finski",sh -https://publications.europa.eu/resource/authority/language/FIN,"Finlandiż",mt -https://publications.europa.eu/resource/authority/language/FIN,"finlandese",it -https://publications.europa.eu/resource/authority/language/FIN,"фински",sr -https://publications.europa.eu/resource/authority/language/FIN,"финский",ru -https://publications.europa.eu/resource/authority/language/FIN,"finska",sv -https://publications.europa.eu/resource/authority/language/FIN,"finščina",sl -https://publications.europa.eu/resource/authority/language/FIN,"finnois",fr -https://publications.europa.eu/resource/authority/language/FIN,"finn",hu -https://publications.europa.eu/resource/authority/language/FIN,"Fionlainnis",ga -http://lexvo.org/id/iso639-3/fin,"Finnish",en -https://www.wikidata.org/wiki/Q1527264,"income",en -https://www.wikidata.org/wiki/Q5259414,"tooth pathology",en -http://purl.obolibrary.org/obo/NCIT_C2893,"Psychiatric Disorder",en -http://purl.obolibrary.org/obo/SCDO_0000490,"Health Insurance Coverage",en -https://health-ri.sandbox.semlab-leiden.nl/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en -http://purl.obolibrary.org/obo/MAXO_0000126,"cancer screening",en -https://www.wikidata.org/wiki/Q4323994,"traffic",en -https://fair.healthinformationportal.eu/profile/2f08228e-1789-40f8-84cd-28e3288c3604,"Dataset Profile",en -https://www.wikidata.org/wiki/Q70364280,"health resources",en -http://purl.obolibrary.org/obo/OMIT_0013846,"Socioeconomic Factors",en -http://purl.obolibrary.org/obo/NCIT_C118206,"Self-Injury",en -https://www.wikidata.org/wiki/Q108293842,"health services use",en -http://purl.obolibrary.org/obo/OMIT_0007467,"Health Resources",en -https://www.wikidata.org/wiki/Q3769299,"human behavior",en -http://semanticscience.org/resource/SIO_000398,"nurse",en -http://purl.obolibrary.org/obo/NCIT_C74299,"Work",en -https://www.wikidata.org/wiki/Q12737077,"occupation",en -http://purl.obolibrary.org/obo/NCIT_C17468,"Socioeconomic Factors",en -https://www.wikidata.org/wiki/Q17003063,"health care quality",en -http://purl.obolibrary.org/obo/OMIT_0007476,"Health Status",en -http://purl.obolibrary.org/obo/OBI_0002787,"face mask",en -http://purl.obolibrary.org/obo/GSSO_001369,"surgical procedure",en -http://snomed.info/id/420014008,"Blood borne transmission",en -http://snomed.info/id/91537007,"Hospital bed, device",en -http://www.ebi.ac.uk/efo/EFO_0000684,"respiratory system disease",en -http://purl.obolibrary.org/obo/CHEBI_52217,"pharmaceutical",en -http://purl.bioontology.org/ontology/MESH/D011203,"Poverty",en -http://www.ebi.ac.uk/efo/EFO_0000400,"diabetes mellitus",en -http://purl.obolibrary.org/obo/MONDO_0004995,"cardiovascular disorder",en -http://www.ebi.ac.uk/efo/EFO_0000319,"cardiovascular disease",en -http://purl.obolibrary.org/obo/MONDO_0005084,"mental disorder",en -http://purl.obolibrary.org/obo/MONDO_0004992,"cancer",en -http://purl.obolibrary.org/obo/MONDO_0100096,"COVID-19",en -http://purl.obolibrary.org/obo/MONDO_0005087,"respiratory system disorder",en -http://purl.obolibrary.org/obo/MONDO_0005550,"infectious disease",en -http://www.ebi.ac.uk/efo/EFO_0004299,"life expectancy",en -http://www.ebi.ac.uk/efo/EFO_0004778,"self rated health",en -http://purl.obolibrary.org/obo/MONDO_0005015,"diabetes mellitus",en -http://www.ebi.ac.uk/efo/EFO_0005741,"infectious disease",en -http://purl.obolibrary.org/obo/DOID_9351,"diabetes mellitus",en -http://www.ebi.ac.uk/efo/EFO_1001216,"tooth disease",en -http://purl.obolibrary.org/obo/DOID_162,"cancer",en -http://www.ebi.ac.uk/efo/EFO_0004352,"mortality",en -http://purl.obolibrary.org/obo/DOID_0080600,"COVID-19",en -http://purl.obolibrary.org/obo/NCIT_C15546,"Breast Cancer Screening",en -http://purl.obolibrary.org/obo/NCIT_C20116,"Breast Cancer Risk Factor",en -https://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en -http://bioportal.bioontology.org/ontologies/ICD10CM?p=classes&conceptid=U07.1,"COVID-19",en -http://publications.europa.eu/resource/authority/access-right/PUBLIC,"Public",en -http://publications.europa.eu/resource/authority/access-right/RESTRICTED,"Restricted",en -http://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"Non-public",en -http://purl.org/adms/status/Completed,"Completed",en -http://purl.org/adms/status/Deprecated,"Deprecated",en -http://purl.org/adms/status/UnderDevelopment,"UnderDevelopment",en -http://purl.org/adms/status/Withdrawn,"Withdrawn",en -http://purl.org/cld/freq/triennial,"triennial",en -http://purl.org/cld/freq/biennial,"biennial",en -http://purl.org/cld/freq/annual,"annual",en -http://purl.org/cld/freq/semiannual,"semiannual",en -http://purl.org/cld/freq/threeTimesAYear,"three times a year",en -http://purl.org/cld/freq/quarterly,"quarterly",en -http://purl.org/cld/freq/bimonthly,"bimonthly",en -http://purl.org/cld/freq/monthly,"monthly",en -http://purl.org/cld/freq/semimonthly,"semimonthly",en -http://purl.org/cld/freq/biweekly,"biweekly",en -http://purl.org/cld/freq/threeTimesAMonth,"three times a month",en -http://purl.org/cld/freq/weekly,"weekly",en -http://purl.org/cld/freq/semiweekly,"semiweekly",en -http://purl.org/cld/freq/threeTimesAWeek,"three times a week",en -http://purl.org/cld/freq/daily,"daily",en -http://purl.org/cld/freq/continuous,"continuous",en -http://purl.org/cld/freq/irregular,"irregular",en -https://publications.europa.eu/resource/authority/language/LTZ,"Luxembourgish",en -http://lexvo.org/id/iso639-3/ltz,"Luxembourgish",en -https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=C9245,"Invasive Breast Carcinoma",en -https://ncim.nci.nih.gov/ncimbrowser/ConceptReport.jsp?code=C0853879,"Invasive Breast Carcinoma",en -http://purl.bioontology.org/ontology/ICD10CM/J96.2,"Acute and chronic respiratory failure",en -https://publications.europa.eu/resource/authority/dataset-type/APROF,"Application profile",en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_LEX,"ATTO table - EUR-Lex domain",en -https://publications.europa.eu/resource/authority/dataset-type/ATTO_PUB,"ATTO table - Publications domain",en -https://publications.europa.eu/resource/authority/dataset-type/CODE_LIST,"Code list",en -https://publications.europa.eu/resource/authority/dataset-type/CORE_COMP,"Core component",en -https://publications.europa.eu/resource/authority/resource-type/DATABASE,"Database",en -https://publications.europa.eu/resource/authority/dataset-type/DIRECTORY,"Directory",en -https://publications.europa.eu/resource/authority/resource-type/DOC,"Document",en -https://publications.europa.eu/resource/authority/dataset-type/DOMAIN_MODEL,"Domain model",en -https://publications.europa.eu/resource/authority/dataset-type/GEOSPATIAL,"Geospatial data",en -https://publications.europa.eu/resource/authority/dataset-type/GLOSSARY,"Glossary",en -https://publications.europa.eu/resource/authority/dataset-type/HVD,"High-value dataset",en -https://publications.europa.eu/resource/authority/dataset-type/IEPD,"Information exchange package description",en -https://publications.europa.eu/resource/authority/dataset-type/MAPPING,"Mapping",en -https://publications.europa.eu/resource/authority/dataset-type/NAL,"Name authority list",en -https://publications.europa.eu/resource/authority/dataset-type/ONTOLOGY,"Ontology",en -https://publications.europa.eu/resource/authority/resource-type/REPORT_PERIOD,"Periodic report",en -https://publications.europa.eu/resource/authority/dataset-type/OP_DATPRO,"Provisional data",en -http://purl.obolibrary.org/obo/T4FS_0000109,"Raw data",en -https://publications.europa.eu/resource/authority/dataset-type/RELEASE,"Release",en -http://publications.europa.eu/resource/authority/resource-type/REPORT,"Report",en -http://publications.europa.eu/resource/authority/resource-type/REPOSITORY,"Repository",en -https://publications.europa.eu/resource/authority/dataset-type/SCHEMA,"Schema",en -https://publications.europa.eu/resource/authority/dataset-type/DSCRP_SERV,"Service description",en -https://publications.europa.eu/resource/authority/dataset-type/STATISTICAL,"Statistical data",en -https://publications.europa.eu/resource/authority/dataset-type/STYLES,"Styles sheets",en -https://publications.europa.eu/resource/authority/dataset-type/SYNTAX_ECD_SCHEME,"Syntax encoding scheme",en -https://publications.europa.eu/resource/authority/dataset-type/SYNTHETIC_DATA,"Synthetic data",en -https://publications.europa.eu/resource/authority/dataset-type/TAXONOMY,"Taxonomy",en -https://publications.europa.eu/resource/authority/dataset-type/TEST_DATA,"Test data",en -https://publications.europa.eu/resource/authority/dataset-type/THESAURUS,"Thesaurus",en -https://publications.europa.eu/resource/authority/access-right/CONFIDENTIAL,"confidential",en -https://publications.europa.eu/resource/authority/access-right/NON_PUBLIC,"non-public",en -https://publications.europa.eu/resource/authority/access-right/NORMAL,"normal",en -https://publications.europa.eu/resource/authority/access-right/PUBLIC,"public",en -https://publications.europa.eu/resource/authority/access-right/RESTRICTED,"restricted",en -https://publications.europa.eu/resource/authority/access-right/SENSITIVE,"sensitive",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL,"annual",en -https://publications.europa.eu/resource/authority/frequency/BIDECENNIAL,"bidecennial",en -https://publications.europa.eu/resource/authority/frequency/BIENNIAL,"biennial",en -https://publications.europa.eu/resource/authority/frequency/BIHOURLY,"bihourly",en -https://publications.europa.eu/resource/authority/frequency/BIMONTHLY,"bimonthly",en -https://publications.europa.eu/resource/authority/frequency/BIWEEKLY,"biweekly",en -https://publications.europa.eu/resource/authority/frequency/CONT,"cont",en -https://publications.europa.eu/resource/authority/frequency/UPDATE_CONT,"continuously updated",en -https://publications.europa.eu/resource/authority/frequency/DAILY,"daily",en -https://publications.europa.eu/resource/authority/frequency/DECENNIAL,"decennial",en -https://publications.europa.eu/resource/authority/frequency/HOURLY,"hourly",en -https://publications.europa.eu/resource/authority/frequency/IRREG,"irregular",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY,"monthly",en -https://publications.europa.eu/resource/authority/frequency/NEVER,"never",en -https://publications.europa.eu/resource/authority/frequency/OTHER,"other",en -https://publications.europa.eu/resource/authority/frequency/OP_DATPRO,"Provisional data",en -https://publications.europa.eu/resource/authority/frequency/QUADRENNIAL,"quadrennial",en -https://publications.europa.eu/resource/authority/frequency/QUARTERLY,"quarterly",en -https://publications.europa.eu/resource/authority/frequency/QUINQUENNIAL,"quinquennial",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_2,"semiannual",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_2,"semimonthly",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_2,"semiweekly",en -https://publications.europa.eu/resource/authority/frequency/MONTHLY_3,"three times a month",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY_3,"three times a week",en -https://publications.europa.eu/resource/authority/frequency/ANNUAL_3,"three times a year",en -https://publications.europa.eu/resource/authority/frequency/TRIDECENNIAL,"tridecennial",en -https://publications.europa.eu/resource/authority/frequency/TRIENNIAL,"triennial",en -https://publications.europa.eu/resource/authority/frequency/TRIHOURLY,"trihourly",en -https://publications.europa.eu/resource/authority/frequency/DAILY_2,"twice a day",en -https://publications.europa.eu/resource/authority/frequency/UNKNOWN,"unknown",en -https://publications.europa.eu/resource/authority/frequency/WEEKLY,"weekly",en -https://publications.europa.eu/resource/authority/data-theme/AGRI,"Agriculture, fisheries, forestry and food",en -https://publications.europa.eu/resource/authority/data-theme/ECON,"Economy and finance",en -https://publications.europa.eu/resource/authority/data-theme/EDUC,"Education, culture and sport",en -https://publications.europa.eu/resource/authority/data-theme/ENER,"Energy",en -https://publications.europa.eu/resource/authority/data-theme/ENVI,"Environment",en -https://publications.europa.eu/resource/authority/data-theme/GOVE,"Government and public sector",en -https://publications.europa.eu/resource/authority/data-theme/HEAL,"Health",en -https://publications.europa.eu/resource/authority/data-theme/INTR,"International issues",en -https://publications.europa.eu/resource/authority/data-theme/JUST,"Justice, legal system and public safety",en -https://publications.europa.eu/resource/authority/data-theme/SOCI,"Population and society",en -https://publications.europa.eu/resource/authority/data-theme/OP_DATPRO,"Provisional data",en -https://publications.europa.eu/resource/authority/data-theme/REGI,"Regions and cities",en -https://publications.europa.eu/resource/authority/data-theme/TECH,"Science and technology",en -https://publications.europa.eu/resource/authority/data-theme/TRAN,"Transport",en -https://publications.europa.eu/resource/authority/file-type/7Z,"7z",en -https://publications.europa.eu/resource/authority/file-type/AAB,"AAB",en -https://publications.europa.eu/resource/authority/file-type/AAC,"AAC",en -https://publications.europa.eu/resource/authority/file-type/AKN4EU,"AKN4EU file",en -https://publications.europa.eu/resource/authority/file-type/AKN4EU_ZIP,"AKN4EU ZIP",en -https://publications.europa.eu/resource/authority/file-type/AZW,"Amazon Kindle eBook",en -https://publications.europa.eu/resource/authority/file-type/APK,"APK",en -https://publications.europa.eu/resource/authority/file-type/APPX,"AppX",en -https://publications.europa.eu/resource/authority/file-type/ARC_GZ,"ARC GZ",en -https://publications.europa.eu/resource/authority/file-type/ARC,"ARC",en -https://publications.europa.eu/resource/authority/file-type/MAP_PRVW,"ArcGIS Map Preview",en -https://publications.europa.eu/resource/authority/file-type/MAP_SRVC,"ArcGIS Map Service",en -https://publications.europa.eu/resource/authority/file-type/ARCINFO_COV,"ArcInfo coverage",en -https://publications.europa.eu/resource/authority/file-type/ARJ,"ARJ",en -https://publications.europa.eu/resource/authority/file-type/ATOM,"Atom Feed",en -https://publications.europa.eu/resource/authority/file-type/BIN,"Binary Data",en -https://publications.europa.eu/resource/authority/file-type/BMP,"Bitmap Image File",en -https://publications.europa.eu/resource/authority/file-type/BITS,"BITS XML",en -https://publications.europa.eu/resource/authority/file-type/BWF,"BWF",en -https://publications.europa.eu/resource/authority/file-type/BZIP2,"bzip2",en -https://publications.europa.eu/resource/authority/file-type/LAZ,"Compressed LAS file",en -https://publications.europa.eu/resource/authority/file-type/CSS,"CSS",en -https://publications.europa.eu/resource/authority/file-type/CSV,"CSV",en -https://publications.europa.eu/resource/authority/file-type/DAPK,"DAPK",en -https://publications.europa.eu/resource/authority/file-type/DBF,"DBF",en -https://publications.europa.eu/resource/authority/file-type/DCR,"DCR File",en -https://publications.europa.eu/resource/authority/file-type/DEB,"deb",en -https://publications.europa.eu/resource/authority/file-type/DGN,"DGN",en -https://publications.europa.eu/resource/authority/file-type/DMG,"DMG",en -https://publications.europa.eu/resource/authority/file-type/DWCA,"DwC-A",en -https://publications.europa.eu/resource/authority/file-type/DWG,"DWG",en -https://publications.europa.eu/resource/authority/file-type/DXF,"DXF",en -https://publications.europa.eu/resource/authority/file-type/E00,"E00",en -https://publications.europa.eu/resource/authority/file-type/EAR,"EAR",en -https://publications.europa.eu/resource/authority/file-type/ECW,"ECW",en -https://publications.europa.eu/resource/authority/file-type/EFORMS_XML,"eForms XML",en -https://publications.europa.eu/resource/authority/file-type/EPS,"Encapsulated Postscript",en -https://publications.europa.eu/resource/authority/file-type/EPUB,"EPUB",en -https://publications.europa.eu/resource/authority/file-type/GRID_ASCII,"Esri ASCII grid",en -https://publications.europa.eu/resource/authority/file-type/GRID,"Esri binary grid",en -https://publications.europa.eu/resource/authority/file-type/GDB,"Esri File Geodatabase",en -https://publications.europa.eu/resource/authority/file-type/REST,"Esri REST",en -https://publications.europa.eu/resource/authority/file-type/SHP,"Esri Shape",en -https://publications.europa.eu/resource/authority/file-type/ETSI_XML,"ETSI signature validation report",en -https://publications.europa.eu/resource/authority/file-type/XLS,"Excel XLS",en -https://publications.europa.eu/resource/authority/file-type/XLSX,"Excel XLSX",en -https://publications.europa.eu/resource/authority/file-type/EXE,"EXE",en -https://publications.europa.eu/resource/authority/file-type/FMX4_ZIP,"FMX4 ZIP",en -https://publications.europa.eu/resource/authority/file-type/FMX2,"Formex 2",en -https://publications.europa.eu/resource/authority/file-type/FMX3,"Formex 3",en -https://publications.europa.eu/resource/authority/file-type/FMX4,"Formex 4",en -https://publications.europa.eu/resource/authority/file-type/GEOJSON,"GeoJSON",en -https://publications.europa.eu/resource/authority/file-type/GPKG,"GeoPackage",en -https://publications.europa.eu/resource/authority/file-type/GEOTIFF,"GeoTIFF",en -https://publications.europa.eu/resource/authority/file-type/GIF,"GIF",en -https://publications.europa.eu/resource/authority/file-type/GML,"GML",en -https://publications.europa.eu/resource/authority/file-type/GZIP,"GNU zip",en -https://publications.europa.eu/resource/authority/file-type/GTFS,"GTFS",en -https://publications.europa.eu/resource/authority/file-type/HDF,"HDF",en -https://publications.europa.eu/resource/authority/file-type/HDT,"HDT",en -https://publications.europa.eu/resource/authority/file-type/HTML_SIMPL,"HTML simplified",en -https://publications.europa.eu/resource/authority/file-type/HTML,"HTML",en -https://publications.europa.eu/resource/authority/file-type/HTML5,"HTML5",en -https://publications.europa.eu/resource/authority/file-type/MSG_HTTP,"HTTP Message",en -https://publications.europa.eu/resource/authority/file-type/ICS,"ICalendar",en -https://publications.europa.eu/resource/authority/file-type/IMMC_XML,"IMMC XML message",en -https://publications.europa.eu/resource/authority/file-type/INDD,"INDD",en -https://publications.europa.eu/resource/authority/file-type/IPA,"IPA",en -https://publications.europa.eu/resource/authority/file-type/ISO,"ISO image",en -https://publications.europa.eu/resource/authority/file-type/JAR,"JAR",en -https://publications.europa.eu/resource/authority/file-type/JATS,"JATS XML",en -https://publications.europa.eu/resource/authority/file-type/JS,"JavaScript",en -https://publications.europa.eu/resource/authority/file-type/JPEG2000,"JPEG 2000",en -https://publications.europa.eu/resource/authority/file-type/JPEG,"JPEG",en -https://publications.europa.eu/resource/authority/file-type/JSON_LD,"JSON-LD",en -https://publications.europa.eu/resource/authority/file-type/JSON,"JSON",en -https://publications.europa.eu/resource/authority/file-type/KML,"KML",en -https://publications.europa.eu/resource/authority/file-type/KMZ,"KMZ",en -https://publications.europa.eu/resource/authority/file-type/LAS,"LASer file",en -https://publications.europa.eu/resource/authority/file-type/LPK,"Layer package",en -https://publications.europa.eu/resource/authority/file-type/LEG,"LEG",en -https://publications.europa.eu/resource/authority/file-type/LHA,"LHA",en -https://publications.europa.eu/resource/authority/file-type/LZIP,"lzip",en -https://publications.europa.eu/resource/authority/file-type/LZMA,"lzma",en -https://publications.europa.eu/resource/authority/file-type/LZO,"lzo",en -https://publications.europa.eu/resource/authority/file-type/TAB,"MapInfo TAB file",en -https://publications.europa.eu/resource/authority/file-type/TAB_RSTR,"MapInfo TAB raster file",en -https://publications.europa.eu/resource/authority/file-type/MATHML,"MathML",en -https://publications.europa.eu/resource/authority/file-type/MBOX,"MBOX",en -https://publications.europa.eu/resource/authority/file-type/MDB,"MDB",en -https://publications.europa.eu/resource/authority/file-type/METS_ZIP,"METS package",en -https://publications.europa.eu/resource/authority/file-type/METS,"METS XML",en -https://publications.europa.eu/resource/authority/file-type/MHTML,"MHTML",en -https://publications.europa.eu/resource/authority/file-type/MIF_MID,"MIF/MID",en -https://publications.europa.eu/resource/authority/file-type/MOBI,"Mobipocket eBook",en -https://publications.europa.eu/resource/authority/file-type/MOP,"MOP",en -https://publications.europa.eu/resource/authority/file-type/MOV,"MOV",en -https://publications.europa.eu/resource/authority/file-type/MP3,"MP3",en -https://publications.europa.eu/resource/authority/file-type/MPEG2,"MPEG-2",en -https://publications.europa.eu/resource/authority/file-type/MPEG4_AVC,"MPEG-4 AVC",en -https://publications.europa.eu/resource/authority/file-type/MPEG4,"MPEG-4",en -https://publications.europa.eu/resource/authority/file-type/MRSID,"MrSID",en -https://publications.europa.eu/resource/authority/file-type/MSI,"MSI",en -https://publications.europa.eu/resource/authority/file-type/MXD,"MXD",en -https://publications.europa.eu/resource/authority/file-type/N3,"N3",en -https://publications.europa.eu/resource/authority/file-type/NETCDF,"NetCDF",en -https://publications.europa.eu/resource/authority/file-type/OAPK,"OAPK",en -https://publications.europa.eu/resource/authority/file-type/OCTET,"Octet Stream",en -https://publications.europa.eu/resource/authority/file-type/ODF,"ODF",en -https://publications.europa.eu/resource/authority/file-type/ODP,"ODP",en -https://publications.europa.eu/resource/authority/file-type/ODS,"ODS",en -https://publications.europa.eu/resource/authority/file-type/ODT,"ODT",en -https://publications.europa.eu/resource/authority/file-type/ODC,"OpenDocument Chart",en -https://publications.europa.eu/resource/authority/file-type/ODB,"OpenDocument Database",en -https://publications.europa.eu/resource/authority/file-type/ODG,"OpenDocument Image",en -https://publications.europa.eu/resource/authority/file-type/DMP,"Oracle Dump",en -https://publications.europa.eu/resource/authority/file-type/OVF,"OVF",en -https://publications.europa.eu/resource/authority/file-type/OWL,"OWL",en -https://publications.europa.eu/resource/authority/file-type/PDF,"PDF",en -https://publications.europa.eu/resource/authority/file-type/PDFA1A,"PDF/A-1a",en -https://publications.europa.eu/resource/authority/file-type/PDFA1B,"PDF/A-1b",en -https://publications.europa.eu/resource/authority/file-type/PDFA2A,"PDF/A-2a",en -https://publications.europa.eu/resource/authority/file-type/PDFA2B,"PDF/A-2b",en -https://publications.europa.eu/resource/authority/file-type/PDFUA,"PDF/UA",en -https://publications.europa.eu/resource/authority/file-type/PDFX1A,"PDF/X-1a",en -https://publications.europa.eu/resource/authority/file-type/PDFX2A,"PDF/X-2a",en -https://publications.europa.eu/resource/authority/file-type/PDFX4,"PDF/X-4",en -https://publications.europa.eu/resource/authority/file-type/PDFX,"PDF/X",en -https://publications.europa.eu/resource/authority/file-type/PDF1X,"PDF1X",en -https://publications.europa.eu/resource/authority/file-type/PDFA3,"PDFA-3",en -https://publications.europa.eu/resource/authority/file-type/PL,"Perl script",en -https://publications.europa.eu/resource/authority/file-type/TXT,"Plain text",en -https://publications.europa.eu/resource/authority/file-type/PNG,"PNG",en -https://publications.europa.eu/resource/authority/file-type/PPSX,"PowerPoint PPSX",en -https://publications.europa.eu/resource/authority/file-type/PPT,"PowerPoint PPT",en -https://publications.europa.eu/resource/authority/file-type/PPTX,"PowerPoint PPTX",en -https://publications.europa.eu/resource/authority/file-type/PPS,"PowerPoint Slide Show",en -https://publications.europa.eu/resource/authority/file-type/PS,"PS",en -https://publications.europa.eu/resource/authority/file-type/PSD,"PSD",en -https://publications.europa.eu/resource/authority/file-type/PWP,"PWP",en -https://publications.europa.eu/resource/authority/file-type/QGS,"QGS",en -https://publications.europa.eu/resource/authority/file-type/RAR,"RAR",en -https://publications.europa.eu/resource/authority/file-type/RDF_N_QUADS,"RDF N-Quads",en -https://publications.europa.eu/resource/authority/file-type/RDF_N_TRIPLES,"RDF N-Triples",en -https://publications.europa.eu/resource/authority/file-type/RDF_THRIFT,"RDF Thrift",en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIG,"RDF TriG",en -https://publications.europa.eu/resource/authority/file-type/RDF_TRIX,"RDF TriX",en -https://publications.europa.eu/resource/authority/file-type/RDF_TURTLE,"RDF Turtle",en -https://publications.europa.eu/resource/authority/file-type/RDF_XML,"RDF XML",en -https://publications.europa.eu/resource/authority/file-type/RDF,"RDF",en -https://publications.europa.eu/resource/authority/file-type/RDFA,"RDFa",en -https://publications.europa.eu/resource/authority/file-type/RPM,"RPM",en -https://publications.europa.eu/resource/authority/file-type/RSS,"RSS feed",en -https://publications.europa.eu/resource/authority/file-type/RTF,"RTF",en -https://publications.europa.eu/resource/authority/file-type/SB3,"sb3",en -https://publications.europa.eu/resource/authority/file-type/SDMX,"SDMX",en -https://publications.europa.eu/resource/authority/file-type/DTD_SGML,"SGML DTD",en -https://publications.europa.eu/resource/authority/file-type/SGML,"SGML",en -https://publications.europa.eu/resource/authority/file-type/SKOS_XML,"SKOS",en -https://publications.europa.eu/resource/authority/file-type/SPARQLQRES,"SPARQL results",en -https://publications.europa.eu/resource/authority/file-type/SPARQLQ,"SPARQL",en -https://publications.europa.eu/resource/authority/file-type/SQL,"SQL",en -https://publications.europa.eu/resource/authority/file-type/STL,"StL",en -https://publications.europa.eu/resource/authority/file-type/SVG,"SVG",en -https://publications.europa.eu/resource/authority/file-type/SWM,"SWM",en -https://publications.europa.eu/resource/authority/file-type/TAR_GZ,"TAR GZ",en -https://publications.europa.eu/resource/authority/file-type/TAR_XZ,"TAR XZ",en -https://publications.europa.eu/resource/authority/file-type/TAR,"TAR",en -https://publications.europa.eu/resource/authority/file-type/TIFF_FX,"TIFF FX",en -https://publications.europa.eu/resource/authority/file-type/TIFF,"TIFF",en -https://publications.europa.eu/resource/authority/file-type/TMX,"TMX",en -https://publications.europa.eu/resource/authority/file-type/TSV,"TSV",en -https://publications.europa.eu/resource/authority/file-type/UNGEN,"Ungen",en -https://publications.europa.eu/resource/authority/file-type/WAR,"WAR",en -https://publications.europa.eu/resource/authority/file-type/WARC_GZ,"WARC GZ",en -https://publications.europa.eu/resource/authority/file-type/WARC,"WARC",en -https://publications.europa.eu/resource/authority/file-type/WAV,"WAV",en -https://publications.europa.eu/resource/authority/file-type/WCS_SRVC,"WCS",en -https://publications.europa.eu/resource/authority/file-type/WEBP,"WebP",en -https://publications.europa.eu/resource/authority/file-type/WFS_SRVC,"WFS",en -https://publications.europa.eu/resource/authority/file-type/WIM,"WIM",en -https://publications.europa.eu/resource/authority/file-type/WMS_SRVC,"WMS",en -https://publications.europa.eu/resource/authority/file-type/WMTS_SRVC,"WMTS",en -https://publications.europa.eu/resource/authority/file-type/DOC,"Word DOC",en -https://publications.europa.eu/resource/authority/file-type/DOCX,"Word DOCX",en -https://publications.europa.eu/resource/authority/file-type/WORLD,"World file",en -https://publications.europa.eu/resource/authority/file-type/XHTML_SIMPL,"XHTML simplified",en -https://publications.europa.eu/resource/authority/file-type/XHTML,"XHTML",en -https://publications.europa.eu/resource/authority/file-type/XHTML5,"XHTML5",en -https://publications.europa.eu/resource/authority/file-type/XLIFF,"XLIFF",en -https://publications.europa.eu/resource/authority/file-type/XLSB,"XLSB",en -https://publications.europa.eu/resource/authority/file-type/XLSM,"XLSM",en -https://publications.europa.eu/resource/authority/file-type/DTD_XML,"XML DTD",en -https://publications.europa.eu/resource/authority/file-type/SCHEMA_XML,"XML schema",en -https://publications.europa.eu/resource/authority/file-type/XML,"XML",en -https://publications.europa.eu/resource/authority/file-type/XSLFO,"XSL-FO",en -https://publications.europa.eu/resource/authority/file-type/XSLT,"XSLT",en -https://publications.europa.eu/resource/authority/file-type/XYZ,"XYZ Chemical File",en -https://publications.europa.eu/resource/authority/file-type/XZ,"xz",en -https://publications.europa.eu/resource/authority/file-type/YAML,"YAML",en -https://publications.europa.eu/resource/authority/file-type/Z,"Z",en -https://publications.europa.eu/resource/authority/file-type/ZIP,"ZIP",en -https://publications.europa.eu/resource/authority/file-type/GMZ,"Zipped GML",en -https://publications.europa.eu/resource/authority/file-type/ISO_ZIP,"Zipped ISO image",en -http://publications.europa.eu/resource/authority/country/GRL,"Greenland",en -http://publications.europa.eu/resource/authority/country/BDI,"Burundi",en -http://publications.europa.eu/resource/authority/country/BEN,"Benin",en -http://publications.europa.eu/resource/authority/country/CAF,"Central African Republic",en -http://publications.europa.eu/resource/authority/country/ZR0,"Zaire",en -http://publications.europa.eu/resource/authority/country/BHR,"Bahrain",en -http://publications.europa.eu/resource/authority/country/KWT,"Kuwait",en -http://publications.europa.eu/resource/authority/country/OMN,"Oman",en -http://publications.europa.eu/resource/authority/country/QAT,"Qatar",en -http://publications.europa.eu/resource/authority/country/AFG,"Afghanistan",en -http://publications.europa.eu/resource/authority/country/TUV,"Tuvalu",en -http://publications.europa.eu/resource/authority/country/1A0,"Kosovo",en -http://publications.europa.eu/resource/authority/country/WSM,"Samoa",en -http://publications.europa.eu/resource/authority/country/COD,"Democratic Republic of the Congo",en -http://publications.europa.eu/resource/authority/country/SLB,"Solomon Islands",en -http://publications.europa.eu/resource/authority/country/BEL,"Belgium",en -http://publications.europa.eu/resource/authority/country/DEU,"Germany",en -http://publications.europa.eu/resource/authority/country/DNK,"Denmark",en -http://publications.europa.eu/resource/authority/country/FRA,"France",en -http://publications.europa.eu/resource/authority/country/GBR,"United Kingdom",en -http://publications.europa.eu/resource/authority/country/GRC,"Greece",en -http://publications.europa.eu/resource/authority/country/HRV,"Croatia",en -http://publications.europa.eu/resource/authority/country/HUN,"Hungary",en -http://publications.europa.eu/resource/authority/country/ITA,"Italy",en -http://publications.europa.eu/resource/authority/country/LTU,"Lithuania",en -http://publications.europa.eu/resource/authority/country/MEX,"Mexico",en -http://publications.europa.eu/resource/authority/country/NLD,"Netherlands",en -http://publications.europa.eu/resource/authority/country/OP_DATPRO,"Provisional data",en -http://publications.europa.eu/resource/authority/country/POL,"Poland",en -http://publications.europa.eu/resource/authority/country/PRT,"Portugal",en -http://publications.europa.eu/resource/authority/country/SWE,"Sweden",en -http://publications.europa.eu/resource/authority/country/AUT,"Austria",en -http://publications.europa.eu/resource/authority/country/BGR,"Bulgaria",en -http://publications.europa.eu/resource/authority/country/CYP,"Cyprus",en -http://publications.europa.eu/resource/authority/country/ESP,"Spain",en -http://publications.europa.eu/resource/authority/country/IRL,"Ireland",en -http://publications.europa.eu/resource/authority/country/MAR,"Morocco",en -http://publications.europa.eu/resource/authority/country/MLT,"Malta",en -http://publications.europa.eu/resource/authority/country/MYS,"Malaysia",en -http://publications.europa.eu/resource/authority/country/CZE,"Czechia",en -http://publications.europa.eu/resource/authority/country/EST,"Estonia",en -http://publications.europa.eu/resource/authority/country/FIN,"Finland",en -http://publications.europa.eu/resource/authority/country/LVA,"Latvia",en -http://publications.europa.eu/resource/authority/country/SVK,"Slovakia",en -http://publications.europa.eu/resource/authority/country/SVN,"Slovenia",en -http://publications.europa.eu/resource/authority/country/CHE,"Switzerland",en -http://publications.europa.eu/resource/authority/country/LUX,"Luxembourg",en -http://publications.europa.eu/resource/authority/country/ROU,"Romania",en -http://publications.europa.eu/resource/authority/country,"Countries and territories",en -http://publications.europa.eu/resource/authority/country/VNM,"Viet Nam",en -http://publications.europa.eu/resource/authority/country/SEN,"Senegal",en -http://publications.europa.eu/resource/authority/country/SYC,"Seychelles",en -http://publications.europa.eu/resource/authority/country/ZAF,"South Africa",en -http://publications.europa.eu/resource/authority/country/KOR,"South Korea",en -http://publications.europa.eu/resource/authority/country/LBN,"Lebanon",en -http://publications.europa.eu/resource/authority/country/SAU,"Saudi Arabia",en -http://publications.europa.eu/resource/authority/country/JOR,"Jordan",en -http://publications.europa.eu/resource/authority/country/COM,"Comoros",en -http://publications.europa.eu/resource/authority/country/PAK,"Pakistan",en -http://publications.europa.eu/resource/authority/country/TUN,"Tunisia",en -http://publications.europa.eu/resource/authority/country/MKD,"North Macedonia",en -http://publications.europa.eu/resource/authority/country/GNQ,"Equatorial Guinea",en -http://publications.europa.eu/resource/authority/country/AUS,"Australia",en -http://publications.europa.eu/resource/authority/country/GIN,"Guinea",en -http://publications.europa.eu/resource/authority/country/DZA,"Algeria",en -http://publications.europa.eu/resource/authority/country/CYM,"Cayman Islands",en -http://publications.europa.eu/resource/authority/country/TKM,"Turkmenistan",en -http://publications.europa.eu/resource/authority/country/IRN,"Iran",en -http://publications.europa.eu/resource/authority/country/ARG,"Argentina",en -http://publications.europa.eu/resource/authority/country/EGY,"Egypt",en -http://publications.europa.eu/resource/authority/country/IDN,"Indonesia",en -http://publications.europa.eu/resource/authority/country/CHL,"Chile",en -http://publications.europa.eu/resource/authority/country/BGD,"Bangladesh",en -http://publications.europa.eu/resource/authority/country/URY,"Uruguay",en -http://publications.europa.eu/resource/authority/country/BMU,"Bermuda",en -http://publications.europa.eu/resource/authority/country/MUS,"Mauritius",en -http://publications.europa.eu/resource/authority/country/BLZ,"Belize",en -http://publications.europa.eu/resource/authority/country/BRB,"Barbados",en -http://publications.europa.eu/resource/authority/country/CIV,"Côte d’Ivoire",en -http://publications.europa.eu/resource/authority/country/COG,"Congo",en -http://publications.europa.eu/resource/authority/country/GUY,"Guyana",en -http://publications.europa.eu/resource/authority/country/JAM,"Jamaica",en -http://publications.europa.eu/resource/authority/country/KEN,"Kenya",en -http://publications.europa.eu/resource/authority/country/MDG,"Madagascar",en -http://publications.europa.eu/resource/authority/country/MWI,"Malawi",en -http://publications.europa.eu/resource/authority/country/SUR,"Suriname",en -http://publications.europa.eu/resource/authority/country/SWZ,"Eswatini",en -http://publications.europa.eu/resource/authority/country/TTO,"Trinidad and Tobago",en -http://publications.europa.eu/resource/authority/country/TZA,"Tanzania",en -http://publications.europa.eu/resource/authority/country/UGA,"Uganda",en -http://publications.europa.eu/resource/authority/country/ZMB,"Zambia",en -http://publications.europa.eu/resource/authority/country/ZWE,"Zimbabwe",en -http://publications.europa.eu/resource/authority/country/KGZ,"Kyrgyzstan",en -http://publications.europa.eu/resource/authority/country/MRT,"Mauritania",en -http://publications.europa.eu/resource/authority/country/SLE,"Sierra Leone",en -http://publications.europa.eu/resource/authority/country/GMB,"The Gambia",en -http://publications.europa.eu/resource/authority/country/LBY,"Libya",en -http://publications.europa.eu/resource/authority/country/PAN,"Panama",en -http://publications.europa.eu/resource/authority/country/AND,"Andorra",en -http://publications.europa.eu/resource/authority/country/LIE,"Liechtenstein",en -http://publications.europa.eu/resource/authority/country/NOR,"Norway",en -http://publications.europa.eu/resource/authority/country/RUS,"Russia",en -http://publications.europa.eu/resource/authority/country/SMR,"San Marino",en -http://publications.europa.eu/resource/authority/country/STP,"São Tomé and Príncipe",en -http://publications.europa.eu/resource/authority/country/TUR,"Türkiye",en -http://publications.europa.eu/resource/authority/country/ISL,"Iceland",en -http://publications.europa.eu/resource/authority/country/GNB,"Guinea-Bissau",en -http://publications.europa.eu/resource/authority/country/CHN,"China",en -http://publications.europa.eu/resource/authority/country/NPL,"Nepal",en -http://publications.europa.eu/resource/authority/country/USA,"United States",en -http://publications.europa.eu/resource/authority/country/ISR,"Israel",en -http://publications.europa.eu/resource/authority/country/JPN,"Japan",en -http://publications.europa.eu/resource/authority/country/CAN,"Canada",en -http://publications.europa.eu/resource/authority/country/YUG,"Yugoslavia",en -http://publications.europa.eu/resource/authority/country/IND,"India",en -http://publications.europa.eu/resource/authority/country/MDA,"Moldova",en -http://publications.europa.eu/resource/authority/country/KNA,"Saint Kitts and Nevis",en -http://publications.europa.eu/resource/authority/country/MCO,"Monaco",en -http://publications.europa.eu/resource/authority/country/TCD,"Chad",en -http://publications.europa.eu/resource/authority/country/VUT,"Vanuatu",en -http://publications.europa.eu/resource/authority/country/LAO,"Laos",en -http://publications.europa.eu/resource/authority/country/MLI,"Mali",en -http://publications.europa.eu/resource/authority/country/TGO,"Togo",en -http://publications.europa.eu/resource/authority/country/BRN,"Brunei",en -http://publications.europa.eu/resource/authority/country/COL,"Colombia",en -http://publications.europa.eu/resource/authority/country/PNG,"Papua New Guinea",en -http://publications.europa.eu/resource/authority/country/SUN,"Soviet Union",en -http://publications.europa.eu/resource/authority/country/GIB,"Gibraltar",en -http://publications.europa.eu/resource/authority/country/THA,"Thailand",en -http://publications.europa.eu/resource/authority/country/BRA,"Brazil",en -http://publications.europa.eu/resource/authority/country/NZL,"New Zealand",en -http://publications.europa.eu/resource/authority/country/CPV,"Cabo Verde",en -http://publications.europa.eu/resource/authority/country/NER,"Niger",en -http://publications.europa.eu/resource/authority/country/ABW,"Aruba",en -http://publications.europa.eu/resource/authority/country/UZB,"Uzbekistan",en -http://publications.europa.eu/resource/authority/country/MOZ,"Mozambique",en -http://publications.europa.eu/resource/authority/country/ANT,"Netherlands Antilles",en -http://publications.europa.eu/resource/authority/country/TWN,"Taiwan",en -http://publications.europa.eu/resource/authority/country/GTM,"Guatemala",en -http://publications.europa.eu/resource/authority/country/BLR,"Belarus",en -http://publications.europa.eu/resource/authority/country/BIH,"Bosnia and Herzegovina",en -http://publications.europa.eu/resource/authority/country/LKA,"Sri Lanka",en -http://publications.europa.eu/resource/authority/country/FSM,"Micronesia",en -http://publications.europa.eu/resource/authority/country/CSK,"Czechoslovakia",en -http://publications.europa.eu/resource/authority/country/BHS,"Bahamas",en -http://publications.europa.eu/resource/authority/country/ARM,"Armenia",en -http://publications.europa.eu/resource/authority/country/DMA,"Dominica",en -http://publications.europa.eu/resource/authority/country/EUR,"European Union",en -http://publications.europa.eu/resource/authority/country/ALB,"Albania",en -http://publications.europa.eu/resource/authority/country/BFA,"Burkina Faso",en -http://publications.europa.eu/resource/authority/country/KAZ,"Kazakhstan",en -http://publications.europa.eu/resource/authority/country/UKR,"Ukraine",en -http://publications.europa.eu/resource/authority/country/SGP,"Singapore",en -http://publications.europa.eu/resource/authority/country/CMR,"Cameroon",en -http://publications.europa.eu/resource/authority/country/AGO,"Angola",en -http://publications.europa.eu/resource/authority/country/ARE,"United Arab Emirates",en -http://publications.europa.eu/resource/authority/country/GEO,"Georgia",en -http://publications.europa.eu/resource/authority/country/DOM,"Dominican Republic",en -http://publications.europa.eu/resource/authority/country/ATG,"Antigua and Barbuda",en -http://publications.europa.eu/resource/authority/country/BOL,"Bolivia",en -http://publications.europa.eu/resource/authority/country/CRI,"Costa Rica",en -http://publications.europa.eu/resource/authority/country/CUB,"Cuba",en -http://publications.europa.eu/resource/authority/country/ECU,"Ecuador",en -http://publications.europa.eu/resource/authority/country/GRD,"Grenada",en -http://publications.europa.eu/resource/authority/country/HTI,"Haiti",en -http://publications.europa.eu/resource/authority/country/LCA,"Saint Lucia",en -http://publications.europa.eu/resource/authority/country/NIC,"Nicaragua",en -http://publications.europa.eu/resource/authority/country/PER,"Peru",en -http://publications.europa.eu/resource/authority/country/PRY,"Paraguay",en -http://publications.europa.eu/resource/authority/country/SLV,"El Salvador",en -http://publications.europa.eu/resource/authority/country/VCT,"Saint Vincent and the Grenadines",en -http://publications.europa.eu/resource/authority/country/VEN,"Venezuela",en -http://publications.europa.eu/resource/authority/country/DDR,"German Democratic Republic",en -http://publications.europa.eu/resource/authority/country/SOM,"Somalia",en -http://publications.europa.eu/resource/authority/country/FJI,"Fiji",en -http://publications.europa.eu/resource/authority/country/HKG,"Hong Kong",en -http://publications.europa.eu/resource/authority/country/PLW,"Palau",en -http://publications.europa.eu/resource/authority/country/MNG,"Mongolia",en -http://publications.europa.eu/resource/authority/country/SRB,"Serbia",en -http://publications.europa.eu/resource/authority/country/MNE,"Montenegro",en -http://publications.europa.eu/resource/authority/country/SYR,"Syria",en -http://publications.europa.eu/resource/authority/country/GAB,"Gabon",en -http://publications.europa.eu/resource/authority/country/HND,"Honduras",en -http://publications.europa.eu/resource/authority/country/LBR,"Liberia",en -http://publications.europa.eu/resource/authority/country/PHL,"Philippines",en -http://publications.europa.eu/resource/authority/country/TJK,"Tajikistan",en -http://publications.europa.eu/resource/authority/country/MDV,"Maldives",en -http://publications.europa.eu/resource/authority/country/MAC,"Macao",en -http://publications.europa.eu/resource/authority/country/RWA,"Rwanda",en -http://publications.europa.eu/resource/authority/country/AZE,"Azerbaijan",en -http://publications.europa.eu/resource/authority/country/KIR,"Kiribati",en -http://publications.europa.eu/resource/authority/country/SDN,"Sudan",en -http://publications.europa.eu/resource/authority/country/GHA,"Ghana",en -http://publications.europa.eu/resource/authority/country/YMD,"North Yemen",en -http://publications.europa.eu/resource/authority/country/BWA,"Botswana",en -http://publications.europa.eu/resource/authority/country/LSO,"Lesotho",en -http://publications.europa.eu/resource/authority/country/NAM,"Namibia",en -http://publications.europa.eu/resource/authority/country/VAT,"Holy See",en -http://publications.europa.eu/resource/authority/country/IRQ,"Iraq",en -http://publications.europa.eu/resource/authority/country/NGA,"Nigeria",en -http://publications.europa.eu/resource/authority/country/FRO,"Faroes",en -http://publications.europa.eu/resource/authority/country/DJI,"Djibouti",en -http://publications.europa.eu/resource/authority/country/COK,"Cook Islands",en -http://publications.europa.eu/resource/authority/country/YEM,"Yemen",en -http://publications.europa.eu/resource/authority/country/KHM,"Cambodia",en -http://publications.europa.eu/resource/authority/country/TLS,"Timor-Leste",en -http://publications.europa.eu/resource/authority/country/TON,"Tonga",en -http://publications.europa.eu/resource/authority/country/PSE,"Palestine*",en -http://publications.europa.eu/resource/authority/country/SCG,"Serbia and Montenegro",en -http://publications.europa.eu/resource/authority/country/BYS,"Belarus",en -http://publications.europa.eu/resource/authority/country/MHL,"Marshall Islands",en -http://publications.europa.eu/resource/authority/country/AFI,"French Afar and Issas",en -http://publications.europa.eu/resource/authority/country/AIA,"Anguilla",en -http://publications.europa.eu/resource/authority/country/ALA,"Åland Islands",en -http://publications.europa.eu/resource/authority/country/ASM,"American Samoa",en -http://publications.europa.eu/resource/authority/country/ATA,"Antarctica",en -http://publications.europa.eu/resource/authority/country/ATB,"British Antarctic Territory",en -http://publications.europa.eu/resource/authority/country/ATF,"French Southern and Antarctic Lands",en -http://publications.europa.eu/resource/authority/country/ATN,"Dronning Maud Land",en -http://publications.europa.eu/resource/authority/country/BES,"Bonaire, Sint Eustatius and Saba",en -http://publications.europa.eu/resource/authority/country/BLM,"Saint Barthélemy",en -http://publications.europa.eu/resource/authority/country/BTN,"Bhutan",en -http://publications.europa.eu/resource/authority/country/BUR,"Burma",en -http://publications.europa.eu/resource/authority/country/BVT,"Bouvet Island",en -http://publications.europa.eu/resource/authority/country/CCK,"Cocos (Keeling) Islands",en -http://publications.europa.eu/resource/authority/country/CPT,"Clipperton",en -http://publications.europa.eu/resource/authority/country/CTE,"Canton and Enderbury Islands",en -http://publications.europa.eu/resource/authority/country/CUW,"Curaçao",en -http://publications.europa.eu/resource/authority/country/CXR,"Christmas Island",en -http://publications.europa.eu/resource/authority/country/DHY,"Dahomey",en -http://publications.europa.eu/resource/authority/country/ERI,"Eritrea",en -http://publications.europa.eu/resource/authority/country/ESH,"Western Sahara",en -http://publications.europa.eu/resource/authority/country/ETH,"Ethiopia",en -http://publications.europa.eu/resource/authority/country/FLK,"Falkland Islands",en -http://publications.europa.eu/resource/authority/country/FQ0,"French Southern and Antarctic Lands",en -http://publications.europa.eu/resource/authority/country/FXX,"Metropolitan France",en -http://publications.europa.eu/resource/authority/country/GEL,"Gilbert and Ellice Islands",en -http://publications.europa.eu/resource/authority/country/GGY,"Guernsey",en -http://publications.europa.eu/resource/authority/country/GLP,"Guadeloupe",en -http://publications.europa.eu/resource/authority/country/GUF,"French Guiana",en -http://publications.europa.eu/resource/authority/country/GUM,"Guam",en -http://publications.europa.eu/resource/authority/country/HMD,"Heard Island and McDonald Islands",en -http://publications.europa.eu/resource/authority/country/HVO,"Upper Volta",en -http://publications.europa.eu/resource/authority/country/IMN,"Isle of Man",en -http://publications.europa.eu/resource/authority/country/IOT,"British Indian Ocean Territory",en -http://publications.europa.eu/resource/authority/country/JEY,"Jersey",en -http://publications.europa.eu/resource/authority/country/JTN,"Johnston Island",en -http://publications.europa.eu/resource/authority/country/MAF,"Saint Martin",en -http://publications.europa.eu/resource/authority/country/MID,"Midway Islands",en -http://publications.europa.eu/resource/authority/country/MMR,"Myanmar/Burma",en -http://publications.europa.eu/resource/authority/country/MNP,"Northern Mariana Islands",en -http://publications.europa.eu/resource/authority/country/MSR,"Montserrat",en -http://publications.europa.eu/resource/authority/country/MTQ,"Martinique",en -http://publications.europa.eu/resource/authority/country/MYT,"Mayotte",en -http://publications.europa.eu/resource/authority/country/NCL,"New Caledonia",en -http://publications.europa.eu/resource/authority/country/NFK,"Norfolk Island",en -http://publications.europa.eu/resource/authority/country/NHB,"New Hebrides",en -http://publications.europa.eu/resource/authority/country/NIU,"Niue",en -http://publications.europa.eu/resource/authority/country/NRU,"Nauru",en -http://publications.europa.eu/resource/authority/country/NTZ,"Neutral Zone",en -http://publications.europa.eu/resource/authority/country/PCI,"Trust Territory of the Pacific Islands",en -http://publications.europa.eu/resource/authority/country/PCN,"Pitcairn Islands",en -http://publications.europa.eu/resource/authority/country/PCZ,"Panama Canal Zone",en -http://publications.europa.eu/resource/authority/country/PRI,"Puerto Rico",en -http://publications.europa.eu/resource/authority/country/PRK,"North Korea",en -http://publications.europa.eu/resource/authority/country/PUS,"US Miscellaneous Pacific Islands",en -http://publications.europa.eu/resource/authority/country/PYF,"French Polynesia",en -http://publications.europa.eu/resource/authority/country/REU,"Réunion",en -http://publications.europa.eu/resource/authority/country/RHO,"Southern Rhodesia",en -http://publications.europa.eu/resource/authority/country/SGS,"South Georgia and the South Sandwich Islands",en -http://publications.europa.eu/resource/authority/country/SHN,"Saint Helena, Ascension and Tristan da Cunha",en -http://publications.europa.eu/resource/authority/country/SJM,"Svalbard and Jan Mayen",en -http://publications.europa.eu/resource/authority/country/SKM,"Sikkim",en -http://publications.europa.eu/resource/authority/country/SPM,"Saint Pierre and Miquelon",en -http://publications.europa.eu/resource/authority/country/SSD,"South Sudan",en -http://publications.europa.eu/resource/authority/country/SXM,"Sint Maarten",en -http://publications.europa.eu/resource/authority/country/TCA,"Turks and Caicos Islands",en -http://publications.europa.eu/resource/authority/country/TKL,"Tokelau",en -http://publications.europa.eu/resource/authority/country/TMP,"East Timor",en -http://publications.europa.eu/resource/authority/country/UMI,"United States Minor Outlying Islands",en -http://publications.europa.eu/resource/authority/country/VDR,"Democratic Republic of Vietnam",en -http://publications.europa.eu/resource/authority/country/VGB,"British Virgin Islands",en -http://publications.europa.eu/resource/authority/country/VIR,"US Virgin Islands",en -http://publications.europa.eu/resource/authority/country/WAK,"Wake Island",en -http://publications.europa.eu/resource/authority/country/WLF,"Wallis and Futuna",en -http://publications.europa.eu/resource/authority/country/XSL,"Somaliland",en -http://publications.europa.eu/resource/authority/country/XLF,"Fezzan (Libya)",en -http://publications.europa.eu/resource/authority/country/XEU,"EU Waters",en -http://publications.europa.eu/resource/authority/country/XMAZ,"Marine zone",en -http://publications.europa.eu/resource/authority/country/XNY,"Nyasaland",en -http://publications.europa.eu/resource/authority/country/XLI,"Livigno",en -http://publications.europa.eu/resource/authority/country/XIC,"Canary Islands",en -http://publications.europa.eu/resource/authority/country/XNC,"areas of the Republic of Cyprus in which the Government of the Republic of Cyprus does not exercise effective control",en -http://publications.europa.eu/resource/authority/country/XSC,"Ceuta",en -http://publications.europa.eu/resource/authority/country/XSM,"Melilla",en -http://publications.europa.eu/resource/authority/country/XDST,"Disputed region",en -http://publications.europa.eu/resource/authority/country/XQP,"Colombia/Jamaica (joint regime)",en -http://publications.europa.eu/resource/authority/country/XXA,"Paracel Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XKA,"Democratic Kampuchea",en -http://publications.europa.eu/resource/authority/country/XKM,"People’s Republic of Kampuchea",en -http://publications.europa.eu/resource/authority/country/ZAR,"Zaire",en -http://publications.europa.eu/resource/authority/country/XXB,"Spratly Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XLL,"Italian waters of Lake Lugano",en -http://publications.europa.eu/resource/authority/country/XQR,"Japan/South Korea (joint regime)",en -http://publications.europa.eu/resource/authority/country/XXC,"Aksai Chin (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XCI,"Campione d’Italia",en -http://publications.europa.eu/resource/authority/country/XXD,"Arunashal Pradesh (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XBA,"Basutoland",en -http://publications.europa.eu/resource/authority/country/XXE,"China/India (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXF,"Hala'Ib Triangle (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XHS,"High seas",en -http://publications.europa.eu/resource/authority/country/XPM,"Madeira",en -http://publications.europa.eu/resource/authority/country/XXG,"Ilemi Triangle (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXH,"Jammu Kashmir (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXI,"Northern Ireland",en -http://publications.europa.eu/resource/authority/country/XXJ,"Liancourt Rock (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXO,"Juan de Nova, Glorioso, Europa, Tromelin, Bassas da India",en -http://publications.europa.eu/resource/authority/country/XBH,"Büsingen am Hochrhein",en -http://publications.europa.eu/resource/authority/country/XXL,"Navassa Island (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XBI,"Biafra",en -http://publications.europa.eu/resource/authority/country/XXM,"Scarborough Reef (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XSG,"Joint area between Senegal and Guinea-Bissau",en -http://publications.europa.eu/resource/authority/country/XPA,"Azores",en -http://publications.europa.eu/resource/authority/country/XXN,"Senkaku Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XIN,"International Waters",en -http://publications.europa.eu/resource/authority/country/XJM,"Fisheries zone around Jan Mayen",en -http://publications.europa.eu/resource/authority/country/XME,"Melanesia",en -http://publications.europa.eu/resource/authority/country/XSV,"Fisheries Protection Zone around Svalbard",en -http://publications.europa.eu/resource/authority/country/XXP,"China/Philippines/Viet Nam/Taiwan/Malaysia (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXZ,"Kuril Islands (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XAC,"Ashmore and Cartier Islands",en -http://publications.europa.eu/resource/authority/country/XKX,"Kosovo*",en -http://publications.europa.eu/resource/authority/country/XGS,"Gaza Strip",en -http://publications.europa.eu/resource/authority/country/CRQ,"Sark",en -http://publications.europa.eu/resource/authority/country/XAD,"UK Sovereign Base Areas of Akrotiri and Dhekelia",en -http://publications.europa.eu/resource/authority/country/XIH,"Heligoland",en -http://publications.europa.eu/resource/authority/country/XMA,"Mount Athos",en -http://publications.europa.eu/resource/authority/country/XWS,"Western Samoa",en -http://publications.europa.eu/resource/authority/country/XXU,"Abyei Region (disputed territory)",en -http://publications.europa.eu/resource/authority/country/XXV,"Bir Tawil (disputed territory)",en -https://gdi.onemilliongenomes.eu,GDI,en -https://en.wikipedia.org/wiki/Colorectal_cancer,Colorectal cancer,en -http://purl.bioontology.org/ontology/ICD10CM/B34.2,"Coronavirus infection, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/B95-B97,"Bacterial and viral infectious agents (B95-B97)",en -http://purl.bioontology.org/ontology/ICD10CM/B97.21,"SARS-associated coronavirus as the cause of diseases classified elsewhere",en -http://purl.bioontology.org/ontology/ICD10CM/D65-D69,"Coagulation defects, purpura and other hemorrhagic conditions (D65-D69)",en -http://purl.bioontology.org/ontology/ICD10CM/F03,"Unspecified dementia",en -http://purl.bioontology.org/ontology/ICD10CM/G30,"Alzheimer's disease",en -http://purl.bioontology.org/ontology/ICD10CM/G93.3,"Postviral and related fatigue syndromes",en -http://purl.bioontology.org/ontology/ICD10CM/G93.31,"Postviral fatigue syndrome",en -http://purl.bioontology.org/ontology/ICD10CM/I21,"Acute myocardial infarction",en -http://purl.bioontology.org/ontology/ICD10CM/I26-I28,"Pulmonary heart disease and diseases of pulmonary circulation (I26-I28)",en -http://purl.bioontology.org/ontology/ICD10CM/I49.9,"Cardiac arrhythmia, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/I50,"Heart failure",en -http://purl.bioontology.org/ontology/ICD10CM/I51.4,"Myocarditis, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/I60-I69,"Cerebrovascular diseases (I60-I69)",en -http://purl.bioontology.org/ontology/ICD10CM/I63,"Cerebral infarction",en -http://purl.bioontology.org/ontology/ICD10CM/I67.6,"Nonpyogenic thrombosis of intracranial venous system",en -http://purl.bioontology.org/ontology/ICD10CM/I80-I89,"Diseases of veins, lymphatic vessels and lymph nodes, not elsewhere classified (I80-I89)",en -http://purl.bioontology.org/ontology/ICD10CM/I82,"Other venous embolism and thrombosis",en -http://purl.bioontology.org/ontology/ICD10CM/J00-J99,"Diseases of the respiratory system (J00-J99)",en -http://purl.bioontology.org/ontology/ICD10CM/J06.9,"Acute upper respiratory infection, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/J12.81,"Pneumonia due to SARS-associated coronavirus",en -http://purl.bioontology.org/ontology/ICD10CM/J12.82,"Pneumonia due to coronavirus disease 2019",en -http://purl.bioontology.org/ontology/ICD10CM/M30.3,"Mucocutaneous lymph node syndrome [Kawasaki]",en -http://purl.bioontology.org/ontology/ICD10CM/M35.81,"Multisystem inflammatory syndrome",en -http://purl.bioontology.org/ontology/ICD10CM/R53,"Malaise and fatigue",en -http://purl.bioontology.org/ontology/ICD10CM/R53.82,"Chronic fatigue, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/T83.510S,"Infection and inflammatory reaction due to cystostomy catheter, sequela",en -http://purl.bioontology.org/ontology/ICD10CM/U00-U85,"Codes for special purposes (U00-U85)",en -http://purl.bioontology.org/ontology/ICD10CM/U07.1,"COVID-19",en -http://purl.bioontology.org/ontology/ICD10CM/U09,"Post COVID-19 condition",en -http://purl.bioontology.org/ontology/ICD10CM/U09.9,"Post COVID-19 condition, unspecified",en -http://purl.bioontology.org/ontology/ICD10CM/Z01.89,"Encounter for other specified special examinations",en -http://purl.bioontology.org/ontology/ICD10CM/Z11.52,"Encounter for screening for COVID-19",en -http://purl.org/zonmw/covid19/10121,"ultrasound",en -http://purl.org/zonmw/covid19/10127,"environmental data",en -http://purl.org/zonmw/covid19/10125,"survey data",en -http://purl.org/zonmw/covid19/10129,"aerial photography",en -http://purl.org/zonmw/covid19/10124,"social data",en -http://purl.org/zonmw/covid19/10123,"infrared thermography",en -http://purl.org/zonmw/covid19/10122,"computed tomography",en -http://purl.org/zonmw/covid19/10128,"geographical data",en -http://purl.org/zonmw/covid19/10120,"X-ray imaging",en -http://purl.org/zonmw/covid19/10126,"COVID policy and prevention measures",en -http://purl.org/zonmw/covid19/10174,"nasopharyngeal swab specimen",en -http://purl.org/zonmw/covid19/10176,"tissue specimen",en -http://purl.org/zonmw/covid19/10175,"oropharyngeal swab specimen",en -http://purl.org/zonmw/covid19/10172,"frozen specimen",en -http://purl.org/zonmw/covid19/10173,"nasal swab",en -http://purl.org/zonmw/covid19/10178,"FFPE tissue specimen",en -http://purl.org/zonmw/covid19/10179,"glutaraldehyde fixed tissue specimen",en -http://purl.org/zonmw/covid19/10171,"fresh specimen",en -http://purl.org/zonmw/covid19/10170,"cell line",en -http://purl.org/zonmw/covid19/10177,"vaginal swab specimen",en -http://purl.org/zonmw/covid19/10198,"animal facility (breeding/transgenesis)",en -http://purl.org/zonmw/covid19/10190,"ML-3 laboratory",en -http://purl.org/zonmw/covid19/10195,"antibody facility",en -http://purl.org/zonmw/covid19/10194,"BSL-4 laboratory",en -http://purl.org/zonmw/covid19/10191,"BSL-1 laboratory",en -http://purl.org/zonmw/covid19/10193,"BSL-3 laboratory",en -http://purl.org/zonmw/covid19/10196,"proteomics facility",en -http://purl.org/zonmw/covid19/10192,"BSL-2 laboratory",en -http://purl.org/zonmw/covid19/10199,"flow cytometry facility",en -http://purl.org/zonmw/covid19/10197,"metabolomics facility",en -http://purl.org/zonmw/covid19/10158,"saliva",en -http://purl.org/zonmw/covid19/10157,"plasma",en -http://purl.org/zonmw/covid19/10154,"blood",en -http://purl.org/zonmw/covid19/10159,"semen",en -http://purl.org/zonmw/covid19/10156,"feces",en -http://purl.org/zonmw/covid19/10155,"breath",en -http://purl.org/zonmw/covid19/10240,"behaviour",en -http://purl.org/zonmw/covid19/10249,"predictive diagnostics and treatment - risk analysis and prognostics",en -http://purl.org/zonmw/covid19/10246,"cloacal swab",en -http://purl.org/zonmw/covid19/10245,"perineal swab",en -http://purl.org/zonmw/covid19/10244,"genomics data",en -http://purl.org/zonmw/covid19/10148,"mouse",en -http://purl.org/zonmw/covid19/10146,"human",en -http://purl.org/zonmw/covid19/10147,"mink",en -http://purl.org/zonmw/covid19/10140,"interview data",en -http://purl.org/zonmw/covid19/10143,"prototype description",en -http://purl.org/zonmw/covid19/10142,"study design",en -http://purl.org/zonmw/covid19/10149,"rat",en -http://purl.org/zonmw/covid19/10023,"surveillance phase",en -http://purl.org/zonmw/covid19/10021,"palliative care",en -http://purl.org/zonmw/covid19/10028,"lockdown phase",en -http://purl.org/zonmw/covid19/10024,"short-term impact on emotional wellbeing",en -http://purl.org/zonmw/covid19/10029,"prevention phase",en -http://purl.org/zonmw/covid19/10022,"rehabilitation",en -http://purl.org/zonmw/covid19/10026,"long COVID",en -http://purl.org/zonmw/covid19/10020,"post-covid care",en -http://purl.org/zonmw/covid19/10025,"long-term impact on emotional wellbeing",en -http://purl.org/zonmw/covid19/10027,"regulation phase",en -http://purl.org/zonmw/covid19/10232,"Diagnostiek",en -http://purl.org/zonmw/covid19/10233,"impact of measures and strategies",en -http://purl.org/zonmw/covid19/10236,"therapy",en -http://purl.org/zonmw/covid19/10235,"education",en -http://purl.org/zonmw/covid19/10238,"Prognose",en -http://purl.org/zonmw/covid19/10237,"risk analysis",en -http://purl.org/zonmw/covid19/10231,"organisation of care and prevention",en -http://purl.org/zonmw/covid19/10239,"Immunologie",en -http://purl.org/zonmw/covid19/10234,"healthcare",en -http://purl.org/zonmw/covid19/10274,"viral infection",en -http://purl.org/zonmw/covid19/10276,"base call quality score",en -http://purl.org/zonmw/covid19/10271,"viral epidemiology",en -http://purl.org/zonmw/covid19/10273,"viral transmission",en -http://purl.org/zonmw/covid19/10272,"viral evolution",en -http://purl.org/zonmw/covid19/10270,"COVID-19",en -http://purl.org/zonmw/covid19/10275,"base calls",en -http://purl.org/zonmw/covid19/10132,"audiovisual data",en -http://purl.org/zonmw/covid19/10134,"video recording",en -http://purl.org/zonmw/covid19/10136,"field note",en -http://purl.org/zonmw/covid19/10135,"qualitative data",en -http://purl.org/zonmw/covid19/10133,"picture",en -http://purl.org/zonmw/covid19/10131,"GIS data",en -http://purl.org/zonmw/covid19/10130,"map",en -http://purl.org/zonmw/covid19/10138,"social media data",en -http://purl.org/zonmw/covid19/10139,"diaries",en -http://purl.org/zonmw/covid19/10137,"focus group discussion",en -http://purl.org/zonmw/covid19/10030,"social distancing phase",en -http://purl.org/zonmw/covid19/10035,"second wave",en -http://purl.org/zonmw/covid19/10038,"people by age",en -http://purl.org/zonmw/covid19/10036,"third wave",en -http://purl.org/zonmw/covid19/10032,"curefew",en -http://purl.org/zonmw/covid19/10039,"prematures",en -http://purl.org/zonmw/covid19/10033,"COVID-19 phase",en -http://purl.org/zonmw/covid19/10031,"restricted shopping phase",en -http://purl.org/zonmw/covid19/10034,"first wave",en -http://purl.org/zonmw/covid19/10061,"preschooler",en -http://purl.org/zonmw/covid19/10064,"secondary school student",en -http://purl.org/zonmw/covid19/10067,"people by employment",en -http://purl.org/zonmw/covid19/10065,"vocational school student",en -http://purl.org/zonmw/covid19/10062,"daycare child",en -http://purl.org/zonmw/covid19/10063,"primary school student",en -http://purl.org/zonmw/covid19/10060,"people by education",en -http://purl.org/zonmw/covid19/10066,"university student",en -http://purl.org/zonmw/covid19/10069,"individual with high socio-economic status",en -http://purl.org/zonmw/covid19/10068,"individual with low socio-economic status",en -http://purl.org/zonmw/covid19/10220,"COVID-19 vaccination grouping",en -http://purl.org/zonmw/covid19/10227,"virus, immunity and immune response - vaccine studies",en -http://purl.org/zonmw/covid19/10226,"predictive diagnostics and treatment - treatment",en -http://purl.org/zonmw/covid19/10221,"political data",en -http://purl.org/zonmw/covid19/10223,"socio-economic data",en -http://purl.org/zonmw/covid19/10222,"economic data",en -http://purl.org/zonmw/covid19/10228,"care and prevention - organisation of care and prevention",en -http://purl.org/zonmw/covid19/10229,"effects on society - impacts of measurements and strategies",en -http://purl.org/zonmw/covid19/10093,"non-hospitalised covid-19 patient",en -http://purl.org/zonmw/covid19/10095,"Individual after first infection",en -http://purl.org/zonmw/covid19/10091,"COVID-19 patient grouping",en -http://purl.org/zonmw/covid19/10092,"hospitalised covid-19 patient",en -http://purl.org/zonmw/covid19/10098,"target group of policy interventions",en -http://purl.org/zonmw/covid19/10099,"homeless",en -http://purl.org/zonmw/covid19/10090,"blood donor",en -http://purl.org/zonmw/covid19/10094,"long-covid-19 patient",en -http://purl.org/zonmw/covid19/10096,"individual with SARS-CoV-2 vaccination",en -http://purl.org/zonmw/covid19/10097,"individual refusing SARS-CoV-2 vaccination",en -http://purl.org/zonmw/covid19/10000,"deprecated",en -http://purl.org/zonmw/covid19/10005,"provincial",en -http://purl.org/zonmw/covid19/10006,"regional",en -http://purl.org/zonmw/covid19/10003,"urban",en -http://purl.org/zonmw/covid19/10008,"international",en -http://purl.org/zonmw/covid19/10007,"national",en -http://purl.org/zonmw/covid19/10002,"area",en -http://purl.org/zonmw/covid19/10004,"rural",en -http://purl.org/zonmw/covid19/10001,"spatial scope",en -http://purl.org/zonmw/covid19/10009,"care setting",en -http://purl.org/zonmw/covid19/10100,"victim of domestic violence",en -http://purl.org/zonmw/covid19/10101,"illiterate people",en -http://purl.org/zonmw/covid19/10108,"health data",en -http://purl.org/zonmw/covid19/10103,"intellectual disabled",en -http://purl.org/zonmw/covid19/10109,"health record data",en -http://purl.org/zonmw/covid19/10106,"single household person",en -http://purl.org/zonmw/covid19/10102,"physical disabled",en -http://purl.org/zonmw/covid19/10105,"policy-maker",en -http://purl.org/zonmw/covid19/10104,"mental health patient",en -http://purl.org/zonmw/covid19/10187,"laboratory service",en -http://purl.org/zonmw/covid19/10182,"DNA",en -http://purl.org/zonmw/covid19/10181,"cDNA",en -http://purl.org/zonmw/covid19/10183,"RNA",en -http://purl.org/zonmw/covid19/10185,"antibody",en -http://purl.org/zonmw/covid19/10188,"ML-1 laboratory",en -http://purl.org/zonmw/covid19/10184,"protein",en -http://purl.org/zonmw/covid19/10189,"ML-2 laboratory",en -http://purl.org/zonmw/covid19/10078,"individual with a migration background",en -http://purl.org/zonmw/covid19/10070,"employed person",en -http://purl.org/zonmw/covid19/10071,"self-employed individual",en -http://purl.org/zonmw/covid19/10076,"tourist",en -http://purl.org/zonmw/covid19/10077,"people with migration background",en -http://purl.org/zonmw/covid19/10075,"individual living in a care home",en -http://purl.org/zonmw/covid19/10079,"statushouder",en -http://purl.org/zonmw/covid19/10074,"professional care provider",en -http://purl.org/zonmw/covid19/10072,"employee with a temporary contract",en -http://purl.org/zonmw/covid19/10073,"informal care provider",en -http://purl.org/zonmw/covid19/10012,"GP care",en -http://purl.org/zonmw/covid19/10011,"transmural",en -http://purl.org/zonmw/covid19/10013,"nursing home care",en -http://purl.org/zonmw/covid19/10014,"hospital care",en -http://purl.org/zonmw/covid19/10010,"home care",en -http://purl.org/zonmw/covid19/10017,"local",en -http://purl.org/zonmw/covid19/10015,"informal care",en -http://purl.org/zonmw/covid19/10016,"residential care",en -http://purl.org/zonmw/covid19/10019,"acute care",en -http://purl.org/zonmw/covid19/10018,"health care phase",en -http://purl.org/zonmw/covid19/10059,"not specified",en -http://purl.org/zonmw/covid19/10052,"male",en -http://purl.org/zonmw/covid19/10057,"woman",en -http://purl.org/zonmw/covid19/10053,"female",en -http://purl.org/zonmw/covid19/10050,"very elderly",en -http://purl.org/zonmw/covid19/10056,"man",en -http://purl.org/zonmw/covid19/10055,"people by gender",en -http://purl.org/zonmw/covid19/10058,"non-binary",en -http://purl.org/zonmw/covid19/10051,"people by sex",en -http://purl.org/zonmw/covid19/10054,"intersex",en -http://purl.org/zonmw/covid19/10207,"pharmacy",en -http://purl.org/zonmw/covid19/10209,"biobank",en -http://purl.org/zonmw/covid19/10201,"sequencing facility",en -http://purl.org/zonmw/covid19/10204,"data analytics facility",en -http://purl.org/zonmw/covid19/10202,"hiPSC facility",en -http://purl.org/zonmw/covid19/10200,"microscopy facility",en -http://purl.org/zonmw/covid19/10203,"GMP facility",en -http://purl.org/zonmw/covid19/10206,"viral vector facility",en -http://purl.org/zonmw/covid19/10205,"biobank facility",en -http://purl.org/zonmw/covid19/10208,"repository",en -http://purl.org/zonmw/covid19/10044,"primary school children",en -http://purl.org/zonmw/covid19/10047,"young adults",en -http://purl.org/zonmw/covid19/10042,"babies",en -http://purl.org/zonmw/covid19/10045,"teenager",en -http://purl.org/zonmw/covid19/10040,"newborns",en -http://purl.org/zonmw/covid19/10049,"elderly",en -http://purl.org/zonmw/covid19/10046,"young people",en -http://purl.org/zonmw/covid19/10041,"neonates",en -http://purl.org/zonmw/covid19/10043,"small children",en -http://purl.org/zonmw/covid19/10048,"adults",en -http://purl.org/zonmw/covid19/10161,"sewage",en -http://purl.org/zonmw/covid19/10164,"tissue",en -http://purl.org/zonmw/covid19/10162,"sputum",en -http://purl.org/zonmw/covid19/10160,"serum",en -http://purl.org/zonmw/covid19/10163,"tear",en -http://purl.org/zonmw/covid19/10165,"urine",en -http://purl.org/zonmw/covid19/10167,"nutrition",en -http://purl.org/zonmw/covid19/10166,"peripheral blood mononuclear cell",en -http://purl.org/zonmw/covid19/10168,"cervicovaginal secretion",en -http://purl.org/zonmw/covid19/10080,"asylum seeker",en -http://purl.org/zonmw/covid19/10081,"undocumented migrant",en -http://purl.org/zonmw/covid19/10082,"season labour migrant",en -http://purl.org/zonmw/covid19/10083,"people by COVID-19 risk factors",en -http://purl.org/zonmw/covid19/10088,"patient using anticoagulants",en -http://purl.org/zonmw/covid19/10086,"patient with (covid-19 associated) thrombosis",en -http://purl.org/zonmw/covid19/10087,"individual with obesity",en -http://purl.org/zonmw/covid19/10085,"individual with underlying disease(s)",en -http://purl.org/zonmw/covid19/10084,"individual with a chronic illness",en -http://purl.org/zonmw/covid19/10089,"surgical patient",en -http://purl.org/zonmw/covid19/10264,"genomics",en -http://purl.org/zonmw/covid19/10268,"performed by a certified laboratory",en -http://purl.org/zonmw/covid19/10265,"sequence length",en -http://purl.org/zonmw/covid19/10269,"SARS-CoV-2",en -http://purl.org/zonmw/covid19/10267,"date of last PRC test",en -http://purl.org/zonmw/covid19/10262,"personal information data",en -http://purl.org/zonmw/covid19/10263,"neighbourhood",en -http://purl.org/zonmw/covid19/10260,"virus, immunity and immune response - immune compromised",en -http://purl.org/zonmw/covid19/10261,"virus, immunity and immune response - safety and side effects",en -http://purl.org/zonmw/covid19/10266,"genetic variation",en -http://purl.org/zonmw/covid19/10257,"effects on society - ethical issues",en -http://purl.org/zonmw/covid19/10252,"predictive diagnostics and treatment - Long COVID",en -http://purl.org/zonmw/covid19/10251,"predictive diagnostics and treatment - recovery and rehabilitation",en -http://purl.org/zonmw/covid19/10255,"care and prevention - palliative care and bereavement",en -http://purl.org/zonmw/covid19/10254,"care and prevention - transmission and epidemiology",en -http://purl.org/zonmw/covid19/10259,"virus, immunity and immune response - immunology",en -http://purl.org/zonmw/covid19/10250,"predictive diagnostics and treatment - studies into clinical treatments",en -http://purl.org/zonmw/covid19/10253,"care and prevention - care and prevention for vulnerable citizens",en -http://purl.org/zonmw/covid19/10258,"virus, immunity and immune response - animal free innovations",en -http://purl.org/zonmw/covid19/10256,"effects on society - economic resilience",en -http://purl.org/zonmw/covid19/10211,"ELSI service",en -http://purl.org/zonmw/covid19/10210,"data catalogue",en -http://purl.org/zonmw/covid19/10111,"diagnostic data",en -http://purl.org/zonmw/covid19/10114,"treatment data",en -http://purl.org/zonmw/covid19/10119,"magnetic resonance imaging",en -http://purl.org/zonmw/covid19/10112,"physiological data",en -http://purl.org/zonmw/covid19/10115,"medication data",en -http://purl.org/zonmw/covid19/10116,"molecular data",en -http://purl.org/zonmw/covid19/10118,"diagnostic imaging",en -http://purl.org/zonmw/covid19/10110,"medical history data",en -http://purl.org/zonmw/covid19/10113,"laboratory data",en -http://purl.org/zonmw/covid19/10117,"genetic data",en -http://purl.org/zonmw/id-amr/10022,"screening phase",en -http://purl.org/zonmw/id-amr/10044,"wastewater",en -http://purl.org/zonmw/id-amr/10139,"plasma, single spun",en -http://purl.org/zonmw/id-amr/10237,"open only through collaboration",en -http://purl.org/zonmw/id-amr/10010,"vector-borne disease",en -http://purl.org/zonmw/id-amr/10167,"amplifiablility of nucleic acids",en -http://purl.org/zonmw/id-amr/10250,"sensitive information",en -http://purl.org/zonmw/id-amr/10100,"fruit",en -http://purl.org/zonmw/id-amr/10112,"bone marrow aspirate",en -http://purl.org/zonmw/id-amr/10000,"deprecated",en -http://purl.org/zonmw/id-amr/10105,"pulse - bean",en -http://purl.org/zonmw/id-amr/10104,"oil seed",en -http://purl.org/zonmw/id-amr/10024,"disease phase",en -http://purl.org/zonmw/id-amr/10262,"storage",en -http://purl.org/zonmw/id-amr/10060,"poultry",en -http://purl.org/zonmw/id-amr/10061,"insect",en -http://purl.org/zonmw/id-amr/10073,"health status data",en -http://purl.org/zonmw/id-amr/10201,"data integration",en -http://purl.org/zonmw/id-amr/10045,"water",en -http://purl.org/zonmw/id-amr/10200,"data analysis",en -http://purl.org/zonmw/id-amr/10047,"livestock",en -http://purl.org/zonmw/id-amr/10207,"training",en -http://purl.org/zonmw/id-amr/10110,"blood (whole)",en -http://purl.org/zonmw/id-amr/10236,"open in response to specific calls",en -http://purl.org/zonmw/id-amr/10035,"subject having antimicrobial treatment",en -http://purl.org/zonmw/id-amr/10097,"synovial fluid specimen",en -http://purl.org/zonmw/id-amr/10151,"urine, 24 h",en -http://purl.org/zonmw/id-amr/10127,"disrupted tissue, non-viable",en -http://purl.org/zonmw/id-amr/10253,"viral disease",en -http://purl.org/zonmw/id-amr/10102,"crop",en -http://purl.org/zonmw/id-amr/10192,"clinical records",en -http://purl.org/zonmw/id-amr/10255,"fungal disease",en -http://purl.org/zonmw/id-amr/10071,"imaging data",en -http://purl.org/zonmw/id-amr/10052,"sheep (wool)",en -http://purl.org/zonmw/id-amr/10179,"quality control of microbiological material",en -http://purl.org/zonmw/id-amr/10117,"cells from laser capture microdissected tissue",en -http://purl.org/zonmw/id-amr/10223,"in progress",en -http://purl.org/zonmw/id-amr/10132,"hair",en -http://purl.org/zonmw/id-amr/10011,"prion disease",en -http://purl.org/zonmw/id-amr/10258,"disease caused by insects",en -http://purl.org/zonmw/id-amr/10145,"solid tissue",en -http://purl.org/zonmw/id-amr/10015,"human domain",en -http://purl.org/zonmw/id-amr/10251,"yes, and it is GDPR compliant",en -http://purl.org/zonmw/id-amr/10240,"closed to access",en -http://purl.org/zonmw/id-amr/10004,"transmission",en -http://purl.org/zonmw/id-amr/10048,"diary cattle",en -http://purl.org/zonmw/id-amr/10257,"phytoplasma disease",en -http://purl.org/zonmw/id-amr/10170,"type of primary container",en -http://purl.org/zonmw/id-amr/10123,"cord blood",en -http://purl.org/zonmw/id-amr/10229,"genetic analysis restriction",en -http://purl.org/zonmw/id-amr/10265,"centrifugation information",en -http://purl.org/zonmw/id-amr/10147,"stool",en -http://purl.org/zonmw/id-amr/10008,"stewardship",en -http://purl.org/zonmw/id-amr/10137,"placenta",en -http://purl.org/zonmw/id-amr/10066,"aquaculture",en -http://purl.org/zonmw/id-amr/10141,"red blood cells",en -http://purl.org/zonmw/id-amr/10103,"cereal",en -http://purl.org/zonmw/id-amr/10217,"company department",en -http://purl.org/zonmw/id-amr/10058,"broiler",en -http://purl.org/zonmw/id-amr/10129,"enriched (physicochemically) circulating tumor cells",en -http://purl.org/zonmw/id-amr/10030,"subject with a viral infection",en -http://purl.org/zonmw/id-amr/10085,"protein",en -http://purl.org/zonmw/id-amr/10126,"dental pulp",en -http://purl.org/zonmw/id-amr/10051,"buffalo",en -http://purl.org/zonmw/id-amr/10209,"national registries data",en -http://purl.org/zonmw/id-amr/10036,"subject having vaccination",en -http://purl.org/zonmw/id-amr/10122,"cerebrospinal fluid",en -http://purl.org/zonmw/id-amr/10120,"cells from non-blood specimen type (e.g. dissociated tissue), non-viable",en -http://purl.org/zonmw/id-amr/10094,"specimen from geinital system",en -http://purl.org/zonmw/id-amr/10118,"cells from non blood specimen type (e.g. ascites, amniotic), non-viable",en -http://purl.org/zonmw/id-amr/10018,"environmental domain",en -http://purl.org/zonmw/id-amr/10161,"biomedical device",en -http://purl.org/zonmw/id-amr/10228,"export restriction",en -http://purl.org/zonmw/id-amr/10107,"detailed type of specimen",en -http://purl.org/zonmw/id-amr/10050,"beef cattle",en -http://purl.org/zonmw/id-amr/10213,"laboratory",en -http://purl.org/zonmw/id-amr/10256,"nematode disease",en -http://purl.org/zonmw/id-amr/10152,"urine, first morning",en -http://purl.org/zonmw/id-amr/10041,"infectious agent having antimicrobial resistance",en -http://purl.org/zonmw/id-amr/10162,"quality control of biomaterials",en -http://purl.org/zonmw/id-amr/10186,"less frequently",en -http://purl.org/zonmw/id-amr/10029,"subject with a bacterial infection",en -http://purl.org/zonmw/id-amr/10149,"tears",en -http://purl.org/zonmw/id-amr/10243,"up to one year",en -http://purl.org/zonmw/id-amr/10157,"animal material",en -http://purl.org/zonmw/id-amr/10184,"every two years",en -http://purl.org/zonmw/id-amr/10171,"pre-centrifugation conditions",en -http://purl.org/zonmw/id-amr/10033,"subject with risk of bacterial infection",en -http://purl.org/zonmw/id-amr/10128,"dried whole blood (e.g. guthrie cards)",en -http://purl.org/zonmw/id-amr/10172,"centrifugation conditions",en -http://purl.org/zonmw/id-amr/10266,"viability frequency",en -http://purl.org/zonmw/id-amr/10108,"amniotic fluid",en -http://purl.org/zonmw/id-amr/10165,"concentration of molecular or cellular derivatives",en -http://purl.org/zonmw/id-amr/10009,"zoonotic disease",en -http://purl.org/zonmw/id-amr/10225,"consent restriction",en -http://purl.org/zonmw/id-amr/10241,"time frame",en -http://purl.org/zonmw/id-amr/10227,"disease area restriction",en -http://purl.org/zonmw/id-amr/10062,"wildlife",en -http://purl.org/zonmw/id-amr/10072,"data regarding antimicrobial resistance",en -http://purl.org/zonmw/id-amr/10246,"data quality",en -http://purl.org/zonmw/id-amr/10089,"blood specimen",en -http://purl.org/zonmw/id-amr/10185,"every five years",en -http://purl.org/zonmw/id-amr/10059,"layer",en -http://purl.org/zonmw/id-amr/10087,"outbreak",en -http://purl.org/zonmw/id-amr/10219,"private funding",en -http://purl.org/zonmw/id-amr/10040,"infectious agent",en -http://purl.org/zonmw/id-amr/10106,"tree nut",en -http://purl.org/zonmw/id-amr/10125,"density-gradient-centrifugation-separated mononuclear cells, viable",en -http://purl.org/zonmw/id-amr/10115,"buccal cells",en -http://purl.org/zonmw/id-amr/10046,"air",en -http://purl.org/zonmw/id-amr/10135,"non-density-gradient-centrifugation-separated buffy coat, non-viable",en -http://purl.org/zonmw/id-amr/10242,"up to one month",en -http://purl.org/zonmw/id-amr/10053,"sheep (milk)",en -http://purl.org/zonmw/id-amr/10034,"subject with risk of viral infection",en -http://purl.org/zonmw/id-amr/10037,"subject having other treatments",en -http://purl.org/zonmw/id-amr/10208,"communication",en -http://purl.org/zonmw/id-amr/10101,"vegetable",en -http://purl.org/zonmw/id-amr/10049,"veal calve",en -http://purl.org/zonmw/id-amr/10013,"prudent use",en -http://purl.org/zonmw/id-amr/10216,"reference centre",en -http://purl.org/zonmw/id-amr/10160,"solution",en -http://purl.org/zonmw/id-amr/10001,"therapeutics",en -http://purl.org/zonmw/id-amr/10038,"subject by age",en -http://purl.org/zonmw/id-amr/10063,"companion animal",en -http://purl.org/zonmw/id-amr/10021,"diagnostic phase",en -http://purl.org/zonmw/id-amr/10109,"ascites fluid",en -http://purl.org/zonmw/id-amr/10131,"fresh cells from non-blood specimen type (e.g. biopsy)",en -http://purl.org/zonmw/id-amr/10111,"bone",en -http://purl.org/zonmw/id-amr/10196,"patient ethnicity data",en -http://purl.org/zonmw/id-amr/10005,"intervention",en -http://purl.org/zonmw/id-amr/10057,"pig",en -http://purl.org/zonmw/id-amr/10218,"public funding",en -http://purl.org/zonmw/id-amr/10133,"nails",en -http://purl.org/zonmw/id-amr/10222,"not started",en -http://purl.org/zonmw/id-amr/10006,"preparedness and response",en -http://purl.org/zonmw/id-amr/10191,"sequencing - genotyping data",en -http://purl.org/zonmw/id-amr/10164,"quality management of pre-analytical data",en -http://purl.org/zonmw/id-amr/10181,"purity of microbiological material",en -http://purl.org/zonmw/id-amr/10264,"storage information",en -http://purl.org/zonmw/id-amr/10090,"bronchoalveolar lavage fluid sample",en -http://purl.org/zonmw/id-amr/10263,"centrifugation",en -http://purl.org/zonmw/id-amr/10025,"free-from-disease phase",en -http://purl.org/zonmw/id-amr/10252,"yes, but it is not (yet) GDPR compliant",en -http://purl.org/zonmw/id-amr/10210,"organisation level",en -http://purl.org/zonmw/id-amr/10198,"experimental data",en -http://purl.org/zonmw/id-amr/10221,"collection status",en -http://purl.org/zonmw/id-amr/10043,"soil-waste",en -http://purl.org/zonmw/id-amr/10142,"saliva",en -http://purl.org/zonmw/id-amr/10182,"viability of microbiological material",en -http://purl.org/zonmw/id-amr/10204,"providing reference materials",en -http://purl.org/zonmw/id-amr/10224,"completed",en -http://purl.org/zonmw/id-amr/10193,"follow-up records",en -http://purl.org/zonmw/id-amr/10017,"environment",en -http://purl.org/zonmw/id-amr/10158,"specimen from environment",en -http://purl.org/zonmw/id-amr/10247,"data plausibility",en -http://purl.org/zonmw/id-amr/10195,"surveillance data",en -http://purl.org/zonmw/id-amr/10113,"breast milk",en -http://purl.org/zonmw/id-amr/10220,"charity of philanthropic funding",en -http://purl.org/zonmw/id-amr/10174,"storage temperature for long-term preservation",en -http://purl.org/zonmw/id-amr/10084,"domain",en -http://purl.org/zonmw/id-amr/10150,"teeth",en -http://purl.org/zonmw/id-amr/10121,"cells from non-blood specimen type (e.g. dissociated tissue), viable",en -http://purl.org/zonmw/id-amr/10173,"post-centrifugation conditions",en -http://purl.org/zonmw/id-amr/10146,"sputum",en -http://purl.org/zonmw/id-amr/10114,"bronchoalveolar lavage",en -http://purl.org/zonmw/id-amr/10055,"goat (milk)",en -http://purl.org/zonmw/id-amr/10154,"urine, timed",en -http://purl.org/zonmw/id-amr/10134,"nasal washing",en -http://purl.org/zonmw/id-amr/10143,"semen",en -http://purl.org/zonmw/id-amr/10116,"cells from fine needle aspirate",en -http://purl.org/zonmw/id-amr/10119,"cells from non blood specimen type (e.g. ascites, amniotic), viable",en -http://purl.org/zonmw/id-amr/10245,"three years or longer",en -http://purl.org/zonmw/id-amr/10159,"plant specimen",en -http://purl.org/zonmw/id-amr/10234,"open to everyone",en -http://purl.org/zonmw/id-amr/10202,"digital imaging",en -http://purl.org/zonmw/id-amr/10248,"data completeness",en -http://purl.org/zonmw/id-amr/10260,"non-infectious disease",en -http://purl.org/zonmw/id-amr/10140,"pleural fluid",en -http://purl.org/zonmw/id-amr/10093,"skin swab",en -http://purl.org/zonmw/id-amr/10183,"once every year",en -http://purl.org/zonmw/id-amr/10148,"synovial fluid",en -http://purl.org/zonmw/id-amr/10002,"surveillance",en -http://purl.org/zonmw/id-amr/10068,"epidemiological data",en -http://purl.org/zonmw/id-amr/10016,"animal domain",en -http://purl.org/zonmw/id-amr/10042,"soil",en -http://purl.org/zonmw/id-amr/10070,"complete medical records",en -http://purl.org/zonmw/id-amr/10259,"parasite disease",en -http://purl.org/zonmw/id-amr/10092,"respiratory sample",en -http://purl.org/zonmw/id-amr/10086,"antibody",en -http://purl.org/zonmw/id-amr/10194,"monitoring data",en -http://purl.org/zonmw/id-amr/10197,"quality data",en -http://purl.org/zonmw/id-amr/10187,"integrity of nucleic acids",en -http://purl.org/zonmw/id-amr/10074,"taxonomical data",en -http://purl.org/zonmw/id-amr/10205,"quality control",en -http://purl.org/zonmw/id-amr/10231,"project specific restriction",en -http://purl.org/zonmw/id-amr/10069,"diagnostics usage data",en -http://purl.org/zonmw/id-amr/10156,"human material",en -http://purl.org/zonmw/id-amr/10214,"research group",en -http://purl.org/zonmw/id-amr/10136,"non-density-gradient-centrifugation-separated buffy coat, viable",en -http://purl.org/zonmw/id-amr/10211,"university faculty",en -http://purl.org/zonmw/id-amr/10096,"stool specimen",en -http://purl.org/zonmw/id-amr/10007,"infection prevention",en -http://purl.org/zonmw/id-amr/10215,"specific research project",en -http://purl.org/zonmw/id-amr/10190,"physiological - biochemical measurement",en -http://purl.org/zonmw/id-amr/10166,"purity of nucleic acids",en -http://purl.org/zonmw/id-amr/10254,"bacterial disease",en -http://purl.org/zonmw/id-amr/10163,"pre-analytical data",en -http://purl.org/zonmw/id-amr/10212,"university hospital",en -http://purl.org/zonmw/id-amr/10232,"scope of use restriction",en -http://purl.org/zonmw/id-amr/10031,"subject with an unknown infection",en -http://purl.org/zonmw/id-amr/10233,"access condition",en -http://purl.org/zonmw/id-amr/10056,"horse",en -http://purl.org/zonmw/id-amr/10153,"urine, random",en -http://purl.org/zonmw/id-amr/10023,"intervention phase",en -http://purl.org/zonmw/id-amr/10091,"cerebrospinal fluid sample",en -http://purl.org/zonmw/id-amr/10095,"specimen of unknown material",en -http://purl.org/zonmw/id-amr/10032,"subject with risk of infection",en -http://purl.org/zonmw/id-amr/10155,"isolation source",en -http://purl.org/zonmw/id-amr/10168,"storage format for long-term preservation",en -http://purl.org/zonmw/id-amr/10012,"microbiome",en -http://purl.org/zonmw/id-amr/10144,"serum",en -http://purl.org/zonmw/id-amr/10230,"human genetic analysis restriction",en -http://purl.org/zonmw/id-amr/10203,"FAIRification service",en -http://purl.org/zonmw/id-amr/10138,"plasma, double spun",en -http://purl.org/zonmw/id-amr/10239,"access restricted at present",en -http://purl.org/zonmw/id-amr/10180,"authenticity of microbiological material",en -http://purl.org/zonmw/id-amr/10199,"biospecimen processing",en -http://purl.org/zonmw/id-amr/10065,"fungus",en -http://purl.org/zonmw/id-amr/10244,"up to three years",en -http://purl.org/zonmw/id-amr/10235,"open to applicants",en -http://purl.org/zonmw/id-amr/10188,"food specimen",en -http://purl.org/zonmw/id-amr/10206,"regulatory",en -http://purl.org/zonmw/id-amr/10249,"data accuracy",en -http://purl.org/zonmw/id-amr/10099,"body fluid sample",en -http://purl.org/zonmw/id-amr/10124,"density-gradient-centrifugation-separated mononuclear cells, non viable",en -http://purl.org/zonmw/id-amr/10054,"goat (meat)",en -http://purl.org/zonmw/id-amr/10226,"commerial resctriction",en -http://purl.org/zonmw/id-amr/10028,"subject with an infection",en -http://purl.org/zonmw/id-amr/10238,"data access only",en -http://purl.org/zonmw/id-amr/10130,"fresh cells from non-blood specimen type",en -http://purl.org/zonmw/id-amr/10261,"funding type",en -http://purl.org/zonmw/id-amr/10039,"subject by sex",en -http://purl.org/zonmw/id-amr/10088,"biopsy sample",en -http://purl.org/zonmw/id-amr/10098,"urine specimen",en -http://purl.org/zonmw/generic/10082,"project manager",en -http://purl.org/zonmw/generic/10089,"contact person",en -http://purl.org/zonmw/generic/10084,"reseacher",en -http://purl.org/zonmw/generic/10087,"supervisor",en -http://purl.org/zonmw/generic/10083,"project member",en -http://purl.org/zonmw/generic/10086,"rights holder",en -http://purl.org/zonmw/generic/10080,"distributor",en -http://purl.org/zonmw/generic/10085,"editor",en -http://purl.org/zonmw/generic/10081,"project leader",en -http://purl.org/zonmw/generic/10088,"work package leader",en -http://purl.org/zonmw/generic/10042,"IKNL - Netherlands Comprehensive Cancer Organisation",en -http://purl.org/zonmw/generic/10048,"Netherlands Heart Institute",en -http://purl.org/zonmw/generic/10044,"Leiden University Medical Center",en -http://purl.org/zonmw/generic/10040,"Hogeschool Leiden - University of Applied Sciences Leiden",en -http://purl.org/zonmw/generic/10047,"Netherlands Comprehensive Cancer Organisation",en -http://purl.org/zonmw/generic/10046,"Maastricht University Medical Centre",en -http://purl.org/zonmw/generic/10045,"Maastricht University",en -http://purl.org/zonmw/generic/10041,"Hogeschool van Amsterdam - Amsterdam University of Applied Sciences",en -http://purl.org/zonmw/generic/10043,"Leiden University",en -http://purl.org/zonmw/generic/10049,"NIVEL - Netherlands Institute for Health Services Research",en -http://purl.org/zonmw/generic/10111,"RTF - Rich Text File",en -http://purl.org/zonmw/generic/10115,"HTML - Hypertext Markup Language",en -http://purl.org/zonmw/generic/10114,"XML - eXtensivle Markup Language",en -http://purl.org/zonmw/generic/10116,"CSS - Cascading Style Sheets",en -http://purl.org/zonmw/generic/10119,"ES - ECMAScript",en -http://purl.org/zonmw/generic/10117,"XSLT - Extensible Stylesheet Language Transformations",en -http://purl.org/zonmw/generic/10113,"TXT - Non-Unicode text",en -http://purl.org/zonmw/generic/10110,"DOCX - Office Open XML",en -http://purl.org/zonmw/generic/10118,"JS - JavaScript",en -http://purl.org/zonmw/generic/10112,"TXT - Unicode text",en -http://purl.org/zonmw/generic/10022,"property",en -http://purl.org/zonmw/generic/10027,"institution",en -http://purl.org/zonmw/generic/10025,"animal",en -http://purl.org/zonmw/generic/10023,"constraint",en -http://purl.org/zonmw/generic/10021,"variable",en -http://purl.org/zonmw/generic/10029,"Amsterdam Health and Technology Institute - AHTI",en -http://purl.org/zonmw/generic/10028,"Academic Medical Center - Amsterdam UMC",en -http://purl.org/zonmw/generic/10026,"disease",en -http://purl.org/zonmw/generic/10020,"framework",en -http://purl.org/zonmw/generic/10024,"microorganism",en -http://purl.org/zonmw/generic/10077,"data manager",en -http://purl.org/zonmw/generic/10078,"data curator",en -http://purl.org/zonmw/generic/10073,"Wageningen University & Research",en -http://purl.org/zonmw/generic/10075,"contributor type",en -http://purl.org/zonmw/generic/10071,"VU Amsterdam",en -http://purl.org/zonmw/generic/10072,"VU University Medical Center",en -http://purl.org/zonmw/generic/10070,"Veiligheids- en Gezondheidsregio Gelderland-Midden",en -http://purl.org/zonmw/generic/10074,"ZonMw - Netherlands Organisation for Health Research and Development",en -http://purl.org/zonmw/generic/10076,"data collector",en -http://purl.org/zonmw/generic/10079,"sponsor",en -http://purl.org/zonmw/generic/10130,"SIARD - Software Independent Archiving of Relational Databases",en -http://purl.org/zonmw/generic/10131,"Microsoft Access",en -http://purl.org/zonmw/generic/10137,"JPEG - Joint Photographic Expert Group",en -http://purl.org/zonmw/generic/10133,"HDF5 - Hierarchical Data Format",en -http://purl.org/zonmw/generic/10132,"DBF - dBase",en -http://purl.org/zonmw/generic/10134,"SPSS",en -http://purl.org/zonmw/generic/10139,"TIFF - Tagged Image File Format",en -http://purl.org/zonmw/generic/10138,"JPEG 2000",en -http://purl.org/zonmw/generic/10136,"R",en -http://purl.org/zonmw/generic/10135,"STATA",en -http://purl.org/zonmw/generic/10158,"Turtle",en -http://purl.org/zonmw/generic/10155,"Polygon file format",en -http://purl.org/zonmw/generic/10157,"TriG",en -http://purl.org/zonmw/generic/10159,"NTriples",en -http://purl.org/zonmw/generic/10152,"GeoTIFF",en -http://purl.org/zonmw/generic/10151,"GeoJSON",en -http://purl.org/zonmw/generic/10156,"RDF - Resource Description Framework",en -http://purl.org/zonmw/generic/10150,"MIF/MID - MapInfo Interchange Format",en -http://purl.org/zonmw/generic/10153,"ASCII GRID",en -http://purl.org/zonmw/generic/10154,"WaveFront Object",en -http://purl.org/zonmw/generic/10038,"GGD Zuid Holland Zuid",en -http://purl.org/zonmw/generic/10037,"GGD Amsterdam - Public Health Service of Amsterdam",en -http://purl.org/zonmw/generic/10033,"Erasmus MC",en -http://purl.org/zonmw/generic/10039,"GO FAIR Foundation",en -http://purl.org/zonmw/generic/10030,"Delft University of Technology",en -http://purl.org/zonmw/generic/10031,"Eindhoven University of Technology",en -http://purl.org/zonmw/generic/10034,"Erasmus University Rotterdam",en -http://purl.org/zonmw/generic/10035,"Expertisecentrum Nederlands",en -http://purl.org/zonmw/generic/10036,"Federal University of Rio de Janeiro",en -http://purl.org/zonmw/generic/10032,"Erasmus Centrum voor Zorgbestuur",en -http://purl.org/zonmw/generic/10142,"SVG - Scalable Vector Graphics",en -http://purl.org/zonmw/generic/10147,"OPUS",en -http://purl.org/zonmw/generic/10144,"MXF - Material Exchange Format",en -http://purl.org/zonmw/generic/10140,"PNG - Portable Network Graphics",en -http://purl.org/zonmw/generic/10146,"FLAC - Free Lossless Audio Codec",en -http://purl.org/zonmw/generic/10141,"DICOM - Digital Imaging and Communications in Medicine",en -http://purl.org/zonmw/generic/10148,"DXF - AutoCAD DXF version R12 (ASCII)",en -http://purl.org/zonmw/generic/10143,"BWF - Broadcast Wave Format",en -http://purl.org/zonmw/generic/10145,"MKA - Matroska",en -http://purl.org/zonmw/generic/10149,"GML - Geography Markup Language",en -http://purl.org/zonmw/generic/10094,"none",en -http://purl.org/zonmw/generic/10090,"bacterium",en -http://purl.org/zonmw/generic/10093,"fungus",en -http://purl.org/zonmw/generic/10096,"animal disease",en -http://purl.org/zonmw/generic/10097,"plant disease",en -http://purl.org/zonmw/generic/10095,"human disease",en -http://purl.org/zonmw/generic/10091,"prion",en -http://purl.org/zonmw/generic/10099,"generic answer options",en -http://purl.org/zonmw/generic/10092,"virus",en -http://purl.org/zonmw/generic/10098,"plant",en -http://purl.org/zonmw/generic/10005,"data",en -http://purl.org/zonmw/generic/10006,"other",en -http://purl.org/zonmw/generic/10000,"deprecated",en -http://purl.org/zonmw/generic/10002,"subject",en -http://purl.org/zonmw/generic/10004,"population group",en -http://purl.org/zonmw/generic/10008,"organism",en -http://purl.org/zonmw/generic/10009,"specimen",en -http://purl.org/zonmw/generic/10003,"temporal scope",en -http://purl.org/zonmw/generic/10001,"focus area",en -http://purl.org/zonmw/generic/10007,"biomaterial",en -http://purl.org/zonmw/generic/10160,"JSON-LD",en -http://purl.org/zonmw/generic/10161,"REFI-QDA - Qualitative Data Analysis",en -http://purl.org/zonmw/generic/10052,"Public Procurement Research Centre - PPRC",en -http://purl.org/zonmw/generic/10057,"Sanquin",en -http://purl.org/zonmw/generic/10055,"Reade Research BV",en -http://purl.org/zonmw/generic/10054,"Radboud University Nijmegen Medical Centre",en -http://purl.org/zonmw/generic/10056,"RIVM - National Institute for Public Health and the Environment",en -http://purl.org/zonmw/generic/10051,"Public Health Service of Amsterdam",en -http://purl.org/zonmw/generic/10059,"SEO Economisch Onderzoek",en -http://purl.org/zonmw/generic/10050,"NSCR - Netherlands Institute for the Study of Crime and Law Enforcement",en -http://purl.org/zonmw/generic/10058,"Saxion University of Applied Sciences",en -http://purl.org/zonmw/generic/10053,"Radboud University Nijmegen",en -http://purl.org/zonmw/generic/10129,"SQL - Structured Query Language",en -http://purl.org/zonmw/generic/10123,"NetCDF - Network Common Data Form",en -http://purl.org/zonmw/generic/10122,"MATLAB",en -http://purl.org/zonmw/generic/10121,"MD - Markdown",en -http://purl.org/zonmw/generic/10126,"CSV - Comma Separated Values",en -http://purl.org/zonmw/generic/10125,"ODS",en -http://purl.org/zonmw/generic/10120,"SGML - Standard Generalized Markup Language",en -http://purl.org/zonmw/generic/10127,"XLS - Microsoft Excel",en -http://purl.org/zonmw/generic/10124,"TF - Text-Fabric",en -http://purl.org/zonmw/generic/10128,"XLSX - Office Open XML Workbook",en -http://purl.org/zonmw/generic/10019,"guideline",en -http://purl.org/zonmw/generic/10010,"substance",en -http://purl.org/zonmw/generic/10017,"technical standard",en -http://purl.org/zonmw/generic/10015,"metadata standard",en -http://purl.org/zonmw/generic/10018,"conceptual model",en -http://purl.org/zonmw/generic/10011,"macromolecule",en -http://purl.org/zonmw/generic/10016,"semantic artefact",en -http://purl.org/zonmw/generic/10013,"service",en -http://purl.org/zonmw/generic/10014,"standard",en -http://purl.org/zonmw/generic/10062,"TNO - Netherlands Organisation for Applied Scientific Research",en -http://purl.org/zonmw/generic/10064,"University Medical Center Utrecht",en -http://purl.org/zonmw/generic/10069,"Utrecht University",en -http://purl.org/zonmw/generic/10068,"University of Twente",en -http://purl.org/zonmw/generic/10061,"Tilburg University",en -http://purl.org/zonmw/generic/10060,"Spaarne Gasthuis - Spaarne Ziekenhuis",en -http://purl.org/zonmw/generic/10066,"University of Groningen",en -http://purl.org/zonmw/generic/10063,"University Medical Center Groningen",en -http://purl.org/zonmw/generic/10065,"University of Amsterdam",en -http://purl.org/zonmw/generic/10067,"University of Humanistic Studies",en -http://purl.org/zonmw/generic/10101,"no",en -http://purl.org/zonmw/generic/10108,"ODT - Open Document",en -http://purl.org/zonmw/generic/10100,"yes",en -http://purl.org/zonmw/generic/10109,"DOC - Microsoft Word",en -http://purl.org/zonmw/generic/10103,"unknown",en -http://purl.org/zonmw/generic/10106,"PDF/A - Portable Document Format for archiving",en -http://purl.org/zonmw/generic/10107,"PDF - Portable Document Format",en -http://purl.org/zonmw/generic/10105,"media type",en -http://purl.org/zonmw/generic/10104,"protozoa",en -http://purl.org/zonmw/generic/10102,"funder institution",en -access_rights,"Access Rights",en -access_rights,"Toegangsrechten",nl -organization,"Publishers",en -organization,"Uitgevers",nl -publisher_name,"Publishers",en -publisher_name,"Uitgevers",nl -res_format,"File Formats",en -res_format,"Bestandstype",nl -spatial,"Spatial Coverage",en -spatial,"Spatiële dekking",nl -tags,"Keywords",en -tags,"Trefwoorden",nl -theme,"Themes",en -theme,"Themas",nl diff --git a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license b/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license deleted file mode 100644 index 62fd8897e..000000000 --- a/ckan/docker-entrypoint.d/common_vocabulary_tags.csv.license +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: Stichting Health-RI -# SPDX-FileContributor: PNED G.I.E. -# SPDX-License-Identifier: AGPL-3.0-only \ No newline at end of file diff --git a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh b/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh deleted file mode 100644 index 022efe48e..000000000 --- a/ckan/docker-entrypoint.d/cp_env_to_cron_env.sh +++ /dev/null @@ -1,8 +0,0 @@ -# SPDX-FileCopyrightText: Stichting Health-RI -# -# SPDX-License-Identifier: AGPL-3.0-only - -#!/bin/sh - -# Dump environment variables to a file that will be sourced by cron -printenv | sed 's/^\(.*\)$/export \1/g' > /etc/profile.d/custom_env.sh diff --git a/ckan/docker-entrypoint.d/setup_harvester.sh b/ckan/docker-entrypoint.d/setup_harvester.sh new file mode 100644 index 000000000..b927bbbed --- /dev/null +++ b/ckan/docker-entrypoint.d/setup_harvester.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: AGPL-3.0-only + +# Update the config file with each extension config-options +echo "[ckanext-harvest] Setting up config-options" +ckan config-tool $CKAN_INI -s app:main \ + "ckan.harvest.timeout = 1400" \ + "ckan.harvest.mq.type = redis" + + + diff --git a/ckan/docker-entrypoint.d/upload_vocabulary.sh b/ckan/docker-entrypoint.d/upload_vocabulary.sh deleted file mode 100644 index 9ad234a6f..000000000 --- a/ckan/docker-entrypoint.d/upload_vocabulary.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: Stichting Health-RI -# SPDX-License-Identifier: AGPL-3.0-only - -set -e - -psql $CKAN_SQLALCHEMY_URL <<-EOSQL - - SELECT - EXISTS(SELECT 1 FROM public.term_translation) as table_not_empty - \gset - \if :table_not_empty - \echo 'term_translation table is not empty, updating' - create table public.temp (term text, term_translation text, lang_code text); - \copy public.temp FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); - delete from public.term_translation using public.temp where public.term_translation.term = public.temp.term and public.term_translation.term_translation = public.temp.term_translation and public.term_translation.lang_code = public.temp.lang_code; - insert into public.term_translation (term, term_translation, lang_code) select term, term_translation, lang_code from public.temp; - drop table public.temp; - \else - \copy public.term_translation FROM '/docker-entrypoint.d/common_vocabulary_tags.csv' WITH (DELIMITER ',', FORMAT CSV, HEADER TRUE); - \echo 'term_translation initialized with common_vocabulary_tags.csv' - \endif - -EOSQL diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 145beed77..83c1567d1 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -4,11 +4,9 @@ # SPDX-License-Identifier: AGPL-3.0-only import os -import pwd import sys import subprocess import psycopg2 - try: from urllib.request import urlopen from urllib.error import URLError @@ -33,8 +31,8 @@ def update_plugins(): cmd = ["ckan", "config-tool", ckan_ini, "ckan.plugins = {}".format(plugins)] subprocess.check_output(cmd, stderr=subprocess.STDOUT) print("[prerun] Plugins set.") - - + + def update_database(): sqlalchemy_url = os.environ.get("CKAN_SQLALCHEMY_URL", "") @@ -99,18 +97,17 @@ def check_solr_connection(retry=None): check_solr_connection(retry=retry - 1) else: import re - conn_info = connection.read() schema_name = json.loads(conn_info) - if "ckan" in schema_name["name"]: - print("[prerun] Succesfully connected to solr and CKAN schema loaded") + if 'ckan' in schema_name['name']: + print('[prerun] Succesfully connected to solr and CKAN schema loaded') else: - print("[prerun] Succesfully connected to solr, but CKAN schema not found") + print('[prerun] Succesfully connected to solr, but CKAN schema not found') def init_db(): - db_command = ["ckan", "-c", ckan_ini, "db", "upgrade"] + db_command = ["ckan", "-c", ckan_ini, "db", "init"] print("[prerun] Initializing or upgrading db - start") try: subprocess.check_output(db_command, stderr=subprocess.STDOUT) @@ -183,19 +180,11 @@ def create_sysadmin(): # cleanup permissions # We're running as root before pivoting to uwsgi and dropping privs - data_dir = "%s/storage" % os.environ["CKAN_STORAGE_PATH"] - - try: - user_name = "ckan-sys" - pwd.getpwnam(user_name) - command = ["chown", "-R", "ckan:ckan-sys", data_dir] - except KeyError: - user_name = "ckan" - command = ["chown", "-R", "ckan:ckan", data_dir] - subprocess.call(command) - - print("[prerun] Ensured storage directory is owned by {}".format(user_name)) + data_dir = "%s/storage" % os.environ['CKAN_STORAGE_PATH'] + command = ["chown", "-R", "ckan:ckan-sys", data_dir] + subprocess.call(command) + print("[prerun] Ensured storage directory is owned by ckan") if __name__ == "__main__": @@ -204,10 +193,10 @@ def create_sysadmin(): if maintenance: print("[prerun] Maintenance mode, skipping setup...") else: - update_plugins() - update_database() check_main_db_connection() init_db() + update_plugins() + update_database() init_db_harvest() check_solr_connection() - create_sysadmin() + create_sysadmin() \ No newline at end of file diff --git a/ckan/setup/start_ckan_development.sh b/ckan/setup/start_ckan_development.sh index 0a0a44215..3a868f205 100755 --- a/ckan/setup/start_ckan_development.sh +++ b/ckan/setup/start_ckan_development.sh @@ -4,74 +4,16 @@ # # SPDX-License-Identifier: AGPL-3.0-only -if [[ $CKAN__PLUGINS == *"datapusher"* ]]; then - # Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) - echo "Setting a temporary value for ckan.datapusher.api_token" - ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx -fi - -# Install any local extensions in the src_extensions volume -echo "Looking for local extensions to install..." -echo "Extension dir contents:" -ls -la $SRC_EXTENSIONS_DIR -for i in $SRC_EXTENSIONS_DIR/* -do - if [ -d $i ]; - then - if [ -d $SRC_DIR/$(basename $i) ]; - then - pip uninstall -y "$(basename $i)" - fi - - if [ -f $i/pip-requirements.txt ]; - then - pip install -r $i/pip-requirements.txt - echo "Found requirements file in $i" - fi - if [ -f $i/requirements.txt ]; - then - pip install -r $i/requirements.txt - echo "Found requirements file in $i" - fi - if [ -f $i/dev-requirements.txt ]; - then - pip install -r $i/dev-requirements.txt - echo "Found dev-requirements file in $i" - fi - if [ -f $i/setup.py ]; - then - cd $i - python3 $i/setup.py develop - echo "Found setup.py file in $i" - cd $APP_DIR - fi - if [ -f $i/pyproject.toml ]; - then - cd $i - pip install -e . - echo "Found pyproject.toml file in $i" - cd $APP_DIR - fi - - # Point `use` in test.ini to location of `test-core.ini` - if [ -f $i/test.ini ]; - then - echo "Updating \`test.ini\` reference to \`test-core.ini\` for plugin $i" - ckan config-tool $i/test.ini "use = config:../../src/ckan/test-core.ini" - fi - fi -done - # Set debug to true echo "Enabling debug mode" ckan config-tool $CKAN_INI -s DEFAULT "debug = true" # Set up the Secret key used by Beaker and Flask # This can be overriden using a CKAN___BEAKER__SESSION__SECRET env var -if grep -E "beaker.session.secret ?= ?$" ckan.ini +if grep -qE "SECRET_KEY ?= ?$" ckan.ini then - echo "Setting beaker.session.secret in ini file" - ckan config-tool $CKAN_INI "beaker.session.secret=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" + echo "Setting SECRET_KEY in ini file" + ckan config-tool $CKAN_INI "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" ckan config-tool $CKAN_INI "WTF_CSRF_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" @@ -82,15 +24,6 @@ fi echo "Loading the following plugins: $CKAN__PLUGINS" ckan config-tool $CKAN_INI "ckan.plugins = $CKAN__PLUGINS" -# Update test-core.ini DB, SOLR & Redis settings -echo "Loading test settings into test-core.ini" -ckan config-tool $SRC_DIR/ckan/test-core.ini \ - "sqlalchemy.url = $TEST_CKAN_SQLALCHEMY_URL" \ - "ckan.datastore.write_url = $TEST_CKAN_DATASTORE_WRITE_URL" \ - "ckan.datastore.read_url = $TEST_CKAN_DATASTORE_READ_URL" \ - "solr_url = $TEST_CKAN_SOLR_URL" \ - "ckan.redis.url = $TEST_CKAN_REDIS_URL" - # Run the prerun script to init CKAN and create the default admin user python3 prerun.py @@ -107,11 +40,10 @@ then done fi -CKAN_RUN="ckan -c $CKAN_INI run -H 0.0.0.0" +CKAN_RUN="/usr/local/bin/ckan -c $CKAN_INI run -H 0.0.0.0" CKAN_OPTIONS="" if [ "$USE_DEBUGPY_FOR_DEV" = true ] ; then - pip install debugpy - CKAN_RUN="/usr/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" + CKAN_RUN="/usr/local/bin/python -m debugpy --listen 0.0.0.0:5678 $CKAN_RUN" CKAN_OPTIONS="$CKAN_OPTIONS --disable-reloader" fi @@ -121,9 +53,8 @@ fi # Start the development server as the ckan user with automatic reload while true; do - # Start supervisord - supervisord --configuration /etc/supervisord.conf & - su ckan -c "$CKAN_RUN $CKAN_OPTIONS" + supervisord --configuration /etc/supervisord.d/ckan.conf & + $CKAN_RUN $CKAN_OPTIONS echo Exit with status $?. Restarting. sleep 2 done \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c95b206ed..0f79b1446 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,37 +7,51 @@ volumes: ckan_storage: pg_data: solr_data: + pip_cache: site_packages: + local_bin: + home_dir: services: + ckan-dev: build: context: ckan/ dockerfile: Dockerfile.dev + args: + - TZ=${TZ} env_file: - .env - depends_on: - postgres: - condition: service_healthy - solr: - condition: service_healthy - redis: - condition: service_healthy + links: + - db + - solr + - redis ports: - "0.0.0.0:${CKAN_PORT_HOST}:5000" volumes: - ckan_storage:/var/lib/ckan - ./src:/srv/app/src_extensions - - site_packages:/usr/lib/python3.10/site-packages + - pip_cache:/root/.cache/pip + - site_packages:/usr/local/lib/python3.10/site-packages + - local_bin:/usr/local/bin + - home_dir:/srv/app/ restart: unless-stopped healthcheck: - test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5000"] + test: ["CMD", "wget", "-qO", "/dev/null", "http://localhost:5500"] + interval: 60s + timeout: 10s + retries: 3 - postgres: + db: build: context: postgresql/ - env_file: - - .env + environment: + - POSTGRES_USER + - POSTGRES_PASSWORD + - POSTGRES_DB + - CKAN_DB_USER + - CKAN_DB_PASSWORD + - CKAN_DB volumes: - pg_data:/var/lib/postgresql/data restart: unless-stopped @@ -45,7 +59,7 @@ services: test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER}", "-d", "${POSTGRES_DB}"] ports: - "5432:5432" - + solr: build: context: src/ckanext-gdi-userportal/solr/ @@ -57,8 +71,9 @@ services: ports: - "8983:8983" + redis: - image: redis:7.4.1 + image: redis:${REDIS_VERSION} restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] diff --git a/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh b/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh deleted file mode 100755 index 3a6eae5a0..000000000 --- a/postgresql/docker-entrypoint-initdb.d/2_setup_test_databases.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors -# SPDX-FileContributor: PNED G.I.E. -# -# SPDX-License-Identifier: AGPL-3.0-only - -set -e - -psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL - CREATE DATABASE ckan_test OWNER "$CKAN_DB_USER" ENCODING 'utf-8'; - CREATE DATABASE datastore_test OWNER "$CKAN_DB_USER" ENCODING 'utf-8'; -EOSQL From ee4ca92a16e73e7c9509c38310c5e3005185e355 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 22 Jan 2025 13:40:07 +0100 Subject: [PATCH 208/284] fix: resolve startup issues with supervisor and harvester configuration - Ensure correct order of pre-run commands for proper initialization. - Fix environment variable setup for consistent runtime behavior. - Start supervisor at the appropriate stage in the startup process. - Configure harvester settings using the config command. --- .env | 4 ++- ckan/Dockerfile | 2 +- ckan/docker-entrypoint.d/setup_harvester.sh | 9 ++--- ckan/setup/prerun.py | 6 ++-- .../{start_ckan.sh.override => start_ckan.sh} | 33 ++++++++----------- 5 files changed, 26 insertions(+), 28 deletions(-) rename ckan/setup/{start_ckan.sh.override => start_ckan.sh} (60%) diff --git a/.env b/.env index 9eaec709c..4bc83d3f5 100644 --- a/.env +++ b/.env @@ -48,10 +48,12 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat harvest dcat_rdf_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 +CKAN__HARVEST__MQ__PASSWORD=redis +CKAN__HARVEST__MQ__TYPE=redis #Logger CKAN___DEBUG=true diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 23d0becfa..0ac5f8d7f 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -47,7 +47,7 @@ RUN chmod gu+rw /var/run && \ COPY --chown=ckan-sys:ckan-sys docker-entrypoint.d/* /docker-entrypoint.d/ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} -COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} +COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} USER ckan diff --git a/ckan/docker-entrypoint.d/setup_harvester.sh b/ckan/docker-entrypoint.d/setup_harvester.sh index b927bbbed..4897aaee9 100644 --- a/ckan/docker-entrypoint.d/setup_harvester.sh +++ b/ckan/docker-entrypoint.d/setup_harvester.sh @@ -8,7 +8,8 @@ echo "[ckanext-harvest] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ "ckan.harvest.timeout = 1400" \ - "ckan.harvest.mq.type = redis" - - - + "ckan.harvest.mq.type = redis" \ + "ckan.harvest.mq.hostname = $CKAN__HARVEST__MQ__HOSTNAME" \ + "ckan.harvest.mq.port = $CKAN__HARVEST__MQ__PORT" \ + "ckan.harvest.mq.password = $CKAN__HARVEST__MQ__PASSWORD" \ + "ckan.harvest.mq.redis_db = $CKAN__HARVEST__MQ__REDIS_DB" diff --git a/ckan/setup/prerun.py b/ckan/setup/prerun.py index 83c1567d1..fc2e4a98e 100644 --- a/ckan/setup/prerun.py +++ b/ckan/setup/prerun.py @@ -107,7 +107,7 @@ def check_solr_connection(retry=None): def init_db(): - db_command = ["ckan", "-c", ckan_ini, "db", "init"] + db_command = ["ckan", "-c", ckan_ini, "db", "upgrade"] print("[prerun] Initializing or upgrading db - start") try: subprocess.check_output(db_command, stderr=subprocess.STDOUT) @@ -193,10 +193,10 @@ def create_sysadmin(): if maintenance: print("[prerun] Maintenance mode, skipping setup...") else: - check_main_db_connection() - init_db() update_plugins() update_database() + check_main_db_connection() + init_db() init_db_harvest() check_solr_connection() create_sysadmin() \ No newline at end of file diff --git a/ckan/setup/start_ckan.sh.override b/ckan/setup/start_ckan.sh similarity index 60% rename from ckan/setup/start_ckan.sh.override rename to ckan/setup/start_ckan.sh index 303e1eb7c..fb3385775 100755 --- a/ckan/setup/start_ckan.sh.override +++ b/ckan/setup/start_ckan.sh @@ -1,18 +1,21 @@ -#!/bin/sh +#!/bin/bash # SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors # # SPDX-License-Identifier: AGPL-3.0-only -# Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) -ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx +if [[ $CKAN__PLUGINS == *"datapusher"* ]]; then + # Add ckan.datapusher.api_token to the CKAN config file (updated with corrected value later) + echo "Setting a temporary value for ckan.datapusher.api_token" + ckan config-tool $CKAN_INI ckan.datapusher.api_token=xxx +fi # Set up the Secret key used by Beaker and Flask # This can be overriden using a CKAN___BEAKER__SESSION__SECRET env var -if grep -E "beaker.session.secret ?= ?$" ckan.ini +if grep -qE "SECRET_KEY ?= ?$" ckan.ini then - echo "Setting beaker.session.secret in ini file" - ckan config-tool $CKAN_INI "beaker.session.secret=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" + echo "Setting SECRET_KEY in ini file" + ckan config-tool $CKAN_INI "SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" ckan config-tool $CKAN_INI "WTF_CSRF_SECRET_KEY=$(python3 -c 'import secrets; print(secrets.token_urlsafe())')" JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" @@ -20,10 +23,7 @@ then fi # Run the prerun script to init CKAN and create the default admin user -sudo -u ckan -EH python3 prerun.py - -echo "Set up ckan.datapusher.api_token in the CKAN config file" -ckan config-tool $CKAN_INI "ckan.datapusher.api_token=$(ckan -c $CKAN_INI user token add ckan_admin datapusher | tail -n 1 | tr -d '\t')" +python3 prerun.py # Run any startup scripts provided by images extending this one if [[ -d "/docker-entrypoint.d" ]] @@ -34,17 +34,13 @@ then *.py) echo "$0: Running init file $f"; python3 "$f"; echo ;; *) echo "$0: Ignoring $f (not an sh or py file)" ;; esac - echo done fi -# Set the common uwsgi options -UWSGI_OPTS="--plugins http,python \ - --socket /tmp/uwsgi.sock \ +UWSGI_OPTS="--socket /tmp/uwsgi.sock \ --wsgi-file /srv/app/wsgi.py \ --module wsgi:application \ - --uid 92 --gid 92 \ - --http 0.0.0.0:5500 \ + --http [::]:5000 \ --master --enable-threads \ --lazy-apps \ -p 2 -L -b 32768 --vacuum \ @@ -52,10 +48,9 @@ UWSGI_OPTS="--plugins http,python \ if [ $? -eq 0 ] then - # Start supervisord - supervisord --configuration /etc/supervisord.conf & + supervisord --configuration /etc/supervisord.d/ckan.conf & # Start uwsgi - sudo -u ckan -EH uwsgi $UWSGI_OPTS + uwsgi $UWSGI_OPTS else echo "[prerun] failed...not starting CKAN." fi From 8a75cc1d1cbeb47e6eb9c8058a4ab4efaf4a878c Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 22 Jan 2025 21:05:25 +0100 Subject: [PATCH 209/284] fix(redis): remove unnecessary redis password in environment file - Removed value of `CKAN__HARVEST__MQ__PASSWORD` environment file - Added `restart` script for seamless restarts after updating environment variables. --- .env | 2 +- README.md | 5 +++++ bin/restart | 6 ++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 bin/restart diff --git a/.env b/.env index 4bc83d3f5..9f2bae030 100644 --- a/.env +++ b/.env @@ -52,7 +52,7 @@ CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal d CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 -CKAN__HARVEST__MQ__PASSWORD=redis +CKAN__HARVEST__MQ__PASSWORD= CKAN__HARVEST__MQ__TYPE=redis #Logger diff --git a/README.md b/README.md index 55a9b087b..8896071b4 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,11 @@ To start the containers: ```bash bin/compose up ``` +Shut down and restart the whole ckan-dev container (use bin/compose up -d instead to reload new values from .env) +```bash + bin/compose restart +``` + ### 3.2. Remove images and volumes ```bash bin/compose down -v diff --git a/bin/restart b/bin/restart new file mode 100644 index 000000000..b58718788 --- /dev/null +++ b/bin/restart @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -e +ROOT="$(dirname ${BASH_SOURCE[0]})/.." + +docker compose -f "${ROOT}/docker-compose.yml" restart ckan-dev \ No newline at end of file From 729a425118c8103cd2d41dd99f87cb07256244cf Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Wed, 22 Jan 2025 21:09:04 +0100 Subject: [PATCH 210/284] fix(reuse): Add reuse header to scripts --- bin/ckan | 4 ++-- bin/compose | 2 +- bin/install_src | 2 +- bin/restart | 4 ++++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/bin/ckan b/bin/ckan index 16bfab5a1..d4ccd5621 100644 --- a/bin/ckan +++ b/bin/ckan @@ -1,10 +1,10 @@ #!/usr/bin/env bash -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: Stichting Health-RI # # SPDX-License-Identifier: AGPL-3.0-only set -e ROOT="$(dirname ${BASH_SOURCE[0]})/.." -docker compose -f "${ROOT}/docker-compose.dev.yml" exec ckan-dev ckan "$@" \ No newline at end of file +docker compose -f "${ROOT}/docker-compose.yml" exec ckan-dev ckan "$@" \ No newline at end of file diff --git a/bin/compose b/bin/compose index 6a334888d..00a33995c 100644 --- a/bin/compose +++ b/bin/compose @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: Stichting Health-RI # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/bin/install_src b/bin/install_src index b0f058f3c..466bde7b2 100644 --- a/bin/install_src +++ b/bin/install_src @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# SPDX-FileCopyrightText: 2006-2024 Open Knowledge Foundation and contributors +# SPDX-FileCopyrightText: Stichting Health-RI # # SPDX-License-Identifier: AGPL-3.0-only diff --git a/bin/restart b/bin/restart index b58718788..f6f3538b4 100644 --- a/bin/restart +++ b/bin/restart @@ -1,5 +1,9 @@ #!/usr/bin/env bash +# SPDX-FileCopyrightText: Stichting Health-RI +# +# SPDX-License-Identifier: AGPL-3.0-only + set -e ROOT="$(dirname ${BASH_SOURCE[0]})/.." From 43dfb121276646e089a97537bf6f828606f5e966 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 09:21:08 +0100 Subject: [PATCH 211/284] chore: upgrade extension version --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index fa5f43929..59ecf4d65 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit fa5f439291e47f3689314518cd68587f736c0d90 +Subproject commit 59ecf4d6550bffb03b78707d5722aacacc44768a From 1408099cdb07893a3d7399a5a5050135c6d6a183 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 09:21:29 +0100 Subject: [PATCH 212/284] Revert "chore: upgrade extension version" This reverts commit 43dfb121276646e089a97537bf6f828606f5e966. --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 59ecf4d65..fa5f43929 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 59ecf4d6550bffb03b78707d5722aacacc44768a +Subproject commit fa5f439291e47f3689314518cd68587f736c0d90 From 6d54700bde62f41a62d5d1a00440782677520a34 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 09:22:00 +0100 Subject: [PATCH 213/284] chore: upgrade extension version --- src/ckanext-gdi-userportal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index fa5f43929..59ecf4d65 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit fa5f439291e47f3689314518cd68587f736c0d90 +Subproject commit 59ecf4d6550bffb03b78707d5722aacacc44768a From 3edeff9f588abdef0e411f5fbf74ba8de9548eb1 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 09:35:43 +0100 Subject: [PATCH 214/284] chore: update dockerfile --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 0ac5f8d7f..1da67cf8e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,7 +10,7 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.9#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.10#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ From 2c98ec2ef5a779785fc8e3b75c70fa78c21dfe92 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 09:45:27 +0100 Subject: [PATCH 215/284] chore: addd s3harvester --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 9f2bae030..493d80531 100644 --- a/.env +++ b/.env @@ -48,7 +48,7 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 From 3793540c3163029bfa4144af7743132180a41d6f Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 11:04:24 +0100 Subject: [PATCH 216/284] chore: update secrets in ckan.ini --- ckan/setup/start_ckan.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ckan/setup/start_ckan.sh b/ckan/setup/start_ckan.sh index fb3385775..a914ac180 100755 --- a/ckan/setup/start_ckan.sh +++ b/ckan/setup/start_ckan.sh @@ -20,6 +20,8 @@ then JWT_SECRET=$(python3 -c 'import secrets; print("string:" + secrets.token_urlsafe())') ckan config-tool $CKAN_INI "api_token.jwt.encode.secret=${JWT_SECRET}" ckan config-tool $CKAN_INI "api_token.jwt.decode.secret=${JWT_SECRET}" + ckan config-tool $CKAN_INI "ckan.harvest.s3_rdf.aws_access_key=${CKAN_HARVEST_S3_RDF_AWS_ACCESS_KEY}" + ckan config-tool $CKAN_INI "ckan.harvest.s3_rdf.aws_secret_key=${CKAN_HARVEST_S3_RDF_AWS_SECRET_KEY}" fi # Run the prerun script to init CKAN and create the default admin user From 452363d62ee75429ddc4a5cbfa504c5eb6471160 Mon Sep 17 00:00:00 2001 From: jadz94 Date: Thu, 30 Jan 2025 14:29:24 +0100 Subject: [PATCH 217/284] fix(ART-12367): update dcat ext version --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1da67cf8e..9abb91d95 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -13,7 +13,7 @@ USER ckan RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.10#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 73784c821..d4e588bd4 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -11,7 +11,7 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 59ecf4d65..a13bcc3c1 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 59ecf4d6550bffb03b78707d5722aacacc44768a +Subproject commit a13bcc3c11a0bbf4b97e768bca6cd1dbfe3df5f4 From caaf560c04f2223c5e1f57ce8f209d4c832a7ecd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 Feb 2025 16:03:01 +0000 Subject: [PATCH 218/284] chore(deps): update ckan/ckan-base docker tag to v2.11.2 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9abb91d95..6175cc6ce 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.11.1 +FROM ckan/ckan-base:2.11.2 USER root RUN chown -R ckan:ckan-sys ${APP_DIR} From 1e9057a758b118b5045e665d8d137a16abc0191f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 5 Feb 2025 16:03:03 +0000 Subject: [PATCH 219/284] chore(deps): update ckan/ckan-dev docker tag to v2.11.2 --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index d4e588bd4..a9aeb6563 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.11.1 +FROM ckan/ckan-dev:2.11.2 USER root RUN chown -R ckan:ckan-sys ${APP_DIR} From f1a76a332dfb04d54dfd5aeae99978f3d6d351ee Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Fri, 7 Feb 2025 13:17:29 +0100 Subject: [PATCH 220/284] Initial commit of Health DCAT FDP support + Dataseries support --- .env | 2 +- ckan/Dockerfile | 3 +++ ckan/Dockerfile.dev | 5 ++++- ckan/docker-entrypoint.d/setup_scheming.sh | 4 ++-- src/ckanext-gdi-userportal | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.env b/.env index 493d80531..267c2aa64 100644 --- a/.env +++ b/.env @@ -48,7 +48,7 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars dataset_series scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9abb91d95..f35165dbb 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -13,6 +13,9 @@ USER ckan RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.10#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt +RUN pip3 install -e git+https://github.com/ckan/ckanext-dataset-series.git@main#egg=ckanext-dataset-series && \ + pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt + RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index d4e588bd4..af3d94082 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,12 +14,15 @@ USER ckan RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt +RUN pip3 install -e git+https://github.com/ckan/ckanext-dataset-series.git@main#egg=ckanext-dataset-series && \ + pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt + RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@dcat-2.2.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 9c8a0febb..02f812098 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,10 +7,10 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.dcat.schemas:dcat_ap_full.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml" \ + "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml ckanext.dataset_series.schemas:dcat_ap_dataset_series.yaml" \ "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml" \ "scheming.dataset_fallback = false" \ - "ckanext.dcat.rdf.profiles = euro_dcat_ap_3 euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ + "ckanext.dcat.rdf.profiles = euro_health_dcat_ap euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index a13bcc3c1..01f609035 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit a13bcc3c11a0bbf4b97e768bca6cd1dbfe3df5f4 +Subproject commit 01f609035a26a717ca4a745c1e36f22fd6e2f9ea From ceedbf2cf5865f9da176cfaf6c1aafbff038d811 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Fri, 7 Feb 2025 14:28:35 +0100 Subject: [PATCH 221/284] chore(deps): upgrade ckanext-gdi-userportal --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1a538a8cf..5806be81c 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -6,7 +6,7 @@ FROM docker.io/ckan/ckan-base:2.10.6 -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.8#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.11#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.1.0#egg=ckanext-dcat && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 354e02e92..a13bcc3c1 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 354e02e9205c25835d8a31fdbde2e1f8e11daaf9 +Subproject commit a13bcc3c11a0bbf4b97e768bca6cd1dbfe3df5f4 From 66d4e17545738d832cb9d911b7915b680fefd425 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 11 Feb 2025 16:56:14 +0100 Subject: [PATCH 222/284] Only focus HealthDCAP AP --- .env | 2 +- ckan/Dockerfile | 5 +---- ckan/Dockerfile.dev | 5 +---- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.env b/.env index 267c2aa64..493d80531 100644 --- a/.env +++ b/.env @@ -48,7 +48,7 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars dataset_series scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 3c97b835c..5d317791e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -13,9 +13,6 @@ USER ckan RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.11#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dataset-series.git@main#egg=ckanext-dataset-series && \ - pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt - RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt @@ -24,7 +21,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.2#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index cd1426677..98cdb0b2e 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -14,15 +14,12 @@ USER ckan RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dataset-series.git@main#egg=ckanext-dataset-series && \ - pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt - RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@dcat-2.2.0#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.3#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root From 36e94799966eeb791e657a897b71e61d35344526 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 11 Feb 2025 17:08:27 +0100 Subject: [PATCH 223/284] Onlky focus HealthDCAT --- ckan/docker-entrypoint.d/setup_scheming.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 02f812098..208f5ae40 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,7 +7,7 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml ckanext.dataset_series.schemas:dcat_ap_dataset_series.yaml" \ + "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml" \ "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml" \ "scheming.dataset_fallback = false" \ "ckanext.dcat.rdf.profiles = euro_health_dcat_ap euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ From 9d610fbe66243ef4b8355b426d348dc5a74689b4 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 11 Mar 2025 11:51:37 +0100 Subject: [PATCH 224/284] chore(deps): bump CKAN packages for compatibility and new features - **ckan-harvest**: Disable support for CKAN 2.9 - **ckan-fairdatapoint**: Ensure LDP compliance - **ckan-dcat**: Add support for Croissant to enable ML --- .env | 1 + ckan/Dockerfile | 6 +++--- ckan/Dockerfile.dev | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.env b/.env index 493d80531..08433fb11 100644 --- a/.env +++ b/.env @@ -39,6 +39,7 @@ CKAN_SMTP_PASSWORD=pass CKAN_SMTP_MAIL_FROM=ckan@localhost CKAN_MAX_UPLOAD_SIZE_MB=10 TZ=Europe/Amsterdam +CKAN__LOCALE_DEFAULT=en # Redis REDIS_VERSION=7.4.2 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 5d317791e..9640dbb4e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -13,15 +13,15 @@ USER ckan RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.11#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.3.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.3#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.4#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 98cdb0b2e..073a6ce6f 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -11,15 +11,15 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.2.0#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.3.0#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.0#egg=ckanext-harvest && \ +RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.3#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.4#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root From 1df023212c6f0f06745976d4b1524ccd29168389 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 14 Mar 2025 08:03:19 +0000 Subject: [PATCH 225/284] chore(deps): update aquasecurity/trivy-action action to v0.30.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 052d0eb82..bc55efc57 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.29.0 + uses: aquasecurity/trivy-action@0.30.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d84ec7043..eb06de219 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.29.0 + uses: aquasecurity/trivy-action@0.30.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From 435b8cb8a7626dfb0dea5710542d00873ed8b868 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 17 Mar 2025 13:16:44 +0100 Subject: [PATCH 226/284] fix: wget vulnerability error --- ckan/Dockerfile | 9 ++++++++- ckan/Dockerfile.dev | 9 ++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 9640dbb4e..fd0535eb1 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -27,7 +27,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor USER root ### Install everything we need for the harvester -# Install cron and supervisor +# Install cron and supervisor. RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ supervisor \ @@ -58,3 +58,10 @@ RUN for d in $APP_DIR/patches/*; do \ done ; \ fi ; \ done + +# Wget can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved +RUN apt-get update && apt-get install --no-install-recommends -y \ + wget \ + && apt-get upgrade -y wget \ + && rm -rf /var/lib/apt/lists/* \ + && echo "Wget installation is complete." \ No newline at end of file diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 073a6ce6f..c91c050ca 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -57,6 +57,9 @@ RUN for d in $APP_DIR/patches/*; do \ fi ; \ done - - - \ No newline at end of file +# Wget install can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved +RUN apt-get update && apt-get install --no-install-recommends -y \ + wget \ + && apt-get upgrade -y wget \ + && rm -rf /var/lib/apt/lists/* \ + && echo "Wget installation is complete." \ No newline at end of file From 3857015d7048710409bfabbf9cf43f77c40ce454 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 17 Mar 2025 13:54:04 +0100 Subject: [PATCH 227/284] Optimize install --- ckan/Dockerfile | 1 - ckan/Dockerfile.dev | 1 - 2 files changed, 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index fd0535eb1..23e4469a2 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -62,6 +62,5 @@ RUN for d in $APP_DIR/patches/*; do \ # Wget can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved RUN apt-get update && apt-get install --no-install-recommends -y \ wget \ - && apt-get upgrade -y wget \ && rm -rf /var/lib/apt/lists/* \ && echo "Wget installation is complete." \ No newline at end of file diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index c91c050ca..79fb604c4 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -60,6 +60,5 @@ RUN for d in $APP_DIR/patches/*; do \ # Wget install can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved RUN apt-get update && apt-get install --no-install-recommends -y \ wget \ - && apt-get upgrade -y wget \ && rm -rf /var/lib/apt/lists/* \ && echo "Wget installation is complete." \ No newline at end of file From 39c8e7a21f4852654adb1cb0f22176a430a9a167 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Mon, 17 Mar 2025 14:00:07 +0100 Subject: [PATCH 228/284] correct scope for permissions --- ckan/Dockerfile | 14 +++++++------- ckan/Dockerfile.dev | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 23e4469a2..111fdfbc9 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -49,6 +49,12 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} +# Wget can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved +RUN apt-get update && apt-get install --no-install-recommends -y \ + wget \ + && rm -rf /var/lib/apt/lists/* \ + && echo "Wget installation is complete." + USER ckan RUN for d in $APP_DIR/patches/*; do \ @@ -57,10 +63,4 @@ RUN for d in $APP_DIR/patches/*; do \ cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ done ; \ fi ; \ - done - -# Wget can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved -RUN apt-get update && apt-get install --no-install-recommends -y \ - wget \ - && rm -rf /var/lib/apt/lists/* \ - && echo "Wget installation is complete." \ No newline at end of file + done \ No newline at end of file diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 79fb604c4..22b2649dc 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -47,6 +47,12 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} +# Wget install can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved +RUN apt-get update && apt-get install --no-install-recommends -y \ + wget \ + && rm -rf /var/lib/apt/lists/* \ + && echo "Wget installation is complete." + USER ckan RUN for d in $APP_DIR/patches/*; do \ @@ -55,10 +61,4 @@ RUN for d in $APP_DIR/patches/*; do \ cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ done ; \ fi ; \ - done - -# Wget install can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved -RUN apt-get update && apt-get install --no-install-recommends -y \ - wget \ - && rm -rf /var/lib/apt/lists/* \ - && echo "Wget installation is complete." \ No newline at end of file + done \ No newline at end of file From 457a295fbb5c09315209f6e6ac6f07e56e777752 Mon Sep 17 00:00:00 2001 From: jadzlnds Date: Fri, 4 Apr 2025 14:55:15 +0200 Subject: [PATCH 229/284] fix(ART-12367): update dcat ext version --- .github/workflows/release.yml | 145 +++++++++++++++++++++++++++++++++- CHANGELOG.md | 101 +++++++++++++++++++++-- src/ckanext-gdi-userportal | 2 +- 3 files changed, 238 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb06de219..13fec8d07 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,9 +5,12 @@ name: Publish release on: - push: - tags: - - "v*" + workflow_dispatch: + inputs: + version: + description: 'Version increment (major, minor, patch)' + required: true + default: 'patch' env: REGISTRY: ghcr.io @@ -26,9 +29,143 @@ jobs: fail-on: "issues" run: "cache-dependencies,cache-scan-results,labels,analyzer,evaluator,advisor,reporter,upload-results" - build-and-push-image: + versioning: runs-on: ubuntu-latest needs: ort + outputs: + new_tag: ${{ steps.tagging.outputs.new_tag }} + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set Git User Identity + run: | + git config --local user.email "lnds-Sysadmins@users.noreply.github.com" + git config --local user.name "LNDS-Sysadmins" + + - name: Fetch Latest Tag and Increment Version + id: tagging + run: | + LATEST_TAG=$(git tag --sort=-creatordate | head -n 1) + echo "Latest tag: $LATEST_TAG" + + # Extract Major, Minor, Patch + IFS='.' read -r MAJOR MINOR PATCH <<<"${LATEST_TAG//v/}" + INCREMENT=${{ github.event.inputs.version }} + echo "Updating : $INCREMENT version" + + case "$INCREMENT" in + major) ((MAJOR++)); MINOR=0; PATCH=0 ;; + minor) ((MINOR++)); PATCH=0 ;; + patch|*) ((PATCH++)) ;; + esac + + NEW_TAG="v$MAJOR.$MINOR.$PATCH" + echo "Pushing this tag: $NEW_TAG" + + git tag -a "$NEW_TAG" -m "Release $NEW_TAG" + git push origin "$NEW_TAG" + + echo "New tag pushed: $NEW_TAG" + echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT + + generate-changelog: + runs-on: ubuntu-latest + needs: versioning + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set Git User Identity + run: | + git config --local user.email "lnds-Sysadmins@users.noreply.github.com" + git config --local user.name "LNDS-Sysadmins" + + - name: Fetch and sync all tags + run: | + git fetch --prune origin "+refs/tags/*:refs/tags/*" + git tag --sort=-creatordate + + - name: Generate changelog entry + run: | + CHANGELOG_FILE="CHANGELOG.md" + LATEST_TAG=$(git tag --sort=-creatordate | sed -n '1p') + PREVIOUS_TAG=$(git tag --sort=-creatordate | sed -n '2p') + + echo "📢 Generating changelog for $LATEST_TAG (since $PREVIOUS_TAG)..." + + COMMITS=$(git log "$PREVIOUS_TAG".."$LATEST_TAG" --no-merges --pretty=format:"%s by @%an in %h") + + if [[ -z "$COMMITS" ]]; then + echo "⚠️ No commits found between $PREVIOUS_TAG and $LATEST_TAG" + exit 0 + fi + + ADDED=""; CHANGED=""; FIXED=""; REMOVED=""; SECURITY="" + while IFS= read -r line; do + case "$line" in + *feat*|*implement*) ADDED+="- $line\n" ;; + *fix*|*bug*|*resolve*|*patch*) FIXED+="- $line\n" ;; + *update*|*modify*|*change*|*refactor*|*chore*) CHANGED+="- $line\n" ;; + *decommission*|*delete*|*remove*) REMOVED+="- $line\n" ;; + *security*|*vuln*|*"patch security"*) SECURITY+="- $line\n" ;; + *) CHANGED+="- $line\n" ;; + esac + done <<< "$COMMITS" + touch temp_changelog.md + { + echo -e "## [$LATEST_TAG] - $(date +'%Y-%m-%d')\n" + [[ -n "$ADDED" ]] && echo -e "### Added\n$ADDED\n" + [[ -n "$CHANGED" ]] && echo -e "### Changed\n$CHANGED\n" + [[ -n "$FIXED" ]] && echo -e "### Fixed\n$FIXED\n" + [[ -n "$REMOVED" ]] && echo -e "### Removed\n$REMOVED\n" + [[ -n "$SECURITY" ]] && echo -e "### Security\n$SECURITY\n" + } > temp_changelog.md + + if [[ ! -f "$CHANGELOG_FILE" ]]; then + echo -e "# Changelog\n\nAll notable changes to this project will be documented here.\n" > "$CHANGELOG_FILE" + fi + + sed -i '14r temp_changelog.md' "$CHANGELOG_FILE" + rm temp_changelog.md + + git add "$CHANGELOG_FILE" + git commit -m "📜 Update CHANGELOG.md for $LATEST_TAG" || echo "No changes to commit" + git push origin main + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + publish-release: + runs-on: ubuntu-latest + needs: [versioning, generate-changelog] + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install GitHub CLI + run: sudo apt-get install -y gh + + - name: Generate and Publish GitHub Release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + LATEST_TAG="${{ needs.versioning.outputs.new_tag }}" + PREVIOUS_TAG=$(git tag --sort=-creatordate | sed -n '2p') + + echo "Creating GitHub release for $LATEST_TAG from previous release $PREVIOUS_TAG" + + gh release create "$LATEST_TAG" \ + --title "Release $LATEST_TAG" \ + --generate-notes \ + --notes-start-tag "$PREVIOUS_TAG" + + build-and-push-image: + runs-on: ubuntu-latest + needs: publish-release permissions: contents: read packages: write diff --git a/CHANGELOG.md b/CHANGELOG.md index 574d3df78..95512aca3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,19 +11,110 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] -### Added +## [v1.3.12] - 2025-04-04 ### Changed +- Onlky focus HealthDCAT by @Hans-Chrstian in 36e9479 +- Only focus HealthDCAP AP by @Hans-Chrstian in 66d4e17 +- Initial commit of Health DCAT FDP support + Dataseries support by @Hans-Chrstian in f1a76a3 -### Deprecated -### Removed + +## [v1.3.9] - 2025-04-04 + +### Changed +- chore(deps): update ckan/ckan-dev docker tag to v2.11.2 by @Renovate Bot in 1e9057a +- chore(deps): update ckan/ckan-base docker tag to v2.11.2 by @Renovate Bot in caaf560 + + + +## [v1.3.8] - 2025-04-04 + +### Changed +- chore(deps): upgrade ckanext-gdi-userportal by @Bruno Pacheco in ceedbf2 +- chore: update secrets in ckan.ini by @jadz94 in 3793540 +- chore: addd s3harvester by @jadz94 in 2c98ec2 +- chore: update dockerfile by @jadz94 in 3edeff9 +- chore: upgrade extension version by @jadz94 in 6d54700 +- Revert "chore: upgrade extension version" by @jadz94 in 1408099 +- chore: upgrade extension version by @jadz94 in 43dfb12 +- Ckan 211 (#158) by @Hans-Christian in 4089575 +- chore: upgrade extension version by @jadz94 in 8a4e6f7 +- Applied review comments by @Hans-Chrstian in 34b259f +- docs(README): add local ckan instance hostname and default sysadmin credentials by @Antoine Dorard in 08a7f5e +- Sonarcloud recomendations by @Hans-Chrstian in b3eca9b +- Revert x64 by @Hans-Chrstian in 96bc753 +- Correct readme by @Hans-Chrstian in 57f3c3d +- Add license by @Hans-Chrstian in 7216518 +- Adjust dockerfile by @Hans-Chrstian in fd38196 +- Current status of 2.11.1 upgrade by @Hans-Chrstian in 0cd04b8 +- chore: improve logs of database upgrades by @Bruno Pacheco in 3e85f54 +- Clarify and clean up Dockerfile by @Mark Janse in 0a3e002 +- Explicitly add linux/amd64 platform to docker as there are no other images by @Mark Janse in fadd140 +- chore(deps): update dependencies and settings for CKAN 2.11 compatibility by @Mark Janse in d4a5e0c + ### Fixed +- fix(ART-12367): update dcat ext version by @jadz94 in 452363d +- fix(reuse): Add reuse header to scripts by @Hans-Chrstian in 729a425 +- fix(redis): remove unnecessary redis password in environment file by @Hans-Chrstian in 8a75cc1 +- fix: resolve startup issues with supervisor and harvester configuration by @Hans-Chrstian in ee4ca92 +- fix Civity reference to scheming by @Hans-Chrstian in 906b52f +- fix permission issues by @Hans-Chrstian in db58059 + + + +## [v1.3.7] - 2025-04-04 + +### Changed +- chore(deps): upgrade CKAN to 2.10.6 by @Bruno Pacheco in 34713e6 +- chore(deps): revert CKAN upgrade by @Bruno Pacheco in be2c5a8 +- chore(deps): update docker.io/ckan/ckan-dev docker tag to v2.10.6 by @Renovate Bot in 05c35a5 +- chore(deps): update docker.io/ckan/ckan-base docker tag to v2.10.6 by @Renovate Bot in 516ec09 + + + +## [v1.3.6] - 2025-04-04 + +### Changed +- FDP 1.3.2 by @Hans-Chrstian in 316fbc3 +- Fix FDP by @Hans-Chrstian in d78701d +- chore: initialize harvest db by @Bruno Pacheco in 825ce18 +- chore(deps): upgrade ckan extensions by @Bruno Pacheco in ab77b39 +- chore(deps): update aquasecurity/trivy-action action to v0.29.0 by @Renovate Bot in 0b1cf02 +- chore(deps): update fsfe/reuse-action action to v5 by @Renovate Bot in 85895d6 + + +### Fixed +- Hotfix 1.4.0 by @Hans-Chrstian in 7f632ce +- fix: reuse CKAN_SQLALCHEMY_URL in upload_vocabulary.sh by @Bruno Pacheco in 873828b + + + +## [v1.3.5] - 2025-04-04 + +### Changed +- chore(deps): upgrade opentelemetry components by @Bruno Pacheco in 3500557 + + + +## [v1.3.4] - 2025-04-04 + +### Changed +- chore(deps): upgrade ckanext-gdi-userportal by @Bruno Pacheco in 4850d5f +- chore: update ckanext-gdi-userportal HEAD commit by @Bruno Pacheco in 4a16fc9 +- chore: use cached trivy db by @Bruno Pacheco in d9caea7 +- chore: cache trivy db by @Bruno Pacheco in a870d4f +- chore: update ckanext-gdi-userportal HEAD commit by @Bruno Pacheco in 7289ccc +- Prepare for release v1.3.3 (#143) by @Hans-Christian in ba6f8c9 + + +### Fixed +- fix: revert severity of trivy scanner to CRITICAL only by @Bruno Pacheco in b3720b6 + + -### Security ## [v1.3.3] - 2024-10-16 diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 01f609035..a13bcc3c1 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 01f609035a26a717ca4a745c1e36f22fd6e2f9ea +Subproject commit a13bcc3c11a0bbf4b97e768bca6cd1dbfe3df5f4 From e82237cf1b70ea7f9d8e9e49f8fc30f544cbc586 Mon Sep 17 00:00:00 2001 From: jadzlnds Date: Fri, 4 Apr 2025 15:40:25 +0200 Subject: [PATCH 230/284] fix(ART-12367): update dcat ext version --- .github/workflows/release.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 13fec8d07..8c97f4d33 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -78,6 +78,7 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 with: + token: '${{ secrets.LNDS_SYSADMINS_TOKEN }}' fetch-depth: 0 - name: Set Git User Identity @@ -134,10 +135,8 @@ jobs: rm temp_changelog.md git add "$CHANGELOG_FILE" - git commit -m "📜 Update CHANGELOG.md for $LATEST_TAG" || echo "No changes to commit" + git commit -m "doc: Update CHANGELOG.md for $LATEST_TAG" || echo "No changes to commit" git push origin main - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} publish-release: runs-on: ubuntu-latest From b3748b496d75e1c74f22cd79d70d5669cdd5b546 Mon Sep 17 00:00:00 2001 From: jadzlnds Date: Fri, 4 Apr 2025 16:32:29 +0200 Subject: [PATCH 231/284] feat(ART-12204): update change log --- .github/workflows/release.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c97f4d33..ad5f4b423 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -164,7 +164,7 @@ jobs: build-and-push-image: runs-on: ubuntu-latest - needs: publish-release + needs: [versioning, publish-release] permissions: contents: read packages: write @@ -188,9 +188,7 @@ jobs: type=schedule,priority=400 type=ref,event=branch,priority=600 type=ref,event=pr,priority=500 - type=semver,pattern={{version}},priority=700 - type=semver,pattern={{major}}.{{minor}},priority=900 - type=semver,pattern={{major}},priority=800 + type=semver,pattern={{version}},priority=700,value=${{ needs.versioning.outputs.new_tag }} type=sha,priority=1000 - name: Extract last tag From 2fe59f67d626bbe917be75e39fde99bf1e1b8363 Mon Sep 17 00:00:00 2001 From: jadzlnds Date: Mon, 7 Apr 2025 16:29:28 +0200 Subject: [PATCH 232/284] feat(ART-12204): update change log --- .github/workflows/generate_changelog.yml | 79 ++++++++++++++++++++++++ .github/workflows/release.yml | 75 +++------------------- 2 files changed, 86 insertions(+), 68 deletions(-) create mode 100644 .github/workflows/generate_changelog.yml diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml new file mode 100644 index 000000000..385d01ac2 --- /dev/null +++ b/.github/workflows/generate_changelog.yml @@ -0,0 +1,79 @@ +# SPDX-FileCopyrightText: 2024 PNED G.I.E. +# +# SPDX-License-Identifier: Apache-2.0 + +name: Generate Changelog + +on: + workflow_call: + inputs: + tag: + required: true + type: string + +jobs: + generate-changelog: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + token: '${{ secrets.GITHUB_TOKEN }}' + fetch-depth: 0 + + - name: Generate changelog entry + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git config --local user.email "lnds-Sysadmins@users.noreply.github.com" + git config --local user.name "LNDS-Sysadmins" + git pull + + CHANGELOG_FILE="CHANGELOG.md" + LATEST_TAG="${{ inputs.tag }}" + PREVIOUS_TAG=$(git tag --sort=-creatordate | sed -n '2p') + + CHANGELOG_BRANCH="chore/$LATEST_TAG" + git checkout -b "$CHANGELOG_BRANCH" + + echo "📢 Generating changelog for $LATEST_TAG (since $PREVIOUS_TAG)..." + + COMMITS=$(git log "$PREVIOUS_TAG".."$LATEST_TAG" --no-merges --pretty=format:"%s by @%an in %h") + + ADDED=""; CHANGED=""; FIXED=""; REMOVED=""; SECURITY="" + while IFS= read -r line; do + case "$line" in + *feat*|*implement*) ADDED+="- $line\n" ;; + *fix*|*bug*|*resolve*|*patch*) FIXED+="- $line\n" ;; + *update*|*modify*|*change*|*refactor*|*chore*) CHANGED+="- $line\n" ;; + *decommission*|*delete*|*remove*) REMOVED+="- $line\n" ;; + *security*|*vuln*|*"patch security"*) SECURITY+="- $line\n" ;; + *) CHANGED+="- $line\n" ;; + esac + done <<< "$COMMITS" + + { + echo -e "## [$LATEST_TAG] - $(date +'%Y-%m-%d')\n" + [[ -n "$ADDED" ]] && echo -e "### Added\n$ADDED\n" + [[ -n "$CHANGED" ]] && echo -e "### Changed\n$CHANGED\n" + [[ -n "$FIXED" ]] && echo -e "### Fixed\n$FIXED\n" + [[ -n "$REMOVED" ]] && echo -e "### Removed\n$REMOVED\n" + [[ -n "$SECURITY" ]] && echo -e "### Security\n$SECURITY\n" + } > temp_changelog.md + + if [[ ! -f "$CHANGELOG_FILE" ]]; then + echo -e "# Changelog\n\nAll notable changes to this project will be documented here.\n" > "$CHANGELOG_FILE" + fi + + sed -i '14r temp_changelog.md' "$CHANGELOG_FILE" + rm temp_changelog.md + + git add "$CHANGELOG_FILE" + git commit -m "doc: update CHANGELOG.md for $LATEST_TAG" + git push origin "$CHANGELOG_BRANCH" + + gh pr create \ + --title "chore: update changelog for $LATEST_TAG" \ + --body "This PR updates the changelog for release $LATEST_TAG." \ + --base main \ + --head "$CHANGELOG_BRANCH" \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ad5f4b423..86cc88b8a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -71,76 +71,9 @@ jobs: echo "New tag pushed: $NEW_TAG" echo "new_tag=$NEW_TAG" >> $GITHUB_OUTPUT - generate-changelog: - runs-on: ubuntu-latest - needs: versioning - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - with: - token: '${{ secrets.LNDS_SYSADMINS_TOKEN }}' - fetch-depth: 0 - - - name: Set Git User Identity - run: | - git config --local user.email "lnds-Sysadmins@users.noreply.github.com" - git config --local user.name "LNDS-Sysadmins" - - - name: Fetch and sync all tags - run: | - git fetch --prune origin "+refs/tags/*:refs/tags/*" - git tag --sort=-creatordate - - - name: Generate changelog entry - run: | - CHANGELOG_FILE="CHANGELOG.md" - LATEST_TAG=$(git tag --sort=-creatordate | sed -n '1p') - PREVIOUS_TAG=$(git tag --sort=-creatordate | sed -n '2p') - - echo "📢 Generating changelog for $LATEST_TAG (since $PREVIOUS_TAG)..." - - COMMITS=$(git log "$PREVIOUS_TAG".."$LATEST_TAG" --no-merges --pretty=format:"%s by @%an in %h") - - if [[ -z "$COMMITS" ]]; then - echo "⚠️ No commits found between $PREVIOUS_TAG and $LATEST_TAG" - exit 0 - fi - - ADDED=""; CHANGED=""; FIXED=""; REMOVED=""; SECURITY="" - while IFS= read -r line; do - case "$line" in - *feat*|*implement*) ADDED+="- $line\n" ;; - *fix*|*bug*|*resolve*|*patch*) FIXED+="- $line\n" ;; - *update*|*modify*|*change*|*refactor*|*chore*) CHANGED+="- $line\n" ;; - *decommission*|*delete*|*remove*) REMOVED+="- $line\n" ;; - *security*|*vuln*|*"patch security"*) SECURITY+="- $line\n" ;; - *) CHANGED+="- $line\n" ;; - esac - done <<< "$COMMITS" - touch temp_changelog.md - { - echo -e "## [$LATEST_TAG] - $(date +'%Y-%m-%d')\n" - [[ -n "$ADDED" ]] && echo -e "### Added\n$ADDED\n" - [[ -n "$CHANGED" ]] && echo -e "### Changed\n$CHANGED\n" - [[ -n "$FIXED" ]] && echo -e "### Fixed\n$FIXED\n" - [[ -n "$REMOVED" ]] && echo -e "### Removed\n$REMOVED\n" - [[ -n "$SECURITY" ]] && echo -e "### Security\n$SECURITY\n" - } > temp_changelog.md - - if [[ ! -f "$CHANGELOG_FILE" ]]; then - echo -e "# Changelog\n\nAll notable changes to this project will be documented here.\n" > "$CHANGELOG_FILE" - fi - - sed -i '14r temp_changelog.md' "$CHANGELOG_FILE" - rm temp_changelog.md - - git add "$CHANGELOG_FILE" - git commit -m "doc: Update CHANGELOG.md for $LATEST_TAG" || echo "No changes to commit" - git push origin main - publish-release: runs-on: ubuntu-latest - needs: [versioning, generate-changelog] + needs: versioning steps: - name: Checkout Repository uses: actions/checkout@v4 @@ -227,3 +160,9 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + call-generate-changelog: + needs: [versioning, build-and-push-image] + uses: ./.github/workflows/generate_changelog.yml + with: + tag: ${{ needs.versioning.outputs.new_tag }} \ No newline at end of file From 195c74f9c1333ae2d0955c9485b7a7169d60433c Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Fri, 11 Apr 2025 10:02:57 +0000 Subject: [PATCH 233/284] doc: update CHANGELOG.md for v1.3.13 --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95512aca3..b99ddd629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.13] - 2025-04-11 + +### Added +- feat(ART-12204): update change log by @jadzlnds in 2fe59f6 +- feat(ART-12204): update change log by @jadzlnds in b3748b4 + + +### Fixed +- fix(ART-12367): update dcat ext version by @jadzlnds in e82237c +- fix(ART-12367): update dcat ext version by @jadzlnds in 457a295 + + ## [v1.3.12] - 2025-04-04 ### Changed From 3d587ee3c461deabddfc7744d6217a009b9183b4 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Mon, 14 Apr 2025 15:47:40 +0200 Subject: [PATCH 234/284] Bump fairdatapoint 136 (#180) * fix(docker): update fairdatapoint extension to fix harvesting * fix(userportal): update userportal to fix vunerabilities and UTC times for HealthDCAT fields * Update Dockerfile: user correct user portal extension --------- Co-authored-by: Hans-Chrstian --- ckan/Dockerfile | 4 ++-- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 111fdfbc9..11b74a6ad 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -21,7 +21,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.4#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.6#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root @@ -63,4 +63,4 @@ RUN for d in $APP_DIR/patches/*; do \ cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ done ; \ fi ; \ - done \ No newline at end of file + done diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 22b2649dc..56de9f89a 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -19,7 +19,7 @@ RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=c RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.4#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.6#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index a13bcc3c1..943df991f 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit a13bcc3c11a0bbf4b97e768bca6cd1dbfe3df5f4 +Subproject commit 943df991f5861d5cb6fb4d5b4028560eb19436d8 From 62aa6e4ea87ba9d6b352bdd454db3a800db6acd0 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Mon, 14 Apr 2025 13:55:51 +0000 Subject: [PATCH 235/284] doc: update CHANGELOG.md for v1.3.14 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 95512aca3..d864bacf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.14] - 2025-04-14 + +### Changed +- Bump fairdatapoint 136 (#180) by @Hans-Christian in 3d587ee + + ## [v1.3.12] - 2025-04-04 ### Changed From d7e14f4b28482aa281b91f4291e4e8d40d756e8f Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 7 May 2025 15:02:49 +0000 Subject: [PATCH 236/284] chore(deps): update ckan/ckan-base docker tag to v2.11.3 --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 11b74a6ad..1754b0e98 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-base:2.11.2 +FROM ckan/ckan-base:2.11.3 USER root RUN chown -R ckan:ckan-sys ${APP_DIR} From d8c6242f72ff940ee8127d9502718981bac37d23 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 7 May 2025 15:02:51 +0000 Subject: [PATCH 237/284] chore(deps): update ckan/ckan-dev docker tag to v2.11.3 --- ckan/Dockerfile.dev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 56de9f89a..c1e1a038b 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM ckan/ckan-dev:2.11.2 +FROM ckan/ckan-dev:2.11.3 USER root RUN chown -R ckan:ckan-sys ${APP_DIR} From 170082d87ffbede79e92638d85a194dccab875d8 Mon Sep 17 00:00:00 2001 From: Hans-Chrstian Date: Tue, 20 May 2025 11:28:41 +0200 Subject: [PATCH 238/284] feat(fix) remove work around to make it --- ckan/Dockerfile | 9 +-------- ckan/Dockerfile.dev | 10 +--------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 1754b0e98..ce291114f 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -13,8 +13,7 @@ USER ckan RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.11#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.3.0#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt +RUN pip3 install ckanext-dcat==2.3.0 RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -49,12 +48,6 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} -# Wget can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved -RUN apt-get update && apt-get install --no-install-recommends -y \ - wget \ - && rm -rf /var/lib/apt/lists/* \ - && echo "Wget installation is complete." - USER ckan RUN for d in $APP_DIR/patches/*; do \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index c1e1a038b..ab0729f88 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -10,9 +10,7 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan - -RUN pip3 install -e git+https://github.com/ckan/ckanext-dcat.git@v2.3.0#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt +RUN pip3 install ckanext-dcat==2.3.0 RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt @@ -47,12 +45,6 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} -# Wget install can be removed when https://github.com/ckan/ckan-docker-base/issues/110 is resolved -RUN apt-get update && apt-get install --no-install-recommends -y \ - wget \ - && rm -rf /var/lib/apt/lists/* \ - && echo "Wget installation is complete." - USER ckan RUN for d in $APP_DIR/patches/*; do \ From ecae98e83dcc52973e336908929ebf3b438f362c Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Wed, 2 Jul 2025 13:24:47 +0200 Subject: [PATCH 239/284] feat(dataseries) initial commit dataseries (#186) * feat(dataseries) initial commit dataseries * feat: patch extension versions * feat: less docker layers --------- Co-authored-by: Hans-christian --- .env | 2 +- ckan/Dockerfile | 21 ++++++++++----------- ckan/Dockerfile.dev | 16 ++++++++-------- ckan/docker-entrypoint.d/setup_scheming.sh | 4 ++-- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.env b/.env index 08433fb11..a3106cd89 100644 --- a/.env +++ b/.env @@ -49,7 +49,7 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dataset_series dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ce291114f..117110349 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,17 +10,16 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.3.11#egg=ckanext-gdi-userportal && \ - pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt - -RUN pip3 install ckanext-dcat==2.3.0 - -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ - pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt - -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] - -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.6#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.4.0#egg=ckanext-gdi-userportal && \ + pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.1#egg=ckanext-dcat && \ + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ + pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ + pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ + pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ + pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.5.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index ab0729f88..0fde10c1a 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -10,14 +10,14 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install ckanext-dcat==2.3.0 - -RUN pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ - pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt - -RUN pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] - -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.3.6#egg=ckanext-fairdatapoint && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.1#egg=ckanext-dcat && \ + pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ + pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ + pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ + pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ + pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.5.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 208f5ae40..0a42b9289 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,8 +7,8 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml" \ - "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml" \ + "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml ckanext.dcat.schemas:dcat_ap_dataset_series.yaml" \ + "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml ckanext.dataset_series.schemas:presets.yaml" \ "scheming.dataset_fallback = false" \ "ckanext.dcat.rdf.profiles = euro_health_dcat_ap euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" From 1c4baf24cd6db27bd76ec1ae6eb2f78fe5556ddb Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 4 Jul 2025 07:03:41 +0000 Subject: [PATCH 240/284] chore(deps): update aquasecurity/trivy-action action to v0.32.0 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bc55efc57..0d855016e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.30.0 + uses: aquasecurity/trivy-action@0.32.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 86cc88b8a..274fd5281 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -141,7 +141,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.30.0 + uses: aquasecurity/trivy-action@0.32.0 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From c2c19f20321bbeeb4810f76e4413832c20c3b3c3 Mon Sep 17 00:00:00 2001 From: Bruno Pacheco Date: Tue, 8 Jul 2025 14:07:50 +0200 Subject: [PATCH 241/284] chore: upgrade ckan modules --- ckan/Dockerfile | 14 +++++++------- ckan/Dockerfile.dev | 12 ++++++------ src/ckanext-gdi-userportal | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 117110349..20a2c82d2 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,7 +10,7 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.4.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.5.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.1#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ @@ -19,7 +19,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.5.0#egg=ckanext-fairdatapoint && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root @@ -50,9 +50,9 @@ COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} USER ckan RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ done diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 0fde10c1a..179cab8f0 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -17,7 +17,7 @@ RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userpor pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.5.0#egg=ckanext-fairdatapoint && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint && \ pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt USER root @@ -48,9 +48,9 @@ COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} USER ckan RUN for d in $APP_DIR/patches/*; do \ - if [ -d $d ]; then \ - for f in `ls $d/*.patch | sort -g`; do \ - cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ - done ; \ - fi ; \ + if [ -d $d ]; then \ + for f in `ls $d/*.patch | sort -g`; do \ + cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ + done ; \ + fi ; \ done \ No newline at end of file diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 943df991f..c35e22bd4 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 943df991f5861d5cb6fb4d5b4028560eb19436d8 +Subproject commit c35e22bd4503278d29d0aef5cd03c33fc09b39da From 2b258ddb135b9417dc66716e9457598e6efe6025 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Tue, 8 Jul 2025 12:13:36 +0000 Subject: [PATCH 242/284] doc: update CHANGELOG.md for v1.3.15 --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 397c4e519..cd16d3b50 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.15] - 2025-07-08 + +### Added +- feat(dataseries) initial commit dataseries (#186) by @Hans-Christian in ecae98e +- feat(fix) remove work around to make it by @Hans-Chrstian in 170082d + + +### Changed +- chore: upgrade ckan modules by @Bruno Pacheco in c2c19f2 +- chore(deps): update aquasecurity/trivy-action action to v0.32.0 by @Renovate Bot in 1c4baf2 +- chore(deps): update ckan/ckan-dev docker tag to v2.11.3 by @Renovate Bot in d8c6242 +- chore(deps): update ckan/ckan-base docker tag to v2.11.3 by @Renovate Bot in d7e14f4 +- doc: update CHANGELOG.md for v1.3.14 by @LNDS-Sysadmins in 62aa6e4 +- doc: update CHANGELOG.md for v1.3.13 by @LNDS-Sysadmins in 195c74f + + ## [v1.3.14] - 2025-04-14 From f5004a19d1163b7abc22d7ec703113b868aedd90 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Mon, 21 Jul 2025 21:28:22 +0200 Subject: [PATCH 243/284] Patch extensions (#188) * Patch extensions * revert. amd64 in docker compose --------- Co-authored-by: Hans-christian --- ckan/Dockerfile | 5 +++-- ckan/Dockerfile.dev | 2 +- ckan/docker-entrypoint.d/setup_scheming.sh | 2 +- src/ckanext-gdi-userportal | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 20a2c82d2..754575eb9 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,9 +10,10 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.5.0#egg=ckanext-gdi-userportal && \ + +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.6.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.1#egg=ckanext-dcat && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.2#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 179cab8f0..164d02ea6 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -10,7 +10,7 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.1#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.2#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 0a42b9289..0bdd59f97 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -10,7 +10,7 @@ ckan config-tool $CKAN_INI -s app:main \ "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml ckanext.dcat.schemas:dcat_ap_dataset_series.yaml" \ "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml ckanext.dataset_series.schemas:presets.yaml" \ "scheming.dataset_fallback = false" \ - "ckanext.dcat.rdf.profiles = euro_health_dcat_ap euro_dcat_ap_scheming fairdatapoint_dcat_ap" \ + "ckanext.dcat.rdf.profiles = fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index c35e22bd4..f3919dff2 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit c35e22bd4503278d29d0aef5cd03c33fc09b39da +Subproject commit f3919dff29d4ea2338188e5e019442a402c6071c From 049cdcef821eee13a6ae0c0e5f5e83b7b05b66e1 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 11 Aug 2025 15:06:07 +0000 Subject: [PATCH 244/284] chore(deps): update actions/checkout action to v5 --- .github/workflows/generate_changelog.yml | 2 +- .github/workflows/main.yml | 4 ++-- .github/workflows/release.yml | 8 ++++---- .github/workflows/test.yml | 2 +- .github/workflows/weekly_vuln_scan.yml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml index 385d01ac2..2b466f25b 100644 --- a/.github/workflows/generate_changelog.yml +++ b/.github/workflows/generate_changelog.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: token: '${{ secrets.GITHUB_TOKEN }}' fetch-depth: 0 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0d855016e..f8a5afd9a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,7 +21,7 @@ jobs: ort: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: oss-review-toolkit/ort-ci-github-action@v1 with: allow-dynamic-versions: "true" @@ -36,7 +36,7 @@ jobs: packages: write steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Log in to the Container registry uses: docker/login-action@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 274fd5281..507053692 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: fail-fast: false runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - uses: oss-review-toolkit/ort-ci-github-action@v1 with: allow-dynamic-versions: "true" @@ -36,7 +36,7 @@ jobs: new_tag: ${{ steps.tagging.outputs.new_tag }} steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 @@ -76,7 +76,7 @@ jobs: needs: versioning steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install GitHub CLI run: sudo apt-get install -y gh @@ -103,7 +103,7 @@ jobs: packages: write steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Log in to the Container registry uses: docker/login-action@v3 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 02dc61e6a..beed23c9d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,6 +13,6 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: REUSE Compliance Check uses: fsfe/reuse-action@v5 diff --git a/.github/workflows/weekly_vuln_scan.yml b/.github/workflows/weekly_vuln_scan.yml index 3a205f715..19ad149c9 100644 --- a/.github/workflows/weekly_vuln_scan.yml +++ b/.github/workflows/weekly_vuln_scan.yml @@ -61,7 +61,7 @@ jobs: done - name: OSS Review Toolkit (ORT) Analysis - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: repository: ${{ github.repository }} From f0e1cb23a6dfcc9768a43a3cda56699ad884148a Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Tue, 2 Sep 2025 11:31:38 +0000 Subject: [PATCH 245/284] doc: update CHANGELOG.md for v1.3.16 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd16d3b50..d425feed8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.16] - 2025-09-02 + +### Changed +- chore(deps): update actions/checkout action to v5 by @Renovate Bot in 049cdce +- Patch extensions (#188) by @Hans-Christian in f5004a1 +- doc: update CHANGELOG.md for v1.3.15 by @LNDS-Sysadmins in 2b258dd + + ## [v1.3.15] - 2025-07-08 ### Added From 30bdac293152880ec2cef163764962abe44ad727 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 3 Sep 2025 19:06:45 +0000 Subject: [PATCH 246/284] chore(deps): update aquasecurity/trivy-action action to v0.33.1 --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f8a5afd9a..354abb192 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -76,7 +76,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.32.0 + uses: aquasecurity/trivy-action@0.33.1 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 507053692..7e20c24e4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -141,7 +141,7 @@ jobs: labels: ${{ steps.meta.outputs.labels }} - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@0.32.0 + uses: aquasecurity/trivy-action@0.33.1 with: image-ref: "${{ steps.tag.outputs.last_tag }}" format: "table" From 791490d6c20eaee1f1808b29fb2b3083945af9a0 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Thu, 4 Sep 2025 11:45:48 +0200 Subject: [PATCH 247/284] feat(readme) : Improved readme for setting up with Apple Sillicon laptop closes #192 --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8896071b4..fa8cc1d30 100644 --- a/README.md +++ b/README.md @@ -36,8 +36,13 @@ CKAN and all the components are configured using environment variables that you * Install docker with support to docker compose v2. * Ensure you have enough computer resources, if you are using `colima`: `colima start --arch aarch64 --vm-type=vz --mount-type=virtiofs --vz-rosetta --cpu 4 --memory 10` -* Copy `.env.example` to `.env`. -* Ensure git submodules are pulled correctly after clone CKAN-DOCKER `git submodule update --init` +* Ensure git submodules are pulled correctly after clone gdi-userportal-ckan-docker `git submodule update --init` +* If you are using an Apple Silicon laptop (e.g., M1 or M2), add the following property to your `docker-compose.yml` file within ckan-dev service to ensure compatibility: + +```yaml + platforms: + - linux/amd64 +``` ## 3. Useful commands From 2313ada7b6c533d9574b6a687f9b07330c035e22 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Thu, 4 Sep 2025 13:31:05 +0200 Subject: [PATCH 248/284] Update README.md Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fa8cc1d30..b6325bc30 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,13 @@ CKAN and all the components are configured using environment variables that you * If you are using an Apple Silicon laptop (e.g., M1 or M2), add the following property to your `docker-compose.yml` file within ckan-dev service to ensure compatibility: ```yaml - platforms: - - linux/amd64 +services: + + ckan-dev: + platform: linux/amd64 + build: + context: ckan/ + dockerfile: Dockerfile.dev ``` ## 3. Useful commands From 0601ef8722e1615c5a4a0fe7fa021f66d63a929e Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Tue, 9 Sep 2025 11:49:11 +0200 Subject: [PATCH 249/284] Patch userportal --- ckan/Dockerfile | 2 +- docker-compose.yml | 4 ++++ src/ckanext-gdi-userportal | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 754575eb9..8cfd54967 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -11,7 +11,7 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.6.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.8.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.2#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ diff --git a/docker-compose.yml b/docker-compose.yml index 0f79b1446..80ee3da0d 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,6 +16,8 @@ services: ckan-dev: build: + platforms: + - linux/amd64 context: ckan/ dockerfile: Dockerfile.dev args: @@ -77,3 +79,5 @@ services: restart: unless-stopped healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] + ports: + - "6379:6379" diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index f3919dff2..712af19d8 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit f3919dff29d4ea2338188e5e019442a402c6071c +Subproject commit 712af19d875eb6891cd6d0147245e7bd64bb67a7 From 3d4549ea6b127d50e2d5f76df700ef21ccc0acb6 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Tue, 9 Sep 2025 11:50:24 +0200 Subject: [PATCH 250/284] Update docker-compose.yml --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 80ee3da0d..426d3aadc 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,8 +16,6 @@ services: ckan-dev: build: - platforms: - - linux/amd64 context: ckan/ dockerfile: Dockerfile.dev args: From 33077531ac13f5f339f1e04c08b0b53992c4baca Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Tue, 9 Sep 2025 13:11:08 +0200 Subject: [PATCH 251/284] Apply suggestions from code review Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 426d3aadc..d83220ccb 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -78,4 +78,4 @@ services: healthcheck: test: ["CMD", "redis-cli", "-e", "QUIT"] ports: - - "6379:6379" + - "127.0.0.1:6379:6379" From fa379aa6f3706f71dfd8356ffa566abbb9717451 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Wed, 10 Sep 2025 09:00:58 +0200 Subject: [PATCH 252/284] fix(trivy) CVE-2025-6965 (wait for base image to be updated --- ckan/Dockerfile | 5 +++++ ckan/Dockerfile.dev | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 8cfd54967..b274d29e9 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -48,6 +48,11 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} +# CVE-2025-6965 (wait for ckan base to be updated) +RUN apt-get update \ + && apt-get install -y --no-install-recommends libsqlite3-0=3.40.1-2+deb12u2 \ + && rm -rf /var/lib/apt/lists/* + USER ckan RUN for d in $APP_DIR/patches/*; do \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 164d02ea6..fca7224d7 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -45,6 +45,12 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} + +#CVE-2025-6965 (wait for ckan base to be updated) +RUN apt-get update \ + && apt-get install -y --no-install-recommends libsqlite3-0=3.40.1-2+deb12u2 \ + && rm -rf /var/lib/apt/lists/* + USER ckan RUN for d in $APP_DIR/patches/*; do \ From d637cdbff07c00c7625543a656bc4c6ad9e6bc80 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Wed, 10 Sep 2025 09:07:19 +0200 Subject: [PATCH 253/284] fix(trviy) Add additional description for CVE --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index b274d29e9..d9d1f5a51 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -48,7 +48,7 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan.sh ${APP_DIR} -# CVE-2025-6965 (wait for ckan base to be updated) +# CVE-2025-6965 (wait for ckan base to be updated: https://github.com/ckan/ckan-docker/issues/231) RUN apt-get update \ && apt-get install -y --no-install-recommends libsqlite3-0=3.40.1-2+deb12u2 \ && rm -rf /var/lib/apt/lists/* diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index fca7224d7..7ad9916ed 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -45,8 +45,7 @@ COPY --chown=ckan-sys:ckan-sys patches ${APP_DIR}/patches COPY --chown=ckan-sys:ckan-sys setup/prerun.py ${APP_DIR} COPY --chown=ckan-sys:ckan-sys setup/start_ckan_development.sh ${APP_DIR} - -#CVE-2025-6965 (wait for ckan base to be updated) +#CVE-2025-6965 (wait for ckan base to be updated: https://github.com/ckan/ckan-docker/issues/231) RUN apt-get update \ && apt-get install -y --no-install-recommends libsqlite3-0=3.40.1-2+deb12u2 \ && rm -rf /var/lib/apt/lists/* From 1c17677338f1f226fa3054966312eb8797c611c3 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Wed, 10 Sep 2025 07:17:10 +0000 Subject: [PATCH 254/284] doc: update CHANGELOG.md for v1.3.19 --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d425feed8..24b2d64bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.19] - 2025-09-10 + +### Fixed +- fix(trviy) Add additional description for CVE by @Hans-christian in d637cdb +- fix(trivy) CVE-2025-6965 (wait for base image to be updated by @Hans-christian in fa379aa + + ## [v1.3.16] - 2025-09-02 ### Changed From 3fa7d02b1213113cc32ca73b46504e742a1173ff Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Wed, 10 Sep 2025 10:20:31 +0200 Subject: [PATCH 255/284] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 24b2d64bd..d0a27b69c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [v1.3.19] - 2025-09-10 ### Fixed -- fix(trviy) Add additional description for CVE by @Hans-christian in d637cdb - fix(trivy) CVE-2025-6965 (wait for base image to be updated by @Hans-christian in fa379aa From 98a84d5442a84ffb1ec082603c27daa77980a192 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 12 Sep 2025 10:05:13 +0200 Subject: [PATCH 256/284] fix make retentionperion and temporal visisble --- ckan/Dockerfile | 4 ++-- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index d9d1f5a51..976f049d6 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -11,9 +11,9 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.8.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.9.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.2#egg=ckanext-dcat && \ + pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 7ad9916ed..f828c3b89 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -10,7 +10,7 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.2#egg=ckanext-dcat && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 712af19d8..260b72673 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 712af19d875eb6891cd6d0147245e7bd64bb67a7 +Subproject commit 260b72673b1ccd8970680cc0e1b6e450b7137817 From a1feed0af2da23979f46e44dd83d9202ab994a0d Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Fri, 12 Sep 2025 08:19:31 +0000 Subject: [PATCH 257/284] doc: update CHANGELOG.md for v1.3.20 --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0a27b69c..3695a9ab3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.20] - 2025-09-12 + +### Added +- feat(readme) : Improved readme for setting up with Apple Sillicon laptop closes #192 by @Hans-christian in 791490d + + +### Changed +- Update CHANGELOG.md by @Hans-Christian in 3fa7d02 +- doc: update CHANGELOG.md for v1.3.19 by @LNDS-Sysadmins in 1c17677 +- Update README.md by @Hans-Christian in 2313ada + + +### Fixed +- fix make retentionperion and temporal visisble by @Hans-christian in 98a84d5 + + ## [v1.3.19] - 2025-09-10 ### Fixed From d52b29fda0cad2bb7e15c41d3615e754af938dab Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Wed, 17 Sep 2025 11:24:07 +0200 Subject: [PATCH 258/284] fix(language) Update version number of userportal --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 976f049d6..fbe5dd6bd 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -11,7 +11,7 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.9.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.10.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 260b72673..c71bbdf9d 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 260b72673b1ccd8970680cc0e1b6e450b7137817 +Subproject commit c71bbdf9d898b64c0e63858a1522b0e9018ec977 From 8769232e7f909b14691a8d10ae0cfcb12814f4af Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Wed, 17 Sep 2025 09:32:44 +0000 Subject: [PATCH 259/284] doc: update CHANGELOG.md for v1.3.21 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3695a9ab3..2cb25bd53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.21] - 2025-09-17 + +### Changed +- doc: update CHANGELOG.md for v1.3.20 by @LNDS-Sysadmins in a1feed0 + + +### Fixed +- fix(language) Update version number of userportal by @Hans-christian in d52b29f + + ## [v1.3.20] - 2025-09-12 ### Added From 82f8938a4057e8ddcd04295eebbd0eba0122218e Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Wed, 17 Sep 2025 13:18:52 +0200 Subject: [PATCH 260/284] patch-userportal-fix-facet --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index fbe5dd6bd..8c68b6080 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -11,7 +11,7 @@ RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.10.0#egg=ckanext-gdi-userportal && \ +RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal && \ pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index c71bbdf9d..6197cd2f4 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit c71bbdf9d898b64c0e63858a1522b0e9018ec977 +Subproject commit 6197cd2f463b84a0cb054031e6a754d1afc5c799 From d1cdb12ad245d4d5429d24e7e54aa1d4871c7dd7 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Wed, 17 Sep 2025 11:25:47 +0000 Subject: [PATCH 261/284] doc: update CHANGELOG.md for v1.3.22 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cb25bd53..b16568ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.22] - 2025-09-17 + +### Changed +- doc: update CHANGELOG.md for v1.3.21 by @LNDS-Sysadmins in 8769232 + + +### Fixed +- patch-userportal-fix-facet by @Hans-christian in 82f8938 + + ## [v1.3.21] - 2025-09-17 ### Changed From 6ead425a1bd54e91c22ac2581049c80d9afdf6bc Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 3 Oct 2025 09:52:45 +0200 Subject: [PATCH 262/284] feat(multilingual) Add multilingual to CKAN --- .env | 4 +-- ckan/Dockerfile | 39 ++++++++++++++++------ ckan/Dockerfile.dev | 38 +++++++++++++++------ ckan/docker-entrypoint.d/setup_scheming.sh | 6 ++-- 4 files changed, 59 insertions(+), 28 deletions(-) diff --git a/.env b/.env index a3106cd89..c9de3c31e 100644 --- a/.env +++ b/.env @@ -49,7 +49,7 @@ CKAN_REDIS_URL=redis://redis:6379/1 CKAN_SOLR_URL=http://solr:8983/solr/ckan # Extensions -CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dataset_series dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fairdatapointharvester activity" +CKAN__PLUGINS="envvars scheming_datasets scheming_organizations gdi_userportal gdi_userportalharvester dcat dataset_series dcat_json_interface harvest ckan_harvester dcat_rdf_harvester dcat_json_harvester fluent fairdatapointharvester activity" CKAN__HARVEST__MQ__HOSTNAME=redis CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 @@ -63,5 +63,3 @@ CKAN___LOGGER_CKANEXT__LEVEL=DEBUG #OTEL OTEL_SDK_DISABLED=true - - diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 8c68b6080..a33bc4d34 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -10,18 +10,35 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan +ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_NO_CACHE_DIR=1 \ + PIP_ROOT_USER_ACTION=ignore \ + PIP_SRC=${APP_DIR}/src -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal && \ - pip3 install -r ${APP_DIR}/src/ckanext-gdi-userportal/requirements.txt && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ - pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ - pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ - pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ - pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint && \ - pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt +RUN set -eux; \ + python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ + python -m pip install --no-cache-dir \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ + -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ + 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint \ + -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ + for requirement in \ + ckanext-gdi-userportal \ + ckanext-dcat \ + ckanext-dataset-series \ + ckanext-harvest \ + ckanext-fairdatapoint \ + ckanext-fluent \ + ; do \ + req_file="${APP_DIR}/src/${requirement}/requirements.txt"; \ + if [ -f "${req_file}" ]; then \ + python -m pip install --no-cache-dir -r "${req_file}"; \ + fi; \ + done; \ + python -m pip check USER root diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index f828c3b89..f2afb44f1 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -10,15 +10,33 @@ USER root RUN chown -R ckan:ckan-sys ${APP_DIR} USER ckan -RUN pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat && \ - pip3 install -r ${APP_DIR}/src/ckanext-dcat/requirements.txt && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series && \ - pip3 install -r ${APP_DIR}/src/ckanext-dataset-series/requirements.txt && \ - pip3 install -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest && \ - pip3 install -r ${APP_DIR}/src/ckanext-harvest/requirements.txt && \ - pip3 install -e git+https://github.com/CivityNL/ckanext-scheming.git@release-3.0.0-civity-1#egg=ckanext-scheming[requirements] && \ - pip3 install -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint && \ - pip3 install -r ${APP_DIR}/src/ckanext-fairdatapoint/requirements.txt +ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ + PIP_NO_CACHE_DIR=1 \ + PIP_ROOT_USER_ACTION=ignore \ + PIP_SRC=${APP_DIR}/src + +RUN set -eux; \ + python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ + python -m pip install --no-cache-dir \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ + -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ + 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint \ + -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ + for requirement in \ + ckanext-dcat \ + ckanext-dataset-series \ + ckanext-harvest \ + ckanext-fairdatapoint \ + ckanext-fluent \ + ; do \ + req_file="${APP_DIR}/src/${requirement}/requirements.txt"; \ + if [ -f "${req_file}" ]; then \ + python -m pip install --no-cache-dir -r "${req_file}"; \ + fi; \ + done; \ + python -m pip check USER root @@ -58,4 +76,4 @@ RUN for d in $APP_DIR/patches/*; do \ cd $SRC_DIR/`basename "$d"` && echo "$0: Applying patch $f to $SRC_DIR/`basename $d`"; patch -p1 < "$f" ; \ done ; \ fi ; \ - done \ No newline at end of file + done diff --git a/ckan/docker-entrypoint.d/setup_scheming.sh b/ckan/docker-entrypoint.d/setup_scheming.sh index 0bdd59f97..f578c7e42 100644 --- a/ckan/docker-entrypoint.d/setup_scheming.sh +++ b/ckan/docker-entrypoint.d/setup_scheming.sh @@ -7,10 +7,8 @@ # Update the config file with each extension config-options echo "[ckanext-scheming] Setting up config-options" ckan config-tool $CKAN_INI -s app:main \ - "scheming.dataset_schemas = ckanext.dcat.schemas:health_dcat_ap.yaml ckanext.gdi_userportal:scheming/schemas/gdi_userportal.yaml ckanext.dcat.schemas:dcat_ap_dataset_series.yaml" \ - "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml ckanext.dataset_series.schemas:presets.yaml" \ + "scheming.dataset_schemas = ckanext.gdi_userportal:scheming/schemas/dataset_multilingual.yaml ckanext.gdi_userportal:scheming/schemas/dataset_series_multilingual.yaml" \ + "scheming.presets = ckanext.scheming:presets.json ckanext.dcat.schemas:presets.yaml ckanext.fluent:presets.json ckanext.gdi_userportal:scheming/presets/gdi_presets.yaml ckanext.dataset_series.schemas:presets.yaml" \ "scheming.dataset_fallback = false" \ "ckanext.dcat.rdf.profiles = fairdatapoint_dcat_ap" \ "ckanext.dcat.compatibility_mode = false" - - From 97f622eaa20b506ff6f19fa5fa59e5dd33147aed Mon Sep 17 00:00:00 2001 From: Quinten Date: Fri, 3 Oct 2025 09:57:26 +0200 Subject: [PATCH 263/284] Add BioPortal API key support for FAIRDataPoint Introduces CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY to .env and updates start scripts to inject the key into CKAN config if set. This enables integration with BioPortal for FAIRDataPoint extension. --- .env | 1 + ckan/setup/start_ckan.sh | 6 ++++++ ckan/setup/start_ckan_development.sh | 6 ++++++ 3 files changed, 13 insertions(+) diff --git a/.env b/.env index c9de3c31e..4b92a1299 100644 --- a/.env +++ b/.env @@ -55,6 +55,7 @@ CKAN__HARVEST__MQ__PORT=6379 CKAN__HARVEST__MQ__REDIS_DB=1 CKAN__HARVEST__MQ__PASSWORD= CKAN__HARVEST__MQ__TYPE=redis +CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY=YOUR_API_KEY_HERE #Logger CKAN___DEBUG=true diff --git a/ckan/setup/start_ckan.sh b/ckan/setup/start_ckan.sh index a914ac180..4b8aa2514 100755 --- a/ckan/setup/start_ckan.sh +++ b/ckan/setup/start_ckan.sh @@ -24,6 +24,12 @@ then ckan config-tool $CKAN_INI "ckan.harvest.s3_rdf.aws_secret_key=${CKAN_HARVEST_S3_RDF_AWS_SECRET_KEY}" fi +if [[ -n "${CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY:-}" ]] +then + echo "Adding bioportal_api_key to ini file." + ckan config-tool $CKAN_INI "ckanext.fairdatapoint.bioportal_api_key=${CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY}" +fi + # Run the prerun script to init CKAN and create the default admin user python3 prerun.py diff --git a/ckan/setup/start_ckan_development.sh b/ckan/setup/start_ckan_development.sh index 3a868f205..290315a28 100755 --- a/ckan/setup/start_ckan_development.sh +++ b/ckan/setup/start_ckan_development.sh @@ -20,6 +20,12 @@ then ckan config-tool $CKAN_INI "api_token.jwt.decode.secret=${JWT_SECRET}" fi +if [[ -n "${CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY:-}" ]] +then + echo "Adding bioportal_api_key to ini file." + ckan config-tool $CKAN_INI "ckanext.fairdatapoint.bioportal_api_key=${CKANEXT_FAIRDATAPOINT_BIOPORTAL_API_KEY}" +fi + # Update the plugins setting in the ini file with the values defined in the env var echo "Loading the following plugins: $CKAN__PLUGINS" ckan config-tool $CKAN_INI "ckan.plugins = $CKAN__PLUGINS" From a492651cbfae3123193cddd6c5b529fecc621050 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 3 Oct 2025 10:11:03 +0200 Subject: [PATCH 264/284] bump fdp version --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index a33bc4d34..96a5ef805 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -23,7 +23,7 @@ RUN set -eux; \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.1#egg=ckanext-fairdatapoint \ -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ for requirement in \ ckanext-gdi-userportal \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index f2afb44f1..149fd274c 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -22,7 +22,7 @@ RUN set -eux; \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.0#egg=ckanext-fairdatapoint \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.1#egg=ckanext-fairdatapoint \ -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ for requirement in \ ckanext-dcat \ From 94fbb961320f6ee3e7117a341dc545a84cca38f7 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 3 Oct 2025 11:22:24 +0200 Subject: [PATCH 265/284] fix release --- .github/workflows/release.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7e20c24e4..c975ae853 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -57,9 +57,9 @@ jobs: echo "Updating : $INCREMENT version" case "$INCREMENT" in - major) ((MAJOR++)); MINOR=0; PATCH=0 ;; - minor) ((MINOR++)); PATCH=0 ;; - patch|*) ((PATCH++)) ;; + major) MAJOR=$((MAJOR + 1)); MINOR=0; PATCH=0 ;; + minor) MINOR=$((MINOR + 1)); PATCH=0 ;; + patch|*) PATCH=$((PATCH + 1)) ;; esac NEW_TAG="v$MAJOR.$MINOR.$PATCH" From f9039fa393cdcddd3a922552eebb60be543d77de Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 3 Oct 2025 14:44:55 +0200 Subject: [PATCH 266/284] update dcat extension --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 96a5ef805..ac23a11c2 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -19,7 +19,7 @@ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.4#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 149fd274c..fb7db3013 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.3#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.4#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ From 5ac03e0cf1d9daf8dd82de6757ea41902f7af0f7 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Fri, 3 Oct 2025 16:03:51 +0200 Subject: [PATCH 267/284] patch dcat --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ac23a11c2..6262e3114 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -19,7 +19,7 @@ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.4#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index fb7db3013..0756f0ba2 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.4#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ From 82734ba49cc781ccac4047960877b3e624009117 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Tue, 7 Oct 2025 10:57:16 +0200 Subject: [PATCH 268/284] Patch version of userportal --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 6262e3114..4c25806ca 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.0#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.1#egg=ckanext-gdi-userportal \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 6197cd2f4..0652b06cd 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 6197cd2f463b84a0cb054031e6a754d1afc5c799 +Subproject commit 0652b06cd25fb730201f02f9cb9ee9c7e5db305c From 9304f7faa971ea9b3d7492baf2ef7e2cb6f822ef Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Tue, 7 Oct 2025 13:24:13 +0000 Subject: [PATCH 269/284] doc: update CHANGELOG.md for v1.3.23 --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b16568ae7..370ee1444 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.23] - 2025-10-07 + +### Added +- feat(multilingual) Add multilingual to CKAN by @Hans-christian in 6ead425 + + +### Changed +- Patch version of userportal by @Hans-christian in 82734ba +- update dcat extension by @Hans-christian in f9039fa +- bump fdp version by @Hans-christian in a492651 +- Add BioPortal API key support for FAIRDataPoint by @Quinten in 97f622e +- doc: update CHANGELOG.md for v1.3.22 by @LNDS-Sysadmins in d1cdb12 + + +### Fixed +- patch dcat by @Hans-christian in 5ac03e0 +- fix release by @Hans-christian in 94fbb96 + + ## [v1.3.22] - 2025-09-17 ### Changed From 23560bb84137e14a39fc8fe773d93014af5cf4db Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Wed, 8 Oct 2025 10:51:59 +0200 Subject: [PATCH 270/284] fix(version-notes) Patch for version notes (#207) * fix(version-notes) Patch for version notes * Apply suggestion from @kburger Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --------- Co-authored-by: Hans-christian Co-authored-by: kburger <6997485+kburger@users.noreply.github.com> --- .gitignore | 3 ++- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6f4cb51e7..6ff49d7cd 100755 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ _solr/schema.xml _src/* local/* venv -.env.secrets \ No newline at end of file +.env.secrets +.idea diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 4c25806ca..ffc6439cd 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.1#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.2#egg=ckanext-gdi-userportal \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 0652b06cd..fd0149b81 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 0652b06cd25fb730201f02f9cb9ee9c7e5db305c +Subproject commit fd0149b81be9aa30b83e3e46bba524de2f7abb50 From b307e5f8965fcfd7c2f631426f4133153c0ef838 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Wed, 8 Oct 2025 08:57:35 +0000 Subject: [PATCH 271/284] doc: update CHANGELOG.md for v1.3.24 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 370ee1444..9516eb2fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.24] - 2025-10-08 + +### Changed +- doc: update CHANGELOG.md for v1.3.23 by @LNDS-Sysadmins in 9304f7f + + +### Fixed +- fix(version-notes) Patch for version notes (#207) by @Hans-Christian in 23560bb + + ## [v1.3.23] - 2025-10-07 ### Added From 67b084379cbd45ce2123c91878189b4306f57186 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Thu, 9 Oct 2025 21:59:02 +0200 Subject: [PATCH 272/284] fix(spatial) Fix to make spatial coverage work --- ckan/Dockerfile | 2 +- src/ckanext-gdi-userportal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ffc6439cd..ba895df19 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.2#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.3#egg=ckanext-gdi-userportal \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index fd0149b81..5112518b3 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit fd0149b81be9aa30b83e3e46bba524de2f7abb50 +Subproject commit 5112518b3773a5a823b38ddef4d139384e1057d2 From d1d7637eef6ed3a00a3b61fc860c3b9d89efae02 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Fri, 10 Oct 2025 08:06:05 +0000 Subject: [PATCH 273/284] doc: update CHANGELOG.md for v1.3.25 --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 370ee1444..73ec1cef3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.25] - 2025-10-10 + +### Fixed +- fix(spatial) Fix to make spatial coverage work by @Hans-christian in 67b0843 + + ## [v1.3.23] - 2025-10-07 ### Added From ec30b57624c8ba5c625e9f79a3116f3750ce0e71 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 10 Oct 2025 11:05:31 +0000 Subject: [PATCH 274/284] chore(deps): update fsfe/reuse-action action to v6 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index beed23c9d..f9fe9a76e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v5 - name: REUSE Compliance Check - uses: fsfe/reuse-action@v5 + uses: fsfe/reuse-action@v6 From 5d5a019a95e03a04f350eb942ed51a4bd4e71a45 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Mon, 20 Oct 2025 15:53:54 +0200 Subject: [PATCH 275/284] Fix version notes entry in CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b71e66fee..f8d54860d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,7 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- fix(version-notes) Patch for version notes (#207) by @Hans-Christian in 23560b +- fix(version-notes) Patch for version notes (#207) by @Hans-Christian in 23560bb ## [v1.3.23] - 2025-10-07 From e93bdca7334deb3c1b504512e8a0092194fe0c24 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Mon, 20 Oct 2025 16:02:22 +0200 Subject: [PATCH 276/284] fix(status-ontology) status distribution validates agains wrong ontology --- ckan/Dockerfile | 4 ++-- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index ba895df19..466d07c3e 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,8 +18,8 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.3#egg=ckanext-gdi-userportal \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.4#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.6#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 0756f0ba2..d2da14d10 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.5#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.6#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 5112518b3..518b83bd8 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 5112518b3773a5a823b38ddef4d139384e1057d2 +Subproject commit 518b83bd8c2d44d16f0e5cef27091ce66d577369 From 6fc577ccfefcfae366dd70e71f2f614f820a5ac7 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Mon, 20 Oct 2025 14:10:38 +0000 Subject: [PATCH 277/284] doc: update CHANGELOG.md for v1.3.26 --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8d54860d..db395e098 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,19 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.26] - 2025-10-20 + +### Changed +- Fix version notes entry in CHANGELOG.md by @Hans-Christian in 5d5a019 +- chore(deps): update fsfe/reuse-action action to v6 by @Renovate Bot in ec30b57 +- doc: update CHANGELOG.md for v1.3.25 by @LNDS-Sysadmins in d1d7637 +- doc: update CHANGELOG.md for v1.3.24 by @LNDS-Sysadmins in b307e5f + + +### Fixed +- fix(status-ontology) status distribution validates agains wrong ontology by @Hans-christian in e93bdca + + ## [v1.3.25] - 2025-10-10 ### Fixed From a0a34d4a593ba10c14e1eea44368150decc283dd Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Mon, 20 Oct 2025 15:05:55 +0000 Subject: [PATCH 278/284] chore(deps): update docker.io/postgres docker tag to v18 --- postgresql/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/postgresql/Dockerfile b/postgresql/Dockerfile index 97950dc55..114e8e1e0 100755 --- a/postgresql/Dockerfile +++ b/postgresql/Dockerfile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: AGPL-3.0-only -FROM docker.io/postgres:17-alpine +FROM docker.io/postgres:18-alpine # Include extra setup scripts (eg datastore) COPY --chown=postgres:postgres docker-entrypoint-initdb.d /docker-entrypoint-initdb.d From 9811c0ae34f8da7794dcf47f37ea3e72a44cfd44 Mon Sep 17 00:00:00 2001 From: Hans-Christian Date: Tue, 21 Oct 2025 11:03:03 +0200 Subject: [PATCH 279/284] Update CHANGELOG.md --- CHANGELOG.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db395e098..e93dde54b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,11 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [v1.3.26] - 2025-10-20 ### Changed -- Fix version notes entry in CHANGELOG.md by @Hans-Christian in 5d5a019 - chore(deps): update fsfe/reuse-action action to v6 by @Renovate Bot in ec30b57 -- doc: update CHANGELOG.md for v1.3.25 by @LNDS-Sysadmins in d1d7637 -- doc: update CHANGELOG.md for v1.3.24 by @LNDS-Sysadmins in b307e5f - ### Fixed - fix(status-ontology) status distribution validates agains wrong ontology by @Hans-christian in e93bdca @@ -32,10 +28,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [v1.3.24] - 2025-10-08 -### Changed -- doc: update CHANGELOG.md for v1.3.23 by @LNDS-Sysadmins in 9304f7f - - ### Fixed - fix(version-notes) Patch for version notes (#207) by @Hans-Christian in 23560bb @@ -51,20 +43,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - update dcat extension by @Hans-christian in f9039fa - bump fdp version by @Hans-christian in a492651 - Add BioPortal API key support for FAIRDataPoint by @Quinten in 97f622e -- doc: update CHANGELOG.md for v1.3.22 by @LNDS-Sysadmins in d1cdb12 - - -### Fixed -- patch dcat by @Hans-christian in 5ac03e0 -- fix release by @Hans-christian in 94fbb96 ## [v1.3.22] - 2025-09-17 -### Changed -- doc: update CHANGELOG.md for v1.3.21 by @LNDS-Sysadmins in 8769232 - - ### Fixed - patch-userportal-fix-facet by @Hans-christian in 82f8938 From c215a0135767496a22db2820eae8d8389d238e89 Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Tue, 21 Oct 2025 11:09:10 +0200 Subject: [PATCH 280/284] fix(fdp-harvest) fix harvesting of dct:status --- ckan/Dockerfile | 2 +- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 466d07c3e..dfab7b0a6 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -23,7 +23,7 @@ RUN set -eux; \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.1#egg=ckanext-fairdatapoint \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.3#egg=ckanext-fairdatapoint \ -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ for requirement in \ ckanext-gdi-userportal \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index d2da14d10..946312b9e 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -22,7 +22,7 @@ RUN set -eux; \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.1#egg=ckanext-fairdatapoint \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.3#egg=ckanext-fairdatapoint \ -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ for requirement in \ ckanext-dcat \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index 518b83bd8..e1f414b79 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit 518b83bd8c2d44d16f0e5cef27091ce66d577369 +Subproject commit e1f414b79d50a50b7e135bc4a13a7dc9cf1fb861 From ec37e7d83650b04723566fc8c0125f4a5c511a70 Mon Sep 17 00:00:00 2001 From: LNDS-Sysadmins Date: Tue, 21 Oct 2025 09:23:47 +0000 Subject: [PATCH 281/284] doc: update CHANGELOG.md for v1.3.27 --- CHANGELOG.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e93dde54b..1c354ad6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.3.27] - 2025-10-21 + +### Changed +- Update CHANGELOG.md by @Hans-Christian in 9811c0a +- doc: update CHANGELOG.md for v1.3.26 by @LNDS-Sysadmins in 6fc577c + + +### Fixed +- fix(fdp-harvest) fix harvesting of dct:status by @Hans-christian in c215a01 + + ## [v1.3.26] - 2025-10-20 ### Changed From 9f49fa91bdbe50af8bb29af4a1160bf8f726dc9b Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Wed, 22 Oct 2025 10:14:55 +0200 Subject: [PATCH 282/284] fix(status) fix status display to frond end --- ckan/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index dfab7b0a6..01da3f5a8 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.4#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.5#egg=ckanext-gdi-userportal \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.6#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ From 2fadecc180d00cf65716f3bf08abfe86dc972dff Mon Sep 17 00:00:00 2001 From: Hans-christian Date: Thu, 30 Oct 2025 13:21:57 +0100 Subject: [PATCH 283/284] fix(qualified-attribution) patch ckan --- ckan/Dockerfile | 4 ++-- ckan/Dockerfile.dev | 2 +- src/ckanext-gdi-userportal | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ckan/Dockerfile b/ckan/Dockerfile index 01da3f5a8..b33b18195 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -18,8 +18,8 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.5#egg=ckanext-gdi-userportal \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.6#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-gdi-userportal.git@v1.11.6#egg=ckanext-gdi-userportal \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.7#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 946312b9e..23ab5fbe6 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -18,7 +18,7 @@ ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ RUN set -eux; \ python -m pip install --upgrade --no-cache-dir pip setuptools wheel; \ python -m pip install --no-cache-dir \ - -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.6#egg=ckanext-dcat \ + -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dcat.git@v2.3.7#egg=ckanext-dcat \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-dataset-series.git@v1.0.0#egg=ckanext-dataset-series \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ diff --git a/src/ckanext-gdi-userportal b/src/ckanext-gdi-userportal index e1f414b79..4af949f67 160000 --- a/src/ckanext-gdi-userportal +++ b/src/ckanext-gdi-userportal @@ -1 +1 @@ -Subproject commit e1f414b79d50a50b7e135bc4a13a7dc9cf1fb861 +Subproject commit 4af949f67b47426d5bcb8cbe9f18e1139d84720e From 58b8cb06708d39bb783910c35720dd0bd05b1f6c Mon Sep 17 00:00:00 2001 From: Rania Hamdani Date: Mon, 10 Nov 2025 13:58:42 +0100 Subject: [PATCH 284/284] chore: snyk Vulnerabilities --- .env | 2 +- ckan/Dockerfile | 11 +++++++++-- ckan/Dockerfile.dev | 7 +++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.env b/.env index 4b92a1299..17fe0bfbd 100644 --- a/.env +++ b/.env @@ -42,7 +42,7 @@ TZ=Europe/Amsterdam CKAN__LOCALE_DEFAULT=en # Redis -REDIS_VERSION=7.4.2 +REDIS_VERSION=7.4.6 CKAN_REDIS_URL=redis://redis:6379/1 # Solr diff --git a/ckan/Dockerfile b/ckan/Dockerfile index b33b18195..dd190b349 100644 --- a/ckan/Dockerfile +++ b/ckan/Dockerfile @@ -24,7 +24,7 @@ RUN set -eux; \ -e git+https://github.com/ckan/ckanext-harvest.git@v1.6.1#egg=ckanext-harvest \ 'ckanext-scheming[requirements] @ git+https://github.com/ckan/ckanext-scheming.git@release-3.1.0' \ -e git+https://github.com/GenomicDataInfrastructure/gdi-userportal-ckanext-fairdatapoint.git@v1.6.3#egg=ckanext-fairdatapoint \ - -e git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent; \ + -e git+https://github.com/ckan/ckanext-fluent.git@v1.5.0#egg=ckanext-fluent; \ for requirement in \ ckanext-gdi-userportal \ ckanext-dcat \ @@ -43,10 +43,17 @@ RUN set -eux; \ USER root ### Install everything we need for the harvester -# Install cron and supervisor. +# Install cron and supervisor. RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ supervisor \ + && apt-get install -y --only-upgrade \ + libexpat1 \ + libgnutls30 \ + libpam-runtime \ + libsqlite3-0 \ + perl \ + zlib1g \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d diff --git a/ckan/Dockerfile.dev b/ckan/Dockerfile.dev index 23ab5fbe6..9ece5c53a 100644 --- a/ckan/Dockerfile.dev +++ b/ckan/Dockerfile.dev @@ -45,6 +45,13 @@ USER root RUN apt-get update && apt-get install -y --no-install-recommends \ cron \ supervisor \ + && apt-get install -y --only-upgrade \ + libexpat1 \ + libgnutls30 \ + libpam-runtime \ + libsqlite3-0 \ + perl \ + zlib1g \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p /var/log/ckan/std /var/log/supervisor /etc/supervisor/conf.d \ && chown -R ckan:ckan-sys /var/log/ckan /var/log/supervisor /etc/supervisor/conf.d