如何找到缺乏特定类型属性的Grakn 2.0实体?



我在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;
};
};

查看以下bug报告:https://github.com/graknlabs/grakn/issues/6034

你能提供一个简单的可重复的例子吗?

还有,您是否可能忘记close写事务?

最新更新