- 前端 React+TypeScript (源码+构建产物) - 后端 Python FastAPI - 数据库迁移 001-015 - Docker部署配置 - 微信ClawBot API频道绑定 - 项目文档 README.md
72 lines
3.7 KiB
SQL
72 lines
3.7 KiB
SQL
-- Qihu-AIFlow 013: 知识图谱AI驱动表
|
|
USE aiflow;
|
|
|
|
-- ============================================================
|
|
-- 存储过程:幂等创建知识图谱相关表
|
|
-- ============================================================
|
|
DROP PROCEDURE IF EXISTS create_kg_tables_013;
|
|
DELIMITER $$
|
|
CREATE PROCEDURE create_kg_tables_013()
|
|
BEGIN
|
|
-- knowledge_graph_nodes: 图谱实体节点
|
|
IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'knowledge_graph_nodes') THEN
|
|
CREATE TABLE knowledge_graph_nodes (
|
|
id VARCHAR(36) NOT NULL,
|
|
knowledge_base_id VARCHAR(36) NOT NULL,
|
|
source_doc_id VARCHAR(36) DEFAULT NULL,
|
|
label VARCHAR(500) NOT NULL,
|
|
type VARCHAR(50) NOT NULL COMMENT 'entity/attribute/concept/event',
|
|
properties JSON DEFAULT NULL,
|
|
description TEXT DEFAULT NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
INDEX idx_kgn_kb (knowledge_base_id),
|
|
INDEX idx_kgn_doc (source_doc_id),
|
|
CONSTRAINT fk_kgn_kb FOREIGN KEY (knowledge_base_id) REFERENCES knowledge_bases(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_kgn_doc FOREIGN KEY (source_doc_id) REFERENCES knowledge_documents(id) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
END IF;
|
|
|
|
-- knowledge_graph_edges: 图谱关系边
|
|
IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'knowledge_graph_edges') THEN
|
|
CREATE TABLE knowledge_graph_edges (
|
|
id VARCHAR(36) NOT NULL,
|
|
knowledge_base_id VARCHAR(36) NOT NULL,
|
|
source_node_id VARCHAR(36) NOT NULL,
|
|
target_node_id VARCHAR(36) NOT NULL,
|
|
relation VARCHAR(200) NOT NULL,
|
|
weight FLOAT DEFAULT 1.0,
|
|
description TEXT DEFAULT NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
INDEX idx_kge_kb (knowledge_base_id),
|
|
INDEX idx_kge_source (source_node_id),
|
|
INDEX idx_kge_target (target_node_id),
|
|
CONSTRAINT fk_kge_kb FOREIGN KEY (knowledge_base_id) REFERENCES knowledge_bases(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_kge_source FOREIGN KEY (source_node_id) REFERENCES knowledge_graph_nodes(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_kge_target FOREIGN KEY (target_node_id) REFERENCES knowledge_graph_nodes(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
END IF;
|
|
|
|
-- knowledge_graph_build_logs: 构建记录用于增量更新
|
|
IF NOT EXISTS (SELECT * FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'aiflow' AND TABLE_NAME = 'knowledge_graph_build_logs') THEN
|
|
CREATE TABLE knowledge_graph_build_logs (
|
|
id VARCHAR(36) NOT NULL,
|
|
knowledge_base_id VARCHAR(36) NOT NULL,
|
|
document_id VARCHAR(36) NOT NULL,
|
|
node_count INT DEFAULT 0,
|
|
edge_count INT DEFAULT 0,
|
|
status VARCHAR(20) DEFAULT 'completed',
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
INDEX idx_kgbl_kb (knowledge_base_id),
|
|
INDEX idx_kgbl_doc (document_id),
|
|
CONSTRAINT fk_kgbl_kb FOREIGN KEY (knowledge_base_id) REFERENCES knowledge_bases(id) ON DELETE CASCADE,
|
|
CONSTRAINT fk_kgbl_doc FOREIGN KEY (document_id) REFERENCES knowledge_documents(id) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|
|
CALL create_kg_tables_013();
|
|
DROP PROCEDURE IF EXISTS create_kg_tables_013;
|