微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何找到缺少特定类型属性的 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;
  };
};

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

解决方法

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

另外,您是否可能忘记close写入事务?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。