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 thegrakn server
command, they should be run local to grakn server instance.
These can be used as a backup solution but are mostly designed to simplify the process of migrating data across Grakn versions.grakn server export [--no-anim] <keyspace> <file>.grakn grakn server import [--no-anim] <keyspace> <file>.grakn
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 forname
owned by a thing and we get backfirst-name
andlast-name
instances as well.
Code Refactors
-
Cleanup WORKSPACE file.
In order for keeping codebase clean and maintainable, extraneous dependencies should not be presentWORKSPACE
-
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 ofrelates
. 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 toReasonerQueryFactory
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 requiredFragments.isVertex(traversal)
calls.
One consequence is that we break Generic type safety inNeqFragment
, where the traversal may be on anEdge
, not guaranteed aVertex
.
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 thegrakn-core
artifacts.
We also update therelease-validate-deps
to use a new kotlin-based rule that is atest
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 newtest
repository.
Complements:- vaticle/typedb-driver#149
- vaticle/typedb-driver#149
and the addition of the single test in the test repository - rewrite deployment tests for
apt
andrpm
not to use a built test using client-java, but just boot console instead
-
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 runtest-assembly-docker
withpython
pointing topython3
. 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 oncurl
built in a specific way (with HTTP/2 support). This is not always the case, so test might silently timeout (underlyingcurl
command fails withReceived 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 updatedgrabl-tracing
to fix an issue of not being able to perform grakn tracing. Update thegrabl-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 to4.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 allGraknExceptions
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.