FAIRplus / FAIR_wizard

https://www.ebi.ac.uk/ait/fair-wizard/
Apache License 2.0
2 stars 0 forks source link

fix wrong relatesTo references #44

Closed theisuru closed 2 years ago

theisuru commented 3 years ago

Currently resource connections are defined using the name. Instead it should use resource URL (IDs) to define relationships. See below examples of wrong and right usage.

Incorrect relationship definition

<fw:Process-interoperability-requirements>
  fw:description
                  "Determine interoperability requirement for dataset (e,g, consumption of data for downstream analysis)" ;
  fw:labels       ( "vocabularies" "vocabulary" ) ;
  fw:lastUpdate   "2021-05-21" ;
  fw:location
                  "https://www.imi.europa.eu/sites/default/files/styles/news_block_sticky_image/public/uploads/images/news-events/Newsroom/FAIRification-process-Nov-2019.png?itok=TcwtRYTQ" ;
  fw:name         "interoperability requirements" ;
  fw:resourceType "Process" .

<fw:Process-ontology-annotation>
  fw:description
                  "The process of linking free text or data items to tokens (defined terms from a lexicon) which provide semantic value. For example, type 2 diabetes can be annotated with corresponding term in the MONDO disease ontology." ;
  fw:labels       ( "vocabulary" ) ;
  fw:lastUpdate   "2021-05-24" ;
  fw:name         "ontology annotation" ;
  fw:relatesTo    ( "interoperability requirements" ) ;
  fw:resourceType "Process" .

Instead relatesTo should use resource URL to define the relationship.

<fw:Process-interoperability-requirements>
  fw:description
                  "Determine interoperability requirement for dataset (e,g, consumption of data for downstream analysis)" ;
  fw:labels       ( "vocabularies" "vocabulary" ) ;
  fw:lastUpdate   "2021-05-21" ;
  fw:location
                  "https://www.imi.europa.eu/sites/default/files/styles/news_block_sticky_image/public/uploads/images/news-events/Newsroom/FAIRification-process-Nov-2019.png?itok=TcwtRYTQ" ;
  fw:name         "interoperability requirements" ;
  fw:resourceType "Process" .

<fw:Process-ontology-annotation>
  fw:description
                  "The process of linking free text or data items to tokens (defined terms from a lexicon) which provide semantic value. For example, type 2 diabetes can be annotated with corresponding term in the MONDO disease ontology." ;
  fw:labels       ( "vocabulary" ) ;
  fw:lastUpdate   "2021-05-24" ;
  fw:name         "ontology annotation" ;
  fw:relatesTo    ( <fw:Process-interoperability-requirements> ) ;
  fw:resourceType "Process" .
mcourtot commented 3 years ago

Should this be a numerical ID? It may be easier to have a small controlled vocabulary and then be free to update labels etc. The string handling is also never quite as elegant.

FuqiX commented 3 years ago

It seems some relatesTo were not correctly annotated. I will fix that. There are correct ones, e.g.

<fw:Recipe-how-to-check-intactness-of-files-by-validating-checksums>
  fw:lastUpdate   "2021-06-30" ;
  fw:location     "https://fairplus.github.io/the-fair-cookbook/content/recipes/findability/checksum-validate.html" ;
  fw:name         "How to check intactness of files by validating checksums" ;
  fw:description "Confirming the identity of two different files may be achieved by calculating a so-called “checksum” of the file in the source system, calculating the checksum in the target system, and comparing the outputs.";
  fw:labels       ( "validation" "data sharing" ) ;
  fw:relatesTo    (<fw:Tool-md5sum>);
  fw:resourceType "Recipe" .

will this be enough for testing in #42 ? @theisuru

FuqiX commented 3 years ago

@mcourtot numerical IDs are not ideal for curation. we were planning to use the EDAM terms as CV for labels

theisuru commented 3 years ago

@FuqiX Currently if relationships are not pointing to correct resources there are errors, ultimatley rendering correct UI. I also have to handle these errors gracefully.