external vocab: for free text, Dataverse reaches out to skosmos when it shouldn't
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.1k
- Forks
- 564
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 29
Description
While working on the following issue...
- #9150
... I played around with the skosmos at https://github.com/gdcc/dataverse-external-vocab-support
It allows you to enter free text such "asdf" in this screenshot:

Entering free text like this is a supported feature but it results in Dataverse reaching out to non existent URLs like https://skosmos.dev.finto.fi/rest/v1/data?uri=asdf according to server.log:
[2023-01-26T15:17:08.069-0500] [Payara 5.2022.3] [WARNING] [] [edu.harvard.iq.dataverse.DatasetFieldServiceBean] [tid: _ThreadID=118 _ThreadName=http-thread-pool::http-listener-1(1)] [timeMillis: 1674764228069] [levelValue: 900] [[
No external vocab value for uri: asdf]]
[2023-01-26T15:17:08.817-0500] [Payara 5.2022.3] [SEVERE] [] [edu.harvard.iq.dataverse.DatasetFieldServiceBean] [tid: _ThreadID=118 _ThreadName=http-thread-pool::http-listener-1(1)] [timeMillis: 1674764228817] [levelValue: 1000] [[
Received response code : 404 when retrieving https://skosmos.dev.finto.fi/rest/v1/data?uri=asdf : 404 Bad Request : no concept found with given uri]]
Here are a couple more screenshots of how the values look with and without :CVocConf enabled:


Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the DatasetFieldServiceBean entry point named in the server log and reproduce the free-text case using the external vocabulary configuration described in the issue. Inspect the request to the Skosmos /rest/v1/data endpoint and verify that free-text values no longer trigger that lookup, while vocabulary values still do.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100