IQSS / IQSS/dataverse

external vocab: for free text, Dataverse reaches out to skosmos when it shouldn't

Open
#9,335 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

GREI 2 Type: Bug
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:

Screen Shot 2023-01-26 at 3 37 23 PM

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:

Screen Shot 2023-01-26 at 3 40 04 PM
Screen Shot 2023-01-26 at 3 40 42 PM

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.