***
## 一、节点文件设计原则
每类神学实体建议用**独立的 CSV 文件**,而非混合在一张表里,便于 Neo4j 分别赋予标签 。[1][2]
### `nodes_concept.csv`(神学概念)
“`csv
id,name,category,tradition,
C001,神圣经纶,经纶论,倪李神学,
C002,神圣生命,生命论,倪李神学,
C003,人的灵,人论,倪李神学,人里面接触神的最深处器官,
C004,调和(Mingling),救赎论,倪李神学,
C005,召会建造,召会论,倪李神学,
C006,得胜者,末世论,倪李神学,
C007,变化形态(Metabolic Transformation),救赎论,倪李神学,
C008,三一神,神论,倪李神学,父子灵三而一的神圣实体,
“`
### `nodes_person.csv`(人物)
“`csv
id,name,role,period,location,
P001,倪柝声,使徒型工人,1903-1972,中国/
P002,李常受,使徒型工人,1905-1997,台湾/
P003,奥斯丁·沃森斯,弟兄会领袖,1808-1897,
P004,宾路易师母,慕迪相关更新运动,1861-1921,
“`
### `nodes_book.csv`(著作)
“`csv
id,title,author_id,year,
B001,属灵人,P001,1928,中文,人论;灵魂体
B002,正常的基督徒生活,P001,1957,中文,
B003,以弗所书生命读经,P002,1984,中文,
B004,神圣经纶,P002,1972,中文,经纶论;三一神
B005,基督身体的建造,P002,1965,中文,召会建造
B006,恢复版新约圣经,P002,1985,中文,
“`
### `nodes_theme.csv`(神学主题类别)
“`csv
id,name,description
T001,人论,关于人的本质与构成(灵魂体)
T002,经纶论,神永远计划与目的
T003,召会论,教会本质与实践原则
T004,生命论,神圣生命的分赐与经历
T005,末世论,得胜者与神国度
“`
***
## 二、关系文件设计原则
关系文件需包含**源节点ID、目标节点ID、关系类型、
### `relationships.csv`(统一关系文件)
“`csv
source_id,source_label,target_
P001,Person,B001,Book,
P001,Person,B002,Book,
P002,Person,B003,Book,
P002,Person,B004,Book,
C001,Concept,C005,Concept,
C002,Concept,C003,Concept,
C003,Concept,C005,Concept,
C004,Concept,C002,Concept,
C007,Concept,C003,Concept,
B001,Book,C003,Concept,
B003,Book,C001,Concept,
B004,Book,C008,Concept,
C001,Concept,T002,Theme,
C005,Concept,T003,Theme,
C002,Concept,T004,Theme,
P001,Person,P002,Person,
“`
***
## 三、列名规范总结
| 列名 | 用途 | 建议格式 |
|——|——|———|
| `id` | 节点唯一标识符 | 前缀+三位数字,如 `C001` [4] |
| `name` | 显示名称 | 中文全称 |
| `label` / `source_label` | Neo4j 节点标签 | 英文大写,如 `Concept` [1] |
| `type`(关系) | 关系类型 | 英文大写下划线,如 `AUTHORED` [1] |
| `weight` | 关系强度 | 0–1 浮点数(GraphRAG 输出可直接使用)[5] |
| `tradition` | 神学传统归属 | 便于比较神学过滤查询 |
| `source_book` | 概念来源 | 圣经章节或著作 |
***
## 四、与 GraphRAG 输出对接
若使用 GraphRAG/LightRAG 自动抽取,其输出的 `entities.csv` 和 `relationships.csv` 列名需映射到上述格式 :[5][6]
“`python
import pandas as pd
# GraphRAG 输出列:name, type, description, source_id, target_id, weight
entities = pd.read_csv(“graphrag_output/
rels = pd.read_csv(“graphrag_output/
# 映射为 Neo4j 导入格式
entities = entities.rename(columns={“
entities[“id”] = [“C” + str(i).zfill(3) for i in range(1, len(entities)+1)]
rels = rels.rename(columns={“weight”: “weight”})
rels[“type”] = rels[“type”].str.upper().str.
entities.to_csv(“nodes_
rels.to_csv(“relationships.
“`
> **重要**:最终 CSV 须以 **UTF-8 with BOM(`utf-8-sig`)** 编码保存,防止 Neo4j 导入中文乱码 。[7]
Sources
[1] How to Build a Knowledge Graph with Neo4j to Detect Patterns and … https://blogs.
[2] From CSV To GraphRAG Systems With Neo4j And LangChain | Part 1 https://www.youtube.com/watch?
[3] Create Relationships from CSV – Neo4j Community https://community.neo4j.com/t/
[4] Best practice of Neo4j for specified case – Neo4j Graph Platform https://community.neo4j.com/t/
[5] Easy GraphRAG with Neo4j Visualisation Locally – YouTube https://www.youtube.com/watch?
[6] Support for CSV files exported from Neo4j for indexing in GraphRAG https://github.com/microsoft/
[7] Import CSV to Neo4j – CSVBox Blog https://blog.csvbox.io/import-
[8] Neo4J Enforce Unique Relationships bertween Nodes when … https://stackoverflow.com/
[9] Unlocking the Power of Neo4j: A Comprehensive Guide to Graph … https://byteridge.com/
[10] Best practices for transforming rows of data in nodes & relationships https://community.neo4j.com/t/
[11] Neo4j Live: How to Build a Knowledge Graph – YouTube https://www.youtube.com/watch?
[12] I want to build a knowledge graph – can you tell me if that’s … – Reddit https://www.reddit.com/r/