揭秘Django与Neo4j:构建智能知识图谱的终极指南
前言
图是一种用于对象之间的成对关系进行建模的数学结构。
它由两个主要元素组成:节点和关系。
节点:节点可以看作是传统数据库中的记录。每个节点代表一个对象或实体,例如一个人或一个地方。节点按标签分类,这有助于根据其角色对其进行分类和查询,例如“客户”或“产品”。
关系:这些是节点之间的连接,定义不同实体之间的交互或关系。例如,一个人可以通过“EMPLOYED_BY
”关系与公司建立联系;或者通过“LIVES_IN
”关系与某个地方建立联系。
为了以类似的结构存储数据,引入了一个新的数据库系列:图形数据库。
图形数据库是一种旨在将数据之间的关系视为与数据本身同等重要的数据库。
它们经过优化,可以高效处理互连数据和复杂查询。
Neo4j
,它采用灵活的图形结构,除了节点和关系之外,还包括属性、标签和路径特征来表示和存储数据。
Neo4j
还支持向量搜索,这使其非常适合混合 GraphRAG
场景。
一、安装Neo4j
这里创建 Neo4j
数据库有两种方式,可以本地创建数据库实例,或者选择云数据库实例。
比如 Neo4j Aura
或者 Neo4j Sandbox
,它们都提供了免费实例。
我这里选择的是 Neo4j Sandbox
进入 https://sandbox.neo4j.com/
官网,注册自己的账号,新建自己的项目,出现下列界面:
点击 Add to Neo4j Desktop project
,然后下载 Neo4j Desktop
应用程序。
这里可以看到,需要我们链接远程数据库或者本地数据库,进入我们刚刚打开的数据库控制台,找到我们的远程地址和用户名密码。
当然也可以不用本地 desktop
链接,直接就在控制台查看也可以,但是建议最好本地下载一个。
用户名和密码在下列第二个链接详情界面:
二、django中使用neo4j图数据库
进入我们的项目 testsite
根目录,第一步安装 neo4j
库,还有 langchain
中的langchain_experimental
,它提供了 LLMGraphTransformer
模块,可以调用图数据进行数据增删改查:
pip install neo4j
pip