GRAKN.AI
![]() Grakn Labs | |
Original author(s) | Haikal Pribadi |
---|---|
Developer(s) | Grakn Labs |
Initial release | 9 September 2016 |
Stable release | 2.0.1
/ 6 April 2021[1] |
Repository | github |
Written in | Java[2] |
Operating system | Cross-platform |
License | AGPL 3.0 |
Website | grakn |
Grakn is an open-source, distributed knowledge graph database for knowledge-oriented systems.[3][4] It is an evolution of the relational database for highly interconnected data as it provides a concept-level schema that fully implements the Entity-Relationship (ER) model. However, Grakn’s schema is a type system that implements the principles of knowledge representation and reasoning. This enables Grakn's declarative query language, Graql (Grakn’s reasoning and analytics query language), to provide a more expressive modelling language and the ability to perform deductive reasoning over large amounts of complex data. Effectively, Grakn is a knowledge base for artificial intelligence and cognitive computing systems.
Grakn is developed by Grakn Labs Ltd. and is published under the GNU Affero General Public License.
Main features[]
- Concept-level schema
Grakn provides an enhanced entity-relationship schema to model complex datasets. The schema allows users to model type hierarchies, along with hyper-entities and hyper-relationships that can be extended anytime in the database lifecycle.[5] Hyper-entities are defined to be entities with multiple instances for a given attribute, and hyper-relationships are defined to be N-ary relationships, nested relationships, cardinality-restricted relationships, or between relations and entities. This enables the creation of complex knowledge models that can evolve flexibly.[6]
- Real-time inference
Grakn’s query language performs deductive reasoning of entity types and relationships, to perform real-time inference of implicit facts and associations during runtime of OLTP queries.[6] The inference is performed through entity and relationships type inference, as well as rule-based inference. This allows the discovery of facts that would otherwise be too hard to find.
- Distributed analytics
Grakn’s query language performs distributed Pregel and MapReduce (BSP) algorithms abstracted as OLAP queries.[7] These types of queries usually require custom development of distributed algorithms for every use case. However, Grakn creates an abstraction of these distributed algorithms and incorporates them as part of the language API. This enables large scale computation of BSP algorithms through a declarative language without the need for implementation.
- High-level query language
With the expressivity of the schema, inference through OLTP and distributed algorithms through OLAP, Grakn provides strong abstraction over low-level data constructs and complicated relationships through its query language. The language provides a higher-level Schema, OLTP, and OLAP query language.
Architecture[]
Grakn is composed of two parts: Grakn the storage, and Graql the language.
Grakn[]
Grakn is a distributed knowledge graph for knowledge oriented system, i.e. a knowledge base. Under the hood, Grakn has built an expressive knowledge representation system with a transactional query interface. Grakn’s knowledge representation system is based on hypergraph theory, a subfield in mathematics that generalises an edge to be a set of vertices. The hypergraph data structure itself is represented in the form of key-value pairs and persisted on a distributed NoSQL database, Apache Cassandra. Thus, Grakn is a distributed system design to be shared and replicated over a network of computers.
Graql[]
Graql is Grakn’s declarative reasoning (through OLTP) and analytics (through OLAP) query language that creates a higher level abstraction over complex relationships. Graql allows users to derive implicit information that is hidden in a dataset, as well as reduce the complexity of that information. Graql is also capable of performing distributed analytics as part of the language, which allows it to perform analytics over large out of the box. These types of analytics are usually not possible without developing custom distributed graph algorithms that are unique to every use case. One may consider Graql as an OLKP (OnLine Knowledge Processing) language, which combines both OLTP (OnLine Transaction Processing) and OLAP (OnLine Analytical Processing).
Licensing[]
Grakn is open source and available under the GNU Affero General Public License, version 3. In addition, Grakn Labs offers commercial licenses for enterprise editions of Grakn.
References[]
- ^ "Releases · graknlabs/grakn". github.com. Retrieved 2021-04-10.
- ^ "Grakn System Properties".
- ^ Barolli, Leonard; Terzo, Olivier (2017-07-04). Complex, intelligent, and software intensive systems : proceedings of the 11th International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS-2017). Cham. ISBN 9783319615660. OCLC 992988924.
- ^ Stichbury, Jo (10 March 2017). "Get Started With GRAKN.AI".
- ^ "Hyper-relation - UNL Wiki". www.unlweb.net.
- ^ a b Messina, Antonio; Pribadi, Haikal; Stichbury, Jo; Bucci, Michelangelo; Klarman, Szymon; Urso, Alfonso (2017-07-10). Complex, Intelligent, and Software Intensive Systems. Advances in Intelligent Systems and Computing. Vol. 611. Springer, Cham. pp. 299–309. doi:10.1007/978-3-319-61566-0_28. ISBN 978-3-319-61565-3.
- ^ "Distributed Big Data Analytics with Graql – GRAKN.AI". GRAKN.AI. 2017-08-22.
Bibliography[]
- Malewicz, Grzegorz; Austern, Matthew H.; Bik, Aart J.C; Dehnert, James C.; Horn, Ilan; Leiser, Naty; Czajkowski, Grzegorz (2010), "Pregel: A System for Large-scale Graph Processing", Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data, SIGMOD '10, New York, NY, USA: ACM: 135–146, doi:10.1145/1807167.1807184, ISBN 9781450300322, S2CID 53034533
- Graph databases
- Free database management systems
- Free software programmed in Java (programming language)
- 2016 software