GraphQL RDF Bridge in TerminusDB Using Rust's Juniper Library(terminusdb.com) |
GraphQL RDF Bridge in TerminusDB Using Rust's Juniper Library(terminusdb.com) |
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.
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.