WOQL spec & W3C?


I am not new to semantic web and linked data and understand many reasons to create some better things from scratch, such as WOQL, for example. However, I am interested if there is a prospect of it becoming more used, so I would really appreciate an answer to these:

  1. Are you planning to spec WOQL according to W3C norms and at least publish it as a CG note or it will be only used in TerminusDB?
  2. Is there an expectation that current SPARQL-enabled triplestores could implement a native WOQL interface that works reasonably well?

Finally, I wanted to applaud the authors who took their frustration with the state of things in semantic web today and channeled it into something wonderful! :clap: Keep up the good work!



WOQL is quite young and the way we envisage the client syntax is really as an SDK for programmers to use TerminusDB in the most convenient way possible from their languages.

However the JSON-LD syntax and semantics we would like to be stable and standard so that various SDKs can be written in relevant languages, and simplifying the experimentation with syntax in the SDKs.

We have the syntax specification of WOQL as an RDF ontology distributed with TerminusDB and we’d be extremely happy if people were to implement it elsewhere. We think this encoding is particularly good solution in that it is an abstract syntax tree that is itself embeddable as RDF instance data in TerminusDB or elsewhere. This will make queries sharable as linked data, but also later could facilitate very sophisticated library management and even query transformation.

We don’t have the resources to standardise it ourselves but we’d be very open to collaborating with anyone who was interested in doing so. We’d also love to see other implementations.

In terms of (2) it is probably possible for current RDF triple stores to implement WOQL and we’d love to help in whatever way we can anyone who is doing so. Some aspects can be translated into SPARQL but some would be rather difficult or require repeated queries.

Datalog-like languages really have to become the standard for graphs. It’s "the right thing"™ to do and I’m confident that whether its WOQL or something else, eventually it will be true.

SPARQL is kind of a weird combination of something that looks a bit Datalog and then mixes it unnecessarily with SQL like syntax limiting the expressivity and composability.


There are a few others using datalog variants as a query language. I know of Datomic, Grakn and Glean. There could be an argument for a more ‘standard’ datalog approach to graph query, which could then become something that was easier to implement in new systems.