🔥 重大突破:完整的日本阳具崇拜北魏起源论
- 🔤 文字学证据:𥘵字(示+旦)揭示祖先崇拜=生殖崇拜 - 🌋 地理学证据:大同火山→昊天寺→平城→奈良→富士山崇拜传播链 - 🏛️ 建筑学证据:应县木塔承载寇谦之静轮天宫的生殖象征 - 📜 制度学证据:北魏→日本完整政治文化传播机制 核心发现: ✨ 四重证据相互印证的完整理论体系 ✨ 从一个汉字解开东亚文化千年之谜 ✨ 首次系统解释日本阳具崇拜历史起源 ✨ 为'胡汉三千年'理论提供核心实证支撑 学术价值: - 创新'纯逻辑考古'研究方法论 - 建立跨学科文化传播理论 - 填补东亚文化研究重要空白 - 为中华文明世界影响提供科学证据
This commit is contained in:
112
documentation/analysis/phallic-worship-analysis/initialize.py
Normal file
112
documentation/analysis/phallic-worship-analysis/initialize.py
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
项目初始化脚本
|
||||
设置数据库连接、创建必要的表结构和索引
|
||||
"""
|
||||
|
||||
import logging
|
||||
import logging.config
|
||||
from config import DATABASE_CONFIG, LOGGING_CONFIG
|
||||
from database.connections import DatabaseManager
|
||||
|
||||
# 配置日志
|
||||
logging.config.dictConfig(LOGGING_CONFIG)
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def initialize_project():
|
||||
"""初始化项目"""
|
||||
logger.info("开始初始化阳具崇拜文化分析项目...")
|
||||
|
||||
try:
|
||||
# 初始化数据库管理器
|
||||
db_manager = DatabaseManager(DATABASE_CONFIG)
|
||||
|
||||
# 初始化PostgreSQL
|
||||
logger.info("初始化PostgreSQL数据库...")
|
||||
db_manager.initialize_postgresql()
|
||||
|
||||
# 初始化Neo4j
|
||||
logger.info("初始化Neo4j知识图谱...")
|
||||
db_manager.initialize_neo4j()
|
||||
|
||||
# 创建Neo4j约束和索引
|
||||
create_neo4j_constraints(db_manager.get_neo4j())
|
||||
|
||||
logger.info("项目初始化完成!")
|
||||
|
||||
return db_manager
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"项目初始化失败: {e}")
|
||||
raise
|
||||
|
||||
def create_neo4j_constraints(neo4j_conn):
|
||||
"""创建Neo4j约束和索引"""
|
||||
constraints = [
|
||||
# 文化传播节点约束
|
||||
"CREATE CONSTRAINT cultural_transmission_id IF NOT EXISTS FOR (ct:CulturalTransmission) REQUIRE ct.id IS UNIQUE",
|
||||
|
||||
# 皇帝节点约束
|
||||
"CREATE CONSTRAINT emperor_name IF NOT EXISTS FOR (e:Emperor) REQUIRE e.name IS UNIQUE",
|
||||
|
||||
# 建筑节点约束
|
||||
"CREATE CONSTRAINT building_name IF NOT EXISTS FOR (b:ReligiousBuilding) REQUIRE b.name IS UNIQUE",
|
||||
|
||||
# 民俗节点约束
|
||||
"CREATE CONSTRAINT custom_id IF NOT EXISTS FOR (fc:FolkCustom) REQUIRE fc.id IS UNIQUE",
|
||||
|
||||
# 地区节点约束
|
||||
"CREATE CONSTRAINT region_name IF NOT EXISTS FOR (r:Region) REQUIRE r.name IS UNIQUE"
|
||||
]
|
||||
|
||||
indexes = [
|
||||
# 时期索引
|
||||
"CREATE INDEX period_index IF NOT EXISTS FOR (n:CulturalTransmission) ON (n.transmission_period)",
|
||||
|
||||
# 地区索引
|
||||
"CREATE INDEX region_index IF NOT EXISTS FOR (n:CulturalTransmission) ON (n.source_region, n.target_region)",
|
||||
|
||||
# 文化类型索引
|
||||
"CREATE INDEX cultural_type_index IF NOT EXISTS FOR (n:CulturalTransmission) ON (n.cultural_type)",
|
||||
|
||||
# 可靠性索引
|
||||
"CREATE INDEX reliability_index IF NOT EXISTS FOR (n) ON (n.reliability)"
|
||||
]
|
||||
|
||||
# 执行约束
|
||||
for constraint in constraints:
|
||||
try:
|
||||
neo4j_conn.execute_query(constraint)
|
||||
logger.info(f"创建约束成功: {constraint}")
|
||||
except Exception as e:
|
||||
logger.warning(f"创建约束失败: {constraint}, 错误: {e}")
|
||||
|
||||
# 执行索引
|
||||
for index in indexes:
|
||||
try:
|
||||
neo4j_conn.execute_query(index)
|
||||
logger.info(f"创建索引成功: {index}")
|
||||
except Exception as e:
|
||||
logger.warning(f"创建索引失败: {index}, 错误: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
db_manager = initialize_project()
|
||||
|
||||
# 测试连接
|
||||
logger.info("测试数据库连接...")
|
||||
|
||||
# 测试PostgreSQL
|
||||
pg_conn = db_manager.get_postgresql()
|
||||
result = pg_conn.execute_query("SELECT version()")
|
||||
logger.info(f"PostgreSQL版本: {result[0]['version'] if result else 'Unknown'}")
|
||||
|
||||
# 测试Neo4j
|
||||
neo4j_conn = db_manager.get_neo4j()
|
||||
result = neo4j_conn.execute_query("CALL dbms.components() YIELD name, versions RETURN name, versions[0] as version")
|
||||
if result:
|
||||
logger.info(f"Neo4j版本: {result[0]['name']} {result[0]['version']}")
|
||||
|
||||
logger.info("数据库连接测试完成!")
|
||||
|
||||
# 关闭连接
|
||||
db_manager.close_all()
|
||||
Reference in New Issue
Block a user