在越来越多样化的数据管理需求下,图数据库的使用变得愈发普遍。本文将介绍如何使用KuzuGraphStore进行图数据的管理,包括基本的增删查改操作,以及如何从持久化目录或配置字典加载图存储库。
初始化图存储
from llama_index.graph_stores.kuzu import KuzuGraphStore
# 初始化schema
graph_store = KuzuGraphStore()
graph_store.init_schema()
在代码中,我们首先导入KuzuGraphStore
模块,并调用init_schema
方法初始化图数据库的schema,以确保表格的存在。
获取三元组
# 获取三元组
triplets = graph_store.get(subj="example_subject")
print(triplets)
通过get
方法,我们可以获取到指定主体的所有三元组。
获取关系映射
# 获取深度感知的关系映射
rel_map = graph_store.get_rel_map(subjs=["example_subject"], depth=2, limit=30)
print(rel_map)
get_rel_map
方法允许我们指定主体、深度和限制数,以获取深度感知的关系映射。
添加三元组
# 添加三元组
graph_store.upsert_triplet(subj="example_subject", rel="example_relation", obj="example_object")
通过upsert_triplet
方法,我们可以将新的三元组添加到图存储库中。
删除三元组
# 删除三元组
graph_store.delete(subj="example_subject", rel="example_relation", obj="example_object")
delete
方法允许我们删除指定的三元组。
从持久化目录加载
# 从持久化目录加载
persistent_graph_store = KuzuGraphStore.from_persist_dir(persist_dir="/path/to/dir")
使用from_persist_dir
方法,可以从指定的目录加载图存储库。
从配置字典加载
# 从配置字典加载
config_dict = {
"some_key": "some_value"
}
dict_graph_store = KuzuGraphStore.from_dict(config_dict=config_dict)
通过from_dict
方法,我们可以从配置字典初始化图存储库。
可能遇到的错误及解决方案
-
Schema初始化失败:
- 原因: 数据库连接失败或表格已经存在。
- 解决方法: 检查数据库连接配置,确保没有重复初始化。
-
三元组添加失败:
- 原因: 主体、关系或对象不符合数据库约束。
- 解决方法: 检查输入值是否合法与配置是否匹配。
-
持久化目录加载失败:
- 原因: 目录路径不正确或缺少必要文件。
- 解决方法: 确认目录路径无误且文件齐全。
-
配置字典加载失败:
- 原因: 配置字典格式不正确或缺少必要参数。
- 解决方法: 根据文档检查并修正配置字典内容。
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!
参考资料:
- 官方KuzuGraphStore文档
- 图数据库介绍和使用案例