FAIR-MI / miiid-schema

A metadata schema for the Minimum Information about Intermicrobial Interaction Data (MIIID) using LinkML
https://fair-mi.github.io/miiid-schema/
GNU General Public License v3.0
3 stars 0 forks source link

Inlining does not preserve data integrity #2

Closed cpauvert closed 1 year ago

cpauvert commented 1 year ago

Using the toy example of interaction data: https://github.com/FAIR-MI/miiid-schema/blob/23a565a843aec06f6073bbf0bb3e559911480d99/examples/IntermicrobialInteraction-001.yaml

cd miiid-schema/examples
poetry shell
# YAML -> TSV
linkml-convert -o IntermicrobialInteraction-001.tsv -s ../src/miiid_schema/schema/miiid_schema.yaml IntermicrobialInteraction-001.yaml

The data was "understood" but the formatting is not great. Plus, the fields are repeated (tax_id..)

#  IntermicrobialInteraction-001.tsv
id  participants    evidence_type   reference
example:IntermicrobialInteraction001    [{'name': 'Acidobacteria', 'tax_id': 57723}|{'name': 'Gammaproteobacteria', 'tax_id': 1236}]    high throughput evidence used in automatic assertion    https://doi.org/10.1038/ismej.2011.119

But when converting back to YAML

# TSV -> YAML
linkml-convert -o IntermicrobialInteraction-001-from-tsv.yaml -s ../src/miiid_schema/schema/miiid_schema.yaml IntermicrobialInteraction-001.tsv
#  IntermicrobialInteraction-001-from-tsv.yaml
entries:
- id: example:IntermicrobialInteraction001
  participants:
  - '{''name'': ''Acidobacteria'', ''tax_id'': 57723}'
  - '{''name'': ''Gammaproteobacteria'', ''tax_id'': 1236}'
  evidence_type: high throughput evidence used in automatic assertion
  reference: https://doi.org/10.1038/ismej.2011.119

It is interpreted as a string..