【发布时间】:2021-01-21 18:33:00
【问题描述】:
我在 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;
};
};
【问题讨论】:
-
请检查此问题是否在 grakn-2.0.0-alpha-2 中仍然存在,因为您链接的问题已被此版本中的 OP 解决
标签: vaticle-typedb vaticle-typeql