python - 如何在尝试将特定 Grakn 实例插入 KG 之前检查它是否已经存在?
问题描述
假设一个 Grakn KG 包含类型为“product”的实体,并且它们由键“id_prod”唯一标识。据我了解,尝试插入具有重复 id_prod 的产品实例会产生错误。
假设插入是通过控制台脚本完成的,那么在插入过程中如何使用 graql 检查实例的先前存在?通过 python 客户端,有什么特别的建议或模式可以遵循吗?
解决方案
你的断言是正确的。目前 Graql 没有PUT
内置的行为来检查是否存在并仅在不存在时插入。这是将来应该包含的功能(我在 Grakn 工作)。
相反,您有两种选择:
- 你
match
通过他们的钥匙获得概念。如果没有结果,那么你insert
他们。然后,您可以match insert
为键控概念添加关系等。 - 您首先确保已将所有关键概念插入到 KB 中(可能不可能)。然后,您
match insert
直接进行查询,匹配键控概念,无需检查键是否存在
推荐阅读
- javascript - jQuery首先触发一个keydown事件
- python - CSV 文件在由 spark DataFrameWriter 创建时保持打开状态
- scala - 如何将案例类传递给函数参数并相应地获取模式?
- flutter - Flutter,DateTime.now() 在我的代码中不起作用
- java - 我们可以在 Firestore 中查询多深?
- javascript - 有没有办法在多个 selected.js 选择框中预加载选定的选项?
- lazy-loading - Jquery 向所有图像添加 loading=lazy
- c - 内核如何处理对共享映射的并发访问?
- java - Java是动态编程语言吗?
- google-apps-script - 如何将特定数量的行导出到 Google 表格中的文本文件