问题描述
我在 docker 容器中运行 Grakn 2.0.0-alpha。我有一个表示状态机的超图,在状态之间进行状态转换。
其中一些转换具有 some-attribute-type 类型的属性,而有些则没有。我可以通过查询所有转换并一一检查来确认这一点。但是,当我在以下查询中使用否定时,我什么也得不到。我究竟做错了什么?我已经通过 Python 客户端和控制台尝试了以下查询。
match {
$next (preceding $current_state,succeeding $next_state) isa next;
{
not {
$next has some-attribute-type $g0;
};
};
};
grakn 2.0.0-alpha 否定可能有错误,或者语义可能与之前的主要版本有所不同。看起来,如果您尝试首先将变量与要否定的类型匹配,然后使用该变量来检查不存在,那么您会得到太多匹配(如预期)
match {
$next (preceding: $current_state,succeeding: $next_state) isa next;
$e isa some-attribute-type;
not {
$next has $e;
};
};
查看以下错误报告:https://github.com/graknlabs/grakn/issues/6034
解决方法
你能提供一个简单的可重现的例子吗?
另外,您是否可能忘记close
写入事务?