github vaticle/typedb 1.8.1
Grakn Core 1.8.1

latest releases: 2.28.0, 2.28.0-rc0, 2.27.0...
3 years ago

Install & Run: http://dev.grakn.ai/docs/running-grakn/install-and-run

New Features

  • Add export to 1.8.
    To add the ability to export and import date and schema to 1.8 grakn in order to support migration into newer versions of grakn (1.8 and beyond).
    These features include:
    • Exporting all of the data in a keyspace to a file.
    • Exporting the schema of a keyspace.
    • Importing an exported data file into a keyspace.
      We have added these features to the grakn server command, they should be run local to grakn server instance.
    grakn server export [--no-anim] <keyspace> <file>.grakn
    grakn server import [--no-anim] <keyspace> <file>.grakn
    
    These can be used as a backup solution but are mostly designed to simplify the process of migrating data across Grakn versions.
    In this 1.8 version, we have also added label remapping on import, to solve issues where a schema may now use labels that are reserved keywords.

Bugs Fixed

  • Add role downward inference when getting relations or castings.
    To ensure that the methods in Concept API present a consistent behaviour, we implement downward type inference when retrieving role players or relations over a given role. We always perform downward type inference in Concept API read operations.
    Before, we only searched for role players or relations playing the exact role without checking the role subtypes. This aligns with attribute ownership and owned-ness - we can ask for name owned by a thing and we get back first-name and last-name instances as well.

Code Refactors

  • Cleanup WORKSPACE file.
    In order for keeping codebase clean and maintainable, extraneous dependencies should not be present WORKSPACE

  • Refactor atomic and benchmark Reasoner tests.
    In preparation of extensive role-behaviour changes, we refactor reasoner's tests to not use shared roles across relations, and let them be written in a way that is easier to update for future changes: scoping, as role overriding, and inheritance of relates. The changes include using real-world schema examples and bringing schemas into the test classes, which helps reduce complexity as large parts of each schema is not reused across tests.
    We also add a flag to ReasonerQueryFactory to disable type inference, which is useful for reducing the scope of tests.

  • Simplify Query Traversal Generics.
    To simplify the understanding and usability of fragments, and gremlin traversals, we specialise generics and and remove the previously required Fragments.isVertex(traversal) calls.
    One consequence is that we break Generic type safety in NeqFragment, where the traversal may be on an Edge, not guaranteed a Vertex.

Other Improvements

  • Update to common 0.2.4 and use console 1.0.8 artifact.
    Update to common 0.2.4 and use console 1.0.8 artifact, still ignoring assembly tests while allowing rpm and apt-deploymeny tests to continue in a basic form by booting console only.

  • Update dependencies for 1.8.1 Release.
    Use released dependencies in core in order to release the grakn-core artifacts.
    We also update the release-validate-deps to use a new kotlin-based rule that is a test target called by bazel instead of using a python script via bazel.

  • Remove client java tests.
    We remove or migrate all tests that depend on client-java - some have moved to client-java, otheres have been removed, and one moved to the new test repository.
    Complements:

  • Migrate OntologicalQueryIT to BDD.
    To migrate OntologicalQueryIT to BDD, forming part of the work towards #5721

  • Fix Docker test to be compatible with both Python 2 and Python 3.
    Previously, it was only possible to run test-assembly-docker with python pointing to python3. In order to be compatible with both Python 2 and Python 3, test shouldn't use any new language features.

  • Fix Docker image test.
    Currently, test-assembly-docker depends on curl built in a specific way (with HTTP/2 support). This is not always the case, so test might silently timeout (underlying curl command fails with Received HTTP/0.9 when not allowed)

  • Add overrides for grabl's transitive netty dependencies.
    To resolve partially downgraded netty server, we also override transitively declared netty dependencies, notably from Grabl Tracing. We also update client-java, which no longer uses a newer netty version as well.

  • Upgrade grabl tracing verison.
    We recently updated grabl-tracing to fix an issue of not being able to perform grakn tracing. Update the grabl-tracing version so that we can use the latest grakn for grakn tracing.

  • Downgrade netty.
    To fix the issue found in #5831 that slows Grakn down drastically, we force downgrade Netty back to 4.1.38.Final.

  • Migrate to updated @graknlabs_dependencies repo.
    Use updated versions of dependencies (with some of them downgraded) in Grakn Core

  • Clean up stray comments and mentions of implicit relations.
    Clean up stray comments and mentions of implicit relations.

  • Reduce code duplication between graql query steps in BDD.
    To reduce code duplication between graql query steps in BDD.

  • Allow tests to print stack traces.
    Allow tests to print stack traces -- this should automatically apply to all GraknExceptions and its subtypes.

  • Resolution Testing Framework.
    We introduce a Resolution Testing framework for Grakn's reasoner that can automatically verify Grakn's reasoning correctness for a given test case.

  • Add dependency on console distribution.
    Part of the effort to use distributable artefacts instead of building executable dependencies through source from other repos (where the dependencies might leak).

  • Update CI image to Ubuntu 16 and bump build tools.

Don't miss a new typedb release

NewReleases is sending notifications on new releases.