在上一篇博客中,我们了解了如何使用 2 个插件 apoc 和图形数据科学库 – gds 在本地安装和设置 neo4j。在这篇博客中,我将获取一个玩具数据集(电子商务网站中的产品)并将其存储在 neo4j 中。
为 neo4j 分配足够的内存
在开始加载数据之前,如果您的用例中有大量数据,请确保为 neo4j 分配了足够的内存。为此:
- 点击打开右侧的三个点
- 点击
- 打开文件夹-> 配置
- 点击
- neo4j.conf
创建节点
- 图有两个主要组成部分:节点和关系,让我们先创建节点,然后再建立关系。
- 我正在使用的数据在这里 – data
- 使用这里提供的requirements.txt来创建一个Python虚拟环境-requirements.txt
- 让我们定义各种函数来推送数据。
- 导入必要的库
- 生成嵌入
1 2 3 4 5 6 7 8 9 |
|
- 根据我们的数据集,我们可以有两个唯一的节点标签,
- category:产品类别,product:产品名称。让我们创建类别标签,neo4j 提供了一种称为属性的东西,您可以将它们想象为特定节点的元数据。这里 name 和 embedding 是属性。因此,我们将类别名称及其相应的嵌入存储在数据库中。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
- 类似地,我们可以创建产品节点,这里的属性是
- name,descrIPtion,price,warranty_period,available_stock,review_ rating,product_release_date,embedding
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
- 完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
|
建立关系
- 我们将在
- category 和 product 之间创建关系,该关系的名称为 category_contains_product
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
|
- 通过使用 match 查询来匹配已经创建的节点,我们在它们之间建立关系。
可视化创建的节点
将鼠标悬停在
open图标上,然后单击neo4j浏览器以可视化我们创建的节点。
我们的数据连同它们的嵌入一起加载到 neo4j 中。
在接下来的博客中,我们将看到如何使用 python 构建图形查询引擎并使用获取的数据进行增强生成。
希望这有帮助…再见!