Grakn
Last Updated:
Analyst Coverage: Philip Howard
Grakn Labs, a British company, came to market in October 2016 with a pre-release version of Grakn Core. Since then, the company has released multiple iterations of the product, which as of April 2020 is in version 1.7.1. It is open source and free to download. The company also offers a commercial product: Grakn Enterprise KGMS (Knowledge Graph Management System).
Its solutions are mostly deployed within the life sciences, telecommunications and financial services sectors but is not exclusive to these industries. It is notable that the company has found success with users migrating from other RDF graph databases, who have found the semantics of these environments too complex.
Grakn Core and Grakn KGMS (2018)
Last Updated: 14th November 2018
Grakn Core is a database, in the form of a knowledge graph, used to organise complex networks of data and make them queryable. Under the covers, Grakn is based on hypergraph theory, which extends conventional graph technology by supporting nodes within nodes. In practice, within Grakn, everything is a “thing” regardless of whether it is an entity, a relationship or an attribute. This means, for example, that relationships can have both attributes and relationships, which are not restricted to entities. This helps to reduce the size of your graphs. Moreover, you can have a single relationship connecting any number of entities. The result is that a hypergraph is much more expressive than an equivalent graph, and this should directly impact on performance (less traversal) and cost (smaller graphs), in addition to supporting the cognitive and artificial intelligence capabilities for which the product is intended.
Grakn Enterprise KGMS is currently available for on-premises deployments and will shortly be available in the cloud also. The major difference between this edition and Grakn Core is that the latter has no in-built security and was not designed to scale. The enterprise edition also comes with the Workbase graphical user interface, which is better than the visualiser in the Core product.
Customer Quotes
“No business-centric implementation of AI can avoid having a Knowledge Graph at its core. Grakn is one of the few companies developing this tool that any AI business solution will require.”
Deutsche Telekom
“Grakn’s query language, Graql, should be the de facto language for any graph representation because of two things: the semantic expressiveness of the language and the optimisation of query execution.”
Eagle Genomics
Grakn is a platform for developing cognitive and other applications leveraging artificial intelligence. In order to support this, the company has developed its own declarative language, called Graql. This has a syntax that is similar to SQL but is much sparser. Like Grakn Core, Graql is open source.
There are effectively five things that you can do with Graql. Firstly, you can model your domain using an entity-relationship paradigm but including hyper-entities and hyper-relationships, as discussed above, as well as rules to build complex knowledge models. Secondly, you can model type inheritance into your knowledge model. An example of this is shown in Figure 1. Thirdly, you can define rules within your knowledge schema. Rules can be chained if required.
Fourthly, the product supports both type-based and rule-based inferencing. That is, the discovery of previously unknown relationships. In this context, it is worth commenting on one of the major differences between Graql and OWL (web ontology language). This is that changing your database schema is a major exercise when using OWL (or SQL for that matter), and while Grakn requires a schema, it 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.
Fifth, Grakn has various distributed analytic algorithms, such as community detection, built into Graql as native functionalities of the language. An example – a clustering algorithm – is provided in Figure 2. In effect, what Grakn has done here is to provide an abstraction layer that hides the complexity of deploying these algorithms. There is no need to import a relevant model, configure it or do anything else, you simply use the appropriate Graql statement. We are especially impressed with this feature.
Finally, and not related to Graql, there is a migration facility that Grakn uses that can help you to migrate existing, or industry-standard ontologies, into your Grakn knowledge base.
Grakn merges two hot topics: graph databases and cognitive/analytic platforms. The latter are of interest because of the increasing levels of automation they bring to the business, both in support of internal decision-making and in customer-facing applications. However, building cognitive applications is a non-trivial exercise. Just the analytics processes involved are complex. Grakn aims to make this process much simpler than would otherwise be the case, regardless of whether it is in operational environments (using inferencing) or for more complex analytics (using Graql’s abstraction layer).
Thought of as a graph database, Grakn is different from other vendors in this sector because it will never be beating its chest about how big the graphs are that it supports. This is because the use of hypergraphs will significantly reduce the sort of node and relationship proliferation that is characteristic of typical graph database products. And smaller graphs means fewer hardware resources and that, in turn, means lower costs.
The Bottom Line
Grakn is, as far as we aware, a unique product. This is both a good thing: the company has no competitors; and a bad thing: the company has to evangelise its approach, which tends to lead to long sales cycles. It is clear that the company’s success or failure will depend on whether its sales and marketing can match its technology.
Grakn Core and Grakn KGMS (2020)
Last Updated: 11th September 2020
Mutable Award: One to Watch 2020
Grakn consists of a database, an abstraction layer (which hides the database layer from the user) and a knowledge graph, which is used to organise complex networks of data and make them queryable. Under the covers, Grakn is based on hypergraph theory, which extends conventional graph technology by supporting nodes within nodes. In practice, within Grakn, everything is a “thing” regardless of whether it is an entity, a relationship or an attribute. This means, for example, that relationships can have both attributes and relationships, which are not restricted to entities. This helps to reduce the size of your graphs. Moreover, you can have a single relationship connecting any number of entities. The result is that a hypergraph is much more expressive than an equivalent graph, and this should directly impact performance (less traversal) and cost (smaller graphs), in addition to supporting the cognitive and artificial intelligence capabilities for which the product is intended.
Grakn Enterprise KGMS is currently available for both on-premises and in-cloud deployments, the latter via either Google Cloud or Amazon Web Services (AWS). The major difference between this edition and Grakn Core (open source version) is that the latter has no in-built security and was not designed to scale horizontally. Both Grakn Core and the Enterprise Edition come with the Workbase graphical user interface – illustrated in Figure 1 – which provides advanced visualisation and schema editing capabilities.
Customer Quotes
“No business-centric implementation of AI can avoid having a Knowledge Graph at its core. Grakn is one of the few companies developing this tool that any AI business solution will require.”
Deutsche Telekom
“Grakn’s query language, Graql, should be the de facto language for any graph representation because of two things: the semantic expressiveness of the language and the optimisation of query execution.”
Eagle Genomics
Grakn is a platform for developing applications that work with complex data leveraging artificial intelligence. In order to support this, the company has developed its own declarative language, called Graql. This has a syntax that is similar to SQL but is much sparser. Like Grakn Core, Graql is open source.
There are effectively five things that you can do with Graql. Firstly, you can model your domain using a concept level schema with an entity-relationship paradigm but including hyper-entities and hyper-relationships, as well as rules to build complex knowledge models. Further, you can define the meaning of the relationship your entities have with those relationships: in other words, the roles they play in them (for example, husband and wife, or employer and employee – see Figure 2). A variety of relationship styles can be modelled, including symmetric, asymmetric, reflexive, ternary and infinitary. Nested, transitive and equivalence relations are all supported as well. Moreover, the roles specified by your relationships act as constraints that prevent you from using inappropriately typed entities within them.
Secondly, you can model type inheritance into your knowledge model. Again, an example of this is shown in Figure 2. Thirdly, you can define rules within your knowledge schema. Rules can be chained if required.
Fourthly, the product supports both type-based and rule-based inferencing (with backward chaining – the company is working on an implementation of forward chaining). This is enabled by its automated reasoning engine, which is also notable for readily handling highly permutative queries (that is, queries that deal with a significant amount of permutation).
In this context, it is worth commenting on one of the major differences between Graql and OWL (Web Ontology Language). This is that changing your database schema is a major exercise when using OWL (or SQL for that matter), and while Grakn requires a schema, it 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.
Fifth, Grakn has various distributed analytic algorithms, such as community detection, built into Graql as native functionalities of the language. In effect, what Grakn has done here is to provide an abstraction layer that hides the complexity of deploying these algorithms. There is no need to import a relevant model, configure it or do anything else, you simply use the appropriate Graql statement. We are especially impressed with this feature.
Finally, and not related to Graql, there is a migration facility that Grakn uses that can help you to migrate existing, into your Grakn knowledge base. This is also important for companies wishing to migrate to Grakn from other RDF-based graph databases.
Grakn Labs sees its offering as providing a platform for building cognitive applications. This is otherwise a non-trivial exercise. Just the analytics processes involved are complex. Grakn aims to make this process much simpler than would otherwise be the case, regardless of whether it is in operational environments (using inferencing) or for more complex analytics (using Graql’s abstraction layer).
The degree of abstraction that Grakn and Graql provide is powerful: by taking care of low-level concepts for you, it leaves you free to operate at a much higher level and handle much more complex problems. This is particularly noticeable when it comes to building queries, where 5 lines in Graql might accomplish as much as 500 lines in SQL.
While all of the above is true we should comment that Grakn KGMS is not yet fully mature. Despite the fact that Grakn has enterprise customers the company is still in the process of optimising the product’s performance and developing its analytics capabilities at scale.
The Bottom Line
Grakn is a unique product and it provides an innovative and effective offering. In particular, its abstraction layer, together with the richness of the Graql language, removes the complexity that is often involved when using competitive products.
Commentary
Coming soon.