geonetwork / geonetwork/core-geonetwork

Support for getting thesaurus concept definitions from `skos:definition` instead of `skos:scopeNote`

Open
#8,926 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Java
Stars
521
Forks
515
Avg merge
6d 13h
Merged PRs (30d)
19

Description

I can see that the definitions of concepts in thesauri in SKOS format are retrieved from `skos:scopeNote`, both by testing and by looking at:

https://github.com/geonetwork/core-geonetwork/blob/025ac3428f69cd5f488aa3fb763b3d04e7d39379/core/src/main/java/org/fao/geonet/kernel/Thesaurus.java#L413-L437

https://github.com/geonetwork/core-geonetwork/blob/025ac3428f69cd5f488aa3fb763b3d04e7d39379/core/src/main/java/org/fao/geonet/kernel/KeywordBean.java#L557-L578

https://github.com/geonetwork/core-geonetwork/blob/025ac3428f69cd5f488aa3fb763b3d04e7d39379/web/src/main/webapp/xslt/services/thesaurus/registry-to-skos.xsl#L182-L199

Many existing registers of code lists store the concept definitions in `skos:definition`, not in `skos:scopeNote`, and do not use `skos:scopeNote` at all.

Examples:

* The RDF encodings of the INSPIRE code lists, https://inspire.ec.europa.eu/metadata-codelist and https://inspire.ec.europa.eu/codelist
* The RDF encodings of the ISO TC 211 code lists, https://defs.opengis.net/prez/catalogs/ogc-cat:hosted/col/tc211:
* The RDF encodings of the controlled vocabularies of the EU, see https://op.europa.eu/en/web/eu-vocabularies (see e.g. https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/data-theme and https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/dataset-status
* The RDF encodings of the vocabularies of the Australian Government Linked Data Working Group, see https://vocabs.ga.gov.au/, see https://catalogue.linked.data.gov.au/vocabularies

As a consequence, to see concept definitions in the GeoNetwork GUI,

* existing vocabularies have to be adapted before import
* new vocabularies for use in GeoNetwork have to be created in a way that does not comply with good practices for SKOS concepts.

Would it be possible to update the functionality so that the contents of `skos:definition` is used instead of `skos:scopeNote`? For compatibility reasons, perhaps use `skos:definition` in the absence of `skos:scopeNote`?

In any case, it would be great to have the expected properties of SKOS documented on https://docs.geonetwork-opensource.org/4.4/administrator-guide/managing-classification-systems/managing-thesaurus/.

Contributor guide

Open the contributing guide

Research direction

Start by reading the referenced sections of core/src/main/java/org/fao/geonet/kernel/Thesaurus.java, KeywordBean.java, and web/src/main/webapp/xslt/services/thesaurus/registry-to-skos.xsl. Check how the current tests exercise thesaurus definitions, then verify that definitions from skos:definition are used when skos:scopeNote is absent while existing scope notes remain compatible. Update the managing-thesaurus documentation with the expected SKOS properties.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, xml
Domain
backend, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.