This is where Grakn comes in, filling a sweet spot in the brave new world of graphs and its ramifications. Based atop existing open source solutions, it boasts a whole lot of features no other vendor has. It effectively harmonizes the tension mentioned above via a query and inference engine sugared with a domain-specific language (a DSL called Graql). Although the underlying storage is based on a genuine property-graph, the DSL guides you in a way familiar to ontologies and embraces inference in a natural fashion. This is no small feat and precious intellectual property. Grakn has developed something innovative and modern in a space where big players seem to struggle to grasp how graphs, concept thinking and AI can work hand in hand. Only Neo4j comes close to this but lacks a lot of goodies at the same time.
As a young and small startup it has the virtue of being agile, fast and bright but (like any other fresh startup) also exhibits all the less of a fresh player.
High momentum means innovation but if one seeks enterprise-level software the maturity can be an issue. This shows in simple things, like for instance a basic recipe for backup/restore. It shows in not having proper benchmarks or a clear description of free/paid features on the website.
From an architectural point of view, the dependency on JanusGraph and Cassandra is a good choice but not fully exploited. The pluggable nature of JanusGraph allows one to tap into Spark and Hadoop for machine learning, to replace Cassandra with other Gremlin-compliant stores, to scale things as needed. This opens up opportunities which are not expressed anywhere in Grakn unless one digs into the source code. It’s probably a strategic choice but from our angle an avenue with much potential. Spark has become the de-facto choice for big data machine learning and many companies have custom pipelines and data lakes connected to it. Being able to integrate Grakn in this way is an underrated bonus.
On an API and DSL level one can see that much thinking has gone into developing something unique and practical. Certain dangerous boundaries have been explored (e.g. potentially endless cascading inference rules) and the DSL appropriately tuned to avoid pitfalls. Much like SPARQL and Cypher are open standards it would be a good move to lift the Graql up to a level where it can be picked up by the community independently of the underlying storage engine. Extending the language with custom constraints (say, date-time clauses) should be ‘easy’ and not demand a full checkout and build. Apache Jena and their Java-based SDK to extend SPARQL comes to mind.
Finally, perception is all these days. From a marketing point of view the Grakn website is not tuned well and answers to standard questions are somewhat indirect: what is the enterprise offering, pricing model, what about consultancy, licensing, what is the deployment model and how does it scale, encryption and security? It sits somewhere between a very promising open source product and a company aiming for acquisition and/or investors.
All in all a very promising product in a crowded market with unique features. Not enterprise ready yet but could be in a year and provided it grows in the right way (or with the right guidance) a company well worth keeping an eye on.