Member-only story
Query generation for TypeDB
Controlled Natural Language to TypeQL…push a button

FactEngine is an initiative to radically rethink how databases are designed, viewed and queried. The ultimate goal is to make life easier, and that includes controlled natural language queries over your database.
TypeDB is a new breed of database that is based on hypergraph theory. It is produced by a company called Vaticle.
In an earlier article I outlined FactEngine’s move to automatically creating DDL (Database Definition Language) for TypeDB.
TypeDB approaches the database market conceptualised as both a database and a rules-based knowledge graph combined as one. Operating over a key/value store the database encompasses the same sort of architecture used by FactEngine to effectively turn any compatible database into a natural language/hypergraph database. I wrote about this architecture in an earlier article.
The synergy between the two products is so close that I have decided to extend FactEngine to working beyond the relational databases it currently caters for and to operate over TypeDB.
Tooling
A C#/.Net TypeDB client doesn’t currently exist for TypeDB, but that doesn’t stop anyone from being able to generate natural language queries for a database and convert those queries to TypeQL, the query language of TypeDB, without actually executing those queries from within FactEngine.
If you’ve gone as far as using FactEngine to generate your TypeDB schema, you may as well use that schema to quickly and easily generate TypeQL.
Saving your fingers and brain/mind-space
TypeQL is a relatively verbose query language, as per the example query at the top of this article. Personally I find it difficult to read, but then again, I’m not enamored with any particular database query language…otherwise I would not have started FactEngine.
In an earlier article I described how FactEngine helps you to write queries as you type in the query, as below: