Hi David, all,
I don't think IIIF intends to position itself as a Linked Data API, but instead an API that uses JSON-LD, which is happily Linked Data. This was discussed relatively early on and the strong consensus was that requiring content negotiation for different formats of RDF was a barrier to entry (the complexity is pretty high for non RDF initiated) and for interoperability (unless every format is required, you end up with balkanization based on the intersection of client/server supported formats).
There was also a choice made from the Shared Canvas model to simplify the expressivity to make the implementation easier for typical json/javascript applications. There's a Shared Canvas 2.0 process just starting up, which it would be great if you have time to be part of, to both update to get the model and API back in line and to address issues that have been encountered along the way, particularly in the AV side.
The non semantic versioning part for the context comes from these observations:
* We don't want to have the URI of the context change every patch release.
* We do want it to change every major release when the model and API changes in backwards incompatible ways
* We want to be able to add new features in minor versions, so long as they're compatible
(e.g. a 2.0 client should read a 2.1 manifest)
* We're all fallible and getting the semantics right is hard! We didn't want to require a major version for a small tweak that wouldn't affect the current community in any meaningful way. And example of this was rights versus license -- it was pointed out that our current "license" text actually describes dcterms:rights. So we fixed the mapping in the context, and we're waiting for 3.0 to fix the name in the JSON. See:
https://github.com/IIIF/iiif.io/issues/644 and
https://github.com/IIIF/iiif.io/issues/636
On that last point ... if there are people using this as RDF, we can put the context documents under semver to some degree -- we'll still need to add features, but we could have waited for license -> rights change and done them both at 3.0.
Working code doesn't actually win ... but it does inform us all about what is practical and useful. If there are people with RDF based implementations that we're making more difficult, then please do speak up and we'll do whatever we can to make things better!
Rob