I just realised after we dropped the call that on the question of query formalism version id - if it’s a non-numeric version id, i.e. just some name or string like ‘2019-3’ or whatever, then the string could be nameversion - there would be no reliable way to distinguish the name part from the version part. Even worse, a query language could just be called something like AcmeQL20, and have numeric version ids.
So we are going to have to either have a separate field, or else a delimiter, e.g “AQL::1” or “AQL(2.3)” or similar, with plain “AQL” always being allowed as well.
Preferences for what kind of strings we want to allow? We have a precedent for using the ‘::’ delimiter already, but I’m fine with other approaches.
@thomas.beale besides the format, what you propose is that formalism_id is formalism_name + formalism_version, which I agree. Then formalism_version would be semver, which I also agree with.
I think that filed would be part of the metadata in the query JSON/XML representation, or some kind of common header, then the body would be the query representation for the specific formalism name and version.
That will open the door for ad-hoc or usage-specific/DSL query languages at the API/SM level, which is something I have been expecting for years now, I guess that will also help @sebastian.iancu and his implementation.
Sadly I couldn’t be on today’s meeting to hear the details in this topic’s discussion.