isamplesorg / isamples_inabox

Provides functionality intermediate to a collection and central
0 stars 1 forks source link

Formalize relationship between vocabularies repo and iSB usage of vocabularies #302

Open dannymandel opened 1 year ago

dannymandel commented 1 year ago

Currently, I made manual copies of the .txt files in https://raw.githubusercontent.com/isamplesorg/vocabularies/develop/docs/ over to the iSB repo. We should probably write a GitHub workflow that will regenerate the text files and recopy them over to iSB so that we are always using the most up to date version.

Alternatively, we could import the repo directly and import the python rdflib and use that directly.

dannymandel commented 1 year ago

@datadavev what do you suggest here? @smrgeoinfo how did you generate the tab delimited text files you checked in yesterday?

dannymandel commented 1 year ago

The text files are here:

https://github.com/isamplesorg/vocabularies/blob/develop/docs/materialType.txt https://github.com/isamplesorg/vocabularies/blob/develop/docs/sampledfeature.txt https://github.com/isamplesorg/vocabularies/blob/develop/docs/specimentType.txt

datadavev commented 1 year ago

How are the txt files being used? If these are to be treated as configuration files, then perhaps it is appropriate to retrieve them from the source of truth as part of the deployment process?

smrgeoinfo commented 1 year ago

They were generated via a pretty simple sparql query and exported from TopBraid composer. I bet it wouldn't be hard to generate a python function to pull this from the ttl. files in https://github.com/isamplesorg/vocabularies/tree/{releaselabel}/src.

here's the query

prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix mat: <https://w3id.org/isample/vocabulary/material/0.9/> 
prefix sf: <https://w3id.org/isample/vocabulary/sampledfeature/0.9/>
prefix spec: <https://w3id.org/isample/vocabulary/specimentype/0.9/>

select  ?s ?lab ?def
WHERE {
?s a skos:Concept;
    skos:prefLabel ?lab ;
  skos:definition ?def .
}
dannymandel commented 1 year ago

Per discussion with @datadavev -- we want to store all the vocabularies in the database and he will provide an API for us to use against them. This is what we are currently using against the dumped values that @smrgeoinfo provided: https://github.com/isamplesorg/isamples_inabox/pull/311/files#diff-0cb47380b642ff8434f05237afb8fc42c6b7510f1306efc57281055341817dc3