2018 has been a tremendous year for us at Grakn Labs. Well done to the @Grakn Warriors on the massive engineering leaps we’ve taken this year! And, as always, thank you so much to our beloved community for helping us get here!
The goals of this release are two things:
- To upgrade Grakn KGMS to use the latest Grakn Core (from 1.2 to 1.4.2), and leverage all the architectural and performance improvements that we’ve introduced to the core stack. However, before we can do so, we needed to upgrade Grakn Core one more time, from 1.4.2 to 1.4.3.
- To release the new Grakn Documentation platform, which has a new web and content architecture. The new content architecture of the documentation will allow us to maintain, update and extend Grakn’s documentation faster and in a more scalable way.
1.4.3 is a minor release for Grakn Core, as the major work is currently undergoing for the 1.5 version, which will be released several weeks from now. The focus of this 1.4.3 release for Grakn Core is to fix issues that prohibit us from upgrading Grakn KGMS to 1.4. Nevertheless, they also beneficial for Grakn Core in general.
The following are improvements we made in Grakn Core 1.4.3:
- Bootup: When you create a new copy of a
GraknConfiginstance, the copy will no longer share the underlying data with the original instance, which is the correct and expected behaviour. We also provide a warning if
cassandra-pidfilesystem property isn’t set, and the
grakn.propertiesis now correctly applied to Cassandra’s
- Keyspace: A
KeyspaceStorecan now be properly closed with
- Sessions: Adds
closedSessions()which can properly close sessions opened by
- Compute Query:
ExecutionExceptionin a cleaner manner. Before, the method would throw a
RuntimeExceptionwhich would wrap
ExecutionExceptionand wrap the actual Exception. Now, the
RuntimeExceptionwill wrap the actual
Exceptiondirectly without any intermediary
ExecutionException. We also removed an obsolete log message “Hadoop graph ignores parameter address.”
- Post-processing: Refactored
AttributeDeduplicatorDaemonso that it can be injected into the Grakn Core and KGMS
AttributeDeduplicator.deduplicate()also no longer opens its own
Transactioninstance, making the caller responsible for providing one, which means that the caller has full control over how to tune the transaction parameter.
We had just one goal for Grakn KGMS 1.4.3, but one that would significantly improve Grakn KGMS cloud deployment: upgrading the Grakn Core foundation from 1.2 to 1.4.3. As many of you are aware, Grakn Core evolved a considerable amount throughout these releases, and Grakn KGMS now leverages all of those improvements.
We invite you to revisit the Grakn Core 1.3 release notes, but the following are the highlights of the release.
- New Language Drivers for Java, Python, and Node.js, which came along with the following:
- The development of a new RPC protocol in the server backend.
- Significantly improved bootup process to be more stable and reliable.
- Improved Graql correctness, usability and performance: compute queries, reasoning, equality comparisons, Concept API.
- Migrated CI framework to CircleCI, which you can find at circleci.com/gh/graknlabs.
Grakn Core 1.4 release notes are also worth visiting! The highlights from 1.4 2 were:
- Engine post-processing now runs in real-time.
- Grakn now runs on Windows (in addition to Linux and Mac OSX).
- Graql improvements in reasoner performance.
- Grakn Workbase was born into this world! (And will run with KGMS from the next 1.5 release!)
- GitHub all the way - share your ideas for our development roadmap through GitHub!
New Grakn Documentation!
Yes, we heard you! We know our documentation has been requiring lots of improvements, and we thank everyone for the feedback. We’ve decided to take the step on redesigning the web and content architecture altogether and pursue the journey on integrating it as a product into our development workflow.
We’ve split the documentation source into an independent repository: graknlabs/docs, which would allow us to iterate on it separately from the main code base in graknlabs/grakn, and faster too. Most importantly, this will allow everyone in the community to contribute to the documentation much more easily without the concerns of cloning and working on the full Grakn Core repository.
For those of you concerned about integrated tests of the documentation with the codebase, don’t worry, graknlabs/docs will have its own tests which will be integrated with graknlabs/grakn through circleci.com/gh/graknlabs.
The new content architecture, at dev.grakn.ai, now splits the documentation into two parts: Grakn and Graql. Each part contains multiple chapters, such as Running Grakn, Client API, and Cloud Deployment for Grakn, and Schema, Query and Concept API for Graql. Each chapter contains several pages, which can grow while being encapsulated in the chapter. The new structure, which is reflected in the navigation sidebar, maps directly to Grakn architecture and easily extendible as each chapter can evolve independently along with its associated Grakn module.
You will also see that the documentation improved the presentation of collections of images through slideshows, versions of code snippets through tabs, and alert messages through predefined themes. We’ve also automatically linked Graql keywords that show up in examples, to their page that describes them further!
This is just the beginning of our Documentation platform. We will continue to write more about the modelling philosophy as well as extend the chapters for every module. We will also continue to improve the usability of the site, such as enabling advanced search capabilities, as well as versioning of the docs for past releases. And, as always, we welcome your feedback and contributions to help us grow our Grakn Docs!
Happy New Year 2019, and …
Onwards and Upwards!