Minimal support for SPARQL
Provide basic/minimal support for querying SPARQL endpoints in a stringly-typed way, c.f. [1]
var query = "SELECT * WHERE {?s ?p ?o} LIMIT 10";
var url = "http://statistics.gov.scot/sparql";
var jsonResult = post(url, query);
...
This would allow initial experimentation with Links programs using SPARQL/RDF data (encoded as JSON) while also forcing implementation of basic HTTP interaction SPARQL endpoint (which is the standard way to go). A next step could be to extend language integrated query to generate SPARQL queries from (perhaps restricted) comprehensions; cf. #655 since some SPARQL features have similar issues regarding nulls.
[1] https://statistics.gov.scot/sparql
We ought to be able to implement this basic support as a library in Links, possibly taking advantage of the FFI.
That would be great. Another strategy could be to have a slightly more general library for making whatever HTTP POST (or other) requests from within Links and serializing the results to JSON, and define the above in terms of that. It would be good to be able to submit such requests either from JavaScript or OCaml land. (Note that there are likely security implications either way.)
cf https://www.good-eris.net/ocaml-rdf/
Mental note: installing ocaml-rdf using opam results in a stack overflow error, and a suggestion to retry after doing ulimit -s unlimited - this works, but in the build system/CI we will have to add this as a setup incantation.