【问题标题】:How to check if an specific Grakn instance already exists before trying to insert it into the KG?如何在尝试将特定 Grakn 实例插入 KG 之前检查它是否已经存在?
【发布时间】:2020-05-14 16:12:02
【问题描述】:

假设 Grakn KG 包含类型为“product”的实体,并且它们由 key“id_prod”唯一标识。据我了解,尝试插入带有重复 id_prod 的产品实例会产生错误。

假设插入是通过控制台脚本完成的,那么在插入过程中如何使用 graql 检查实例的先前存在?通过python客户端,有什么特别的建议或模式可以遵循吗?

【问题讨论】:

    标签: python database vaticle-typedb vaticle-typeql knowledge-graph


    【解决方案1】:

    你的断言是正确的。目前 Graql 没有内置的 PUT 行为来检查是否存在并仅在不存在时插入。这是将来应该包含的功能(我在 Grakn 工作)。

    相反,您有两种选择:

    1. match 用它们的键来获取概念。如果没有结果,那么您 insert 他们。然后你可以match insert 为关键概念添加关系等等。
    2. 您首先确保已将所有关键概念插入到 KB 中(可能不可能)。然后,您直接进行match insert 查询,匹配键控概念,无需检查键是否存在

    【讨论】:

    • 所以如果我们不确定,我们必须做 2 次查询才能插入?对 PUT 行为的时间表有任何想法吗?
    猜你喜欢
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多