Java JavaScript Vue Python CSS Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.circleci add tagged workflow and references in circleci config (#2954) Aug 15, 2018
build Move delete keyspace functionality from Tx to KeyspaceStore (#2920) Aug 6, 2018
client-java Enable Date attributes via gRPC (#2938) Aug 8, 2018
client-nodejs Fixed small docs errors and updated NodeJs readme (#2961) Aug 15, 2018
client-protocol Update client-protocol README.md Aug 8, 2018
client-python Client python dev 3 (#2957) Aug 15, 2018
conf License Update and Config Cleanups (#2919) Aug 3, 2018
docs Fixed small docs errors and updated NodeJs readme (#2961) Aug 15, 2018
grakn-core Include join-explanations in gRPC answers (#2945) Aug 13, 2018
grakn-dashboard Removed Config page from dashboard (#2940) Aug 9, 2018
grakn-dist update grakn distribution file name + add client-java-e2e into the Ci… Aug 8, 2018
grakn-engine Include join-explanations in gRPC answers (#2945) Aug 13, 2018
grakn-factory bump version to 1.4.0 snapshot (#2935) Aug 8, 2018
grakn-graql-shell bump version to 1.4.0 snapshot (#2935) Aug 8, 2018
grakn-graql Fixed aggregate count argument restriction in QueryParserImpl (#2955) Aug 15, 2018
grakn-kb Enable Date attributes via gRPC (#2938) Aug 8, 2018
grakn-migration bump version to 1.4.0 snapshot (#2935) Aug 8, 2018
grakn-test-profiles bump version to 1.4.0 snapshot (#2935) Aug 8, 2018
grakn-test-tools Fix problems with attaching attributes if they are unattached a priori ( Aug 15, 2018
grakn-test Changed shell output test to be order agnostic (#2960) Aug 15, 2018
scripts Fix start-long-running-instance script (#2500) Dec 11, 2017
workbase [Workbase] - Implicit relationship bug (#2956) Aug 16, 2018
.gitignore Client python dev 2 (#2933) Aug 7, 2018
.travis.yml Query AnswerExplanation RPC response builder (#2877) Jul 12, 2018
LICENSE License Update and Config Cleanups (#2919) Aug 3, 2018
README.md Update README.md with download count badge Aug 13, 2018
package-lock.json new vue-loader version to solve packaging failure (#2109) Sep 19, 2017
pom.xml bump version to 1.4.0 snapshot (#2935) Aug 8, 2018

README.md

GRAKN.AI


GitHub release Build Status Coverage Status Javadocs Slack Status Stack Overflow Download count

Static Bugs Code Smells Duplicated Code

Grakn is the knowledge graph engine to organise complex networks of data and making it queryable.

Get Started Documentation Discussion Join the Academy!
Whether you are new to programming or an experienced developer, it’s easy to learn and use Grakn. Get set up quickly with quickstart tutorial. Documentation for Grakn’s development library and Graql language API, along with tutorials and guides, are available online. Visit our documentation portal. When you’re stuck on a problem, collaborating helps. Ask your question on StackOverflow or discuss it in our Discussion Forum. Learn everything from the basic foundations to advanced topics of knowledge engineering and be an expert. Join Grakn Academy.

Meet Grakn and Graql

Grakn is the knowledge graph engine to organise complex networks of data and making it queryable, by performing knowledge engineering. Rooted in Knowledge Representation and Automated Reasoning, Grakn provides the knowledge foundation for cognitive and intelligent (e.g. AI) systems, by providing an intelligent language for modelling, transactions and analytics. Being a distributed database, Grakn is designed to scale over a network of computers through partitioning and replication.

Under the hood, Grakn has built an expressive knowledge representation system based on hypergraph theory (a subfield in mathematics that generalises an edge to be a set of vertices) with a transactional query interface, Graql. Graql is Grakn’s reasoning (through OLTP) and analytics (through OLAP) declarative query language.

Knowledge Schema

Grakn provides an enhanced entity-relationship schema to model complex datasets. The schema allows users to model type hierarchies, hyper-entities, hyper-relationships and rules. The schema can be updated and extended at any time in the database lifecycle. Hyper-entities are entities with multiple instances of a given attribute, and hyper-relationships are nested relationships, cardinality-restricted relationships, or relationships between any number of entities. This enables the creation of complex knowledge models that can evolve flexibly.

Logical Inference

Grakn’s query language performs logical inference through deductive reasoning of entity types and relationships, to infer implicit facts, associations and conclusions in real-time, during runtime of OLTP queries. The inference is performed through entity and relationship type reasoning, as well as rule-based reasoning. This allows the discovery of facts that would otherwise be too hard to find, the abstraction of complex relationships into its simpler conclusion, as well as translation of higher level queries into the lower level and more complex data representation.

Distributed Analytics

Grakn’s query language performs distributed Pregel and MapReduce (BSP) algorithms abstracted as OLAP queries. 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 of implementing the algorithms.

Higher-Level 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, that makes working with complex data a lot easier. When developers can achieve more by writing less code, productivity rate increases by orders of magnitude.

System Requirements

  • Unix-based Operating Systems (Linux and Mac OSX)
  • Java 8 (OpenJDK or Oracle Java) with the $JAVA_HOME set accordingly
  • Yarn (in order to build Dashboard)

You can build Grakn using Maven:

$ mvn package -DskipTests

Licensing

This product includes software developed by Grakn Labs Ltd. It's released under the GNU Affero GENERAL PUBLIC LICENSE, Version 3, 29 June 2007. For license information, please see LICENSE. Grakn Labs Ltd also provides a commercial license for Grakn Enterprise KGMS - get in touch with our team at enterprise@grakn.ai.

Copyright (C) 2018 Grakn Labs Ltd