Description
Hi all, second issue, and again, great work!
The background is the same as here: #240, I implemented the VERSION announcement.
While implementing it, I found choosing to use a string for the version a peculiar choice - of course I understand it from a UX point of view.
So I started wondering whether the versions declared as strings in the VERSION clause could implicitly be transformed into IRIs.
The use of IRIs, beside being best practice, has some interesting consequences, since it allows us to define relationships between various versions (outside of SPARQL spec versions, see vendor-specific versions, but also things like GeoSPARQL and C-SPARQL)
An example relation would be the definition of what version a SPARQL endpoint operates on (probably described in the service description , although I do not see something like that right now?)
Such definitions would allow you to provide reasoning rules that an endpoint supporting SPARQL 1.2 also supports SPARQL 1.1 queries.
This could facilitate better interoperability between SPARQL versions with minimal cost for the implementor to expose the version (same as now).
These version definitions might then also be usable for vendor specific SPARQL versions, where various vendors slightly modify the SPARQL grammar, using IRIs and semantics in general, one could describe how these various versions differ from one another.
By providing a bijection between the version string and an IRI, we can more easily talk about query versions.
This bijection could simply involve the WG choosing a namespace and then using URL-encoding/ Percent-encoding on the string provided in the version clause.