在尝试将其插入 KG 之前如何检查特定的 Grakn 实例是否已经存在?
How to check if an specific Grakn instance already exists before trying to insert it into the KG?
让我们假设 Grakn KG 包含 'product' 类型的实体,并且它们由 key 'id_prod' 唯一标识。据我了解,尝试插入具有重复 id_prod 的产品实例将产生错误。
假设插入是通过控制台脚本完成的,如何在插入过程中用 graql 检查实例以前是否存在?通过 python 客户端,是否有任何特别的建议或模式可以遵循?
你的说法是正确的。目前 Graql 没有内置的 PUT
行为来检查是否存在并仅在不存在时插入。这是将来应该包含的功能(我在Grakn工作)。
相反,您有两种选择:
- 您
match
通过关键的概念。如果没有结果,那么你 insert
他们。然后您可以 match insert
为键控概念添加关系等
- 您首先要确保已将所有关键概念插入到知识库中(这可能是不可能的)。然后,您直接进行
match insert
查询,匹配键控概念,无需检查键是否存在
让我们假设 Grakn KG 包含 'product' 类型的实体,并且它们由 key 'id_prod' 唯一标识。据我了解,尝试插入具有重复 id_prod 的产品实例将产生错误。
假设插入是通过控制台脚本完成的,如何在插入过程中用 graql 检查实例以前是否存在?通过 python 客户端,是否有任何特别的建议或模式可以遵循?
你的说法是正确的。目前 Graql 没有内置的 PUT
行为来检查是否存在并仅在不存在时插入。这是将来应该包含的功能(我在Grakn工作)。
相反,您有两种选择:
- 您
match
通过关键的概念。如果没有结果,那么你insert
他们。然后您可以match insert
为键控概念添加关系等 - 您首先要确保已将所有关键概念插入到知识库中(这可能是不可能的)。然后,您直接进行
match insert
查询,匹配键控概念,无需检查键是否存在