Issue #160 got me thinking about our use of type coercion in contexts. Namely where we state, intentionally or not, that we want values to always be URIs (by reference only in old-school GML speak). Basically, our use of object stubs for references is incompatible with corcing a value to be an @id.
To over-explain. In a bunch of cases in our contexts we say the value has to be a IRI, e.g (from elf-sosa-sample.jsonld):
Issue #160 got me thinking about our use of type coercion in contexts. Namely where we state, intentionally or not, that we want values to always be URIs (by reference only in old-school GML speak). Basically, our use of object stubs for references is incompatible with corcing a value to be an @id.
To over-explain. In a bunch of cases in our contexts we say the value has to be a IRI, e.g (from elf-sosa-sample.jsonld):
If I understand correct, the expected value would be something like:
Our approach for links is not actually an IRI, but a stub:
Has this inconsistency caused trouble?
My preference would be to fix the context documents to only use literal bindings (no typing) to keys
and only use type coercion when we want the value to be a literal IRI, most likely a URL: