Content Copyright © 2017 Bloor. All Rights Reserved.
This blog was originally posted under: The IM Blog
This is the third of this series of articles about the graph and RDF database market. In this piece, I am going to focus on GRAKN.AI, hereafter referred to as Grakn.
Grakn, which is a British company, came to the market last October with version 0.1 of its product. Since then the company has released twelve iterations of the product, to version 0.12, which is open source and free to download, the intention being to get feedback from the community. The company will be introducing an enterprise version of the product in the near future.
As the AI suffix to the company’s name might suggest, Grakn is targeting the market as a platform for the development of artificial intelligence. Or, more generally, it is a cognitive data platform. In conjunction with OEM partners who could build appropriate solutions it might therefore compete with IBM Watson but otherwise it competes with other platform vendors in this market, such as Cray and Franz.
The above statements, while all accurate enough, may have led you into thinking that Grakn is a graph/RDF database. It is not. What the company provides is a knowledge base with a knowledge representation system based on Hypergraph Theory. Originally the company developed on top of the Titan graph database but is now a supporter of the JanusGraph project (see the first article in this series). So, what is a hypergraph? Or, more precisely, what is the difference between a graph and a hypergraph? The answer, simply, is that in a graph a relationship (an edge in the graph) is specific to the two entities (nodes) that it connects, whereas in a hypergraph a relationship can connect any number of entities, and can also be part of a different relation. The result is that a hypergraph is much more expressive than an equivalent graph, and this should directly impact on the performance (less traversal) and cost (faster development time) of implementing the knowledge base.
There is another major difference between Grakn and other products in the graph space. This is that, although Grakn imports data from RDF and property graphs, it does not support either OWL (web ontology language) or Gremlin. Both of these are replaced by the company’s own Graql. This has a syntax that is similar to SQL but is much sparser. The company claims that it is also more intuitive though only someone who was familiar with both Graql and SQL could really say whether that was true or not.
With respect to OWL, which is the main point, Grakn states that Graql is not only easier to understand (not hard) but also has much better performance. Further, Graql does not suffer from the same schema issues that OWL does. That is to say, OWL is very similar to SQL in this respect: changing your database schema is a major exercise, and while Grakn requires a schema Graql has been built to be more flexible: for example, you can add/update/delete new entities, attributes and relation types in varying orders and combinations, even after data has already been loaded into the database, without breaking your existing model, which you can’t do in OWL.
Finally, there is one other point to comment on. This is that using a proprietary language means that there aren’t any visualisation tools from third parties that will work with your database. At least until you start to get traction in the market. Fortunately, Grakn has thought of this and has developed its own front-end tool for exploration and visualisation.
It is very early days for Grakn but the product and concept are intriguing. I shall watch its development with interest.