Currently, we get errors when validating datasets which use prefixes not defined in our schema/prefix map. This happens even if we have them defined in the rdf_type: field, since we have defined that rdf_type has a range of DefinedTerm which in return has as range uriorcurie and which therefore tries to resolve curies to there respective uri in the linkML pipeline.
There are many possible fixes, however most come with caveates worth discussing.
- add into the documentation that one can include additional prefixes into converters and test pipelines
uv run linkml-run-examples --prefixmap additional_prefixes.yaml --input-formats json --input-formats yaml --output-formats json --output-formats yaml --counter-example-input-directory tests/data/invalid --input-directory tests/data/valid --output-directory examples/output --schema src/dcat_ap_plus/schema/dcat_ap_plus.yaml > examples/output/README.md
--> error prone, espacially in the backend of developers/server maintainers, since each new prefix would need to be logged. This in return leads to issues when exhanging datasets, since the respective prefixes would need to be exchanged as well.
- change the range of DefinedTerm to either plain
stringor to string or uriorcurie (which might still cause issues due to it trying to resolve into a uri) --> loss of expresivity and bad handling in LinkML-rdf-converter
- generate an extensive prefix-map based on e.g. the semantic farm
--> unregisteres prefixes would still resolve in errors, but at least more standatizaiton as option one
optimal solution: declare prefixes in datasets itself. I would not know how to do this as of now.
Currently, we get errors when validating datasets which use prefixes not defined in our schema/prefix map. This happens even if we have them defined in the
rdf_type:field, since we have defined thatrdf_typehas a range ofDefinedTermwhich in return has as rangeuriorcurieand which therefore tries to resolve curies to there respective uri in the linkML pipeline.There are many possible fixes, however most come with caveates worth discussing.
uv run linkml-run-examples --prefixmap additional_prefixes.yaml --input-formats json --input-formats yaml --output-formats json --output-formats yaml --counter-example-input-directory tests/data/invalid --input-directory tests/data/valid --output-directory examples/output --schema src/dcat_ap_plus/schema/dcat_ap_plus.yaml > examples/output/README.md--> error prone, espacially in the backend of developers/server maintainers, since each new prefix would need to be logged. This in return leads to issues when exhanging datasets, since the respective prefixes would need to be exchanged as well.
stringor tostring or uriorcurie(which might still cause issues due to it trying to resolve into a uri) --> loss of expresivity and bad handling in LinkML-rdf-converter--> unregisteres prefixes would still resolve in errors, but at least more standatizaiton as option one
optimal solution: declare prefixes in datasets itself. I would not know how to do this as of now.