GraphQL RDF Bridge in TerminusDB Using Rust's Juniper Library
terminusdb.comJuniper helped us implement a GraphQL / RDF bridge in about two weeks.
Really nice article, but can't help but think those who don't know SPARQL are doomed to recreate it.
Well, I do know SPARQL :D
TerminusDB uses a datalog under the hood, but GraphQL can expose a lot of datalog like power with the right interface. Ultimately we want to have named parameteric queries in datalog exposing "pseudo-edges" in GraphQL which can be treated just like a normal field but are actually calculated.
SPARQL has some really not nice properties.
For example it's very easy to build non-monotonic queries with OPTIONAL, which really messes with reactively streamed query results.
There is a certain sweet spot in conjunctive queries + regular path expressions, with a nice syntax.
One big advantage of GraphQL is mature tooling, like type definition generation, etc.