一、获取数据集
1.1 获取数据集
获取人物关系数据集资源。

1.2 以记事本方式打开文件

1.3 另存为 UTF-8 格式文件

1.4 选择是

二、打开 Neo4j 并运行
2.1 创建新的 Neo4j 数据库

2.2 分别设置数据库名和密码

2.3 启动 Neo4j 数据库

2.4 打开 Neo4j 数据库

2.5 运行查看该数据库是否为空
match(n) return n;


三、打开 Python 创建项目
3.1 创建一个包,存项目

3.2 创建一个项目

3.3 检查自己的依赖是否完全
3.3.1 点击 File-Settings

3.3.2 找到 Project:PythonProject-Python Interpreter
检查是否导入了 neo4j、pandas、py2neo

3.4 导入相关依赖,打开 Terminal

3.5 输入命令
pip install neo4j-python-driver pandas py2neo

四、实现 Python 连接 Neo4j
4.1 Python 连接 Neo4j 测试
注意:其中的密码需修改为实际设置的 Neo4j 密码。

4.2 导入数据集
注意:请根据实际情况修改文件路径。

4.3 处理数据集
执行结果如下

4.4 初始化 neo4j 并合并数据集关系
tuple_total = []
for index, row in invoice_data.iterrows():
ties_total = [row['人物'], row['关系'], row['关系人物']]
tuple_total.extend([ties_total])
print(tuple_total)

4.5 把节点导入到 Neo4j 中
def create_node(people):
for name in people:
node_1 = Node('人物', name=name)
graph.create(node_1)
create_node(people)

4.6 运行代码后,查看 Neo4j 是否有节点



4.7 导入节点关系
matcher = NodeMatcher(graph)
for i in range(0, len(tuple_total)):
name_1 = matcher.match('人物', name=tuple_total[i][0]).first()
name_2 = matcher.match('人物', name=tuple_total[i][2]).first()
rel = tuple_total[i][1]
relationship = Relationship(name_1, rel, name_2)
graph.create(relationship)

4.8 查看 Neo4j


五、该过程出现的 Bug
5.1 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

解决过程:是因为你的 CSV 文件没有设置为 UTF-8,具体过程看本文的 1.2 和 1.3 过程。
