数据模型设计
易经文化知识库的核心数据实体定义。此模型同时适用于 PostgreSQL 关系数据库和 Neo4j 图数据库。
核心实体
1. Hexagram (卦象)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | UUID | 唯一标识 | hexagram-001 |
| name | string | 卦名 | 乾卦 |
| symbol | string | Unicode 符号 | ☰䷀ |
| order | int | 卦序 (1-64) | 1 |
| upper_trigram | ref | 上卦 → Trigram | 乾 |
| lower_trigram | ref | 下卦 → Trigram | 乾 |
| gua_ci | text | 卦辞 | 元亨利贞 |
| tuan_ci | text | 彖辞 | 大哉乾元… |
| xiang_ci | text | 象辞 | 天行健… |
| yao_ci | jsonb | 六爻辞 [位, 辞, 释义] | [{pos:1, ci:“潜龙勿用”,…}] |
| wuxing | enum | 五行属性 | 金 |
| direction | enum | 方位 | 西北 |
| solar_term | string | 对应节气 | 立冬 |
| person_symbol | string | 人事象征 | 父、君、首 |
| keywords | string[] | 关键词标签 | [天, 刚健, 元亨利贞, 龙] |
2. Trigram (八卦)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | ref | 编号 | trigram-001 |
| name | string | 卦名 | 乾 |
| symbol | string | Unicode 符号 | ☰ |
| binary | string | 阴阳爻序列 | 111 |
| wuxing | enum | 五行 | 金 |
| direction | enum | 先天方位 | 南 (先天) / 西北 (后天) |
3. Concept (概念)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | UUID | 唯一标识 | concept-001 |
| name | string | 概念名 | 先天一炁 |
| category | enum | 分类 | 理论基础 |
| definition | text | 定义 | 宇宙开辟前的原初状态… |
| super_concept | ref[] | 上位概念 | [无极] |
| sub_concept | ref[] | 下位概念 | [太极] |
| related_concept | ref[] | 关联概念 | [道, 元气, 浑沦] |
| classic_quotes | jsonb | 经典原文引用 | [{text:”…”, source:“道德经”}] |
4. Classic (典籍)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | UUID | 唯一标识 | classic-001 |
| title | string | 书名 | 周易正义 |
| author | ref[] | 作者 | [王弼, 孔颖达] |
| dynasty | enum | 年代 | 唐代 |
| school | enum[] | 学派类型 | [义理派, 官方注疏] |
| volumes | int | 卷数 | 10 |
| collection | string | 收录丛书 | 十三经注疏 |
| source_url | string | 数字来源 | https://ctext.org/… |
| structure | jsonb | 篇章结构 | […] |
5. Person (人物)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | UUID | 唯一标识 | person-001 |
| name | string | 姓名 | 王弼 |
| courtesy_name | string | 字号 | 辅嗣 |
| birth_year | int | 生年 | 226 |
| death_year | int | 卒年 | 249 |
| dynasty | enum | 朝代 | 魏晋 |
| school | enum[] | 所属学派 | [义理派, 玄学] |
| teachers | ref[] | 师承 → Person | […] |
| students | ref[] | 弟子 → Person | […] |
| works | jsonb | 著作 | [{title:“周易注”, type:“注释”}] |
6. Method (术数)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
| id | UUID | 唯一标识 | method-001 |
| name | string | 术数名称 | 六爻纳甲 |
| type | enum | 分类 | 占卜 |
| theory_basis | ref[] | 理论依据 → Concept | [阴阳, 五行, 八卦, 天干地支] |
| classic_sources | ref[] | 经典来源 → Classic | [京房易传] |
| steps | jsonb | 操作步骤 | […] |
实体关系
| 关系 | 类型 | 起点 | 终点 | 说明 |
|---|---|---|---|---|
| BELONGS_TO | 1:N | Hexagram | Trigram | 卦属于某卦宫/上卦/下卦 |
| GENERATES | N:N | Hexagram | Hexagram | 卦变/综/错/互关系 |
| EXPLAINS | N:N | Concept | Concept | 概念间阐释关系 (上位/下位) |
| SOURCED_FROM | N:N | Concept | Classic | 概念出自某经典 |
| COMMENTED_BY | N:N | Classic | Person | 典籍由某人注释 |
| AUTHOR_OF | 1:N | Person | Classic | 人物著作典籍 |
| TAUGHT_BY | N:N | Person | Person | 师承关系 |
| BASED_ON | N:N | Method | Concept | 术数的理论基础 |
| DERIVED_FROM | N:N | Method | Classic | 术数源自某经典 |
| INFLUENCED_BY | N:N | Person | Person | 学术影响关系 |
知识图谱 Schema (Neo4j)
CREATE
(:Concept {id, name, category, definition}),
(:Trigram {id, name, symbol, binary, wuxing}),
(:Hexagram {id, name, symbol, order, gua_ci, wuxing}),
(:Classic {id, title, author, dynasty}),
(:Person {id, name, dynasty, school}),
(:Method {id, name, type}),
// Relations
(:Concept)-[:EXPLAINS]->(:Concept),
(:Concept)-[:SOURCED_FROM]->(:Classic),
(:Hexagram)-[:HAS_UPPER]->(:Trigram),
(:Hexagram)-[:HAS_LOWER]->(:Trigram),
(:Hexagram)-[:GENERATES]->(:Hexagram),
(:Person)-[:AUTHOR_OF]->(:Classic),
(:Person)-[:COMMENTED_ON]->(:Classic),
(:Person)-[:TAUGHT_BY]->(:Person),
(:Person)-[:INFLUENCED_BY]->(:Person),
(:Method)-[:BASED_ON]->(:Concept),
(:Method)-[:DERIVED_FROM]->(:Classic)后续步骤
- 编写 Python 脚本解析 Obsidian Markdown → JSON
- 建立 PostgreSQL Schema Migration
- 建立 Neo4j 导入脚本
- 编写数据校验规则(确保数据完整性)