Install & Run: http://dev.grakn.ai/docs/running-grakn/install-and-run
New Features
- Number Comparison.
Previously, if an attribute is defined to have a certaindatatype
, then only values of thatdatatype
could be evaluated in a query traversal. For example, ifscore
is anattribute
withdatatype double
, you can only query forscore
by providing decimal point values, e.g.match $x 9.0 isa score; get;
. Querying formatch $x 9 isa score; get;
would yield no results even though there arescore
s with the value9.0
. We have now improved the expressivity of Graql's predicate comparison to being able to compare Numerical values of arbitrarydatatype
s (at the moment justlong
anddouble
). Numbers will now be evaluated to be equivalent if they have the same value regardless of theirdatatype
s.
Bugs Fixed
-
Proper use of JanusTransaction.
We now use different JanusTransactions which we get from a shared StandardJanusGraph.
Before we were often reusing the same JanusTransaction for different Grakn Transactions.With this change, we now achieved a stable memory allocation and we don't see any more OutOfMemory exceptions when keeping the same Session open for a long time.
-
Fix creation and deletion of attributes bugs.
Resolve 2 bugs concerning the creation and deletion of attributes in the same transaction. -
Core Bugfixes.
Fix and add tests for:- querying for non-reified implicit attribute ownership and the owner in the same query not returning any concepts fixed by moving an edge traversal step into
IdFragment
- return deleted concepts' IDs without re-querying deleted Janus element (was causing vertex already deleted bugs with reified relations)
- querying for non-reified implicit attribute ownership and the owner in the same query not returning any concepts fixed by moving an edge traversal step into
-
Make 'grakn server clean' command to clean the correct data directory as specified in grakn.properties.
Fix #5248
Previously a hardcoded directory (server/db/
) was used when runninggrakn server clean
. This resulted in possible problems if a custom directory was used for data storage. Now,data-dir
config value is used to determine the correct directory to clean.
Code Refactors
- Deprioritise implicit labels.
We reinstate the previous behaviour when we assigned smaller priority to label fragments which correspond to implicit relations. This is due to the fact that in general and by default they correspond to edges (are non-reified).