【问题标题】:How do I find Grakn 2.0 entities that lack an attribute of a specific type?如何找到缺少特定类型属性的 Grakn 2.0 实体?
【发布时间】: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;
  };
};

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

【问题讨论】:

  • 请检查此问题是否在 grakn-2.0.0-alpha-2 中仍然存在,因为您链接的问题已被此版本中的 OP 解决

标签: vaticle-typedb vaticle-typeql


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2019-09-11
    • 2018-08-27
    • 2021-04-20
    • 2021-07-29
    • 1970-01-01
    相关资源
    最近更新 更多