|
@@ -457,6 +457,20 @@ def id_data_save():
|
|
|
|
|
|
# 处理元数据保存
|
|
# 处理元数据保存
|
|
with neo4j_driver.get_session() as session:
|
|
with neo4j_driver.get_session() as session:
|
|
|
|
+ # 获取数据资源名称
|
|
|
|
+ resource_query = """
|
|
|
|
+ MATCH (n:data_resource)
|
|
|
|
+ WHERE id(n) = $resource_id
|
|
|
|
+ RETURN n.name as resource_name
|
|
|
|
+ """
|
|
|
|
+ resource_result = session.run(resource_query, resource_id=int(resource_id))
|
|
|
|
+ resource_record = resource_result.single()
|
|
|
|
+
|
|
|
|
+ if not resource_record:
|
|
|
|
+ return jsonify(failed(f"未找到ID为{resource_id}的数据资源"))
|
|
|
|
+
|
|
|
|
+ resource_name = resource_record["resource_name"]
|
|
|
|
+
|
|
# 先删除现有关系
|
|
# 先删除现有关系
|
|
cypher_delete = """
|
|
cypher_delete = """
|
|
MATCH (n:data_resource)-[r:contain]->()
|
|
MATCH (n:data_resource)-[r:contain]->()
|
|
@@ -501,13 +515,13 @@ def id_data_save():
|
|
|
|
|
|
rel_result = session.run(
|
|
rel_result = session.run(
|
|
rel_cypher,
|
|
rel_cypher,
|
|
- r_name=receiver['name'],
|
|
|
|
|
|
+ r_name=resource_name,
|
|
m_name=meta["name"]
|
|
m_name=meta["name"]
|
|
)
|
|
)
|
|
|
|
|
|
# 检查关系是否创建成功
|
|
# 检查关系是否创建成功
|
|
if rel_result.single():
|
|
if rel_result.single():
|
|
- logger.info(f"成功创建关系: {receiver['name']} -> {meta['name']}")
|
|
|
|
|
|
+ logger.info(f"成功创建关系: {resource_name} -> {meta['name']}")
|
|
else:
|
|
else:
|
|
logger.warning(f"关系创建结果为空")
|
|
logger.warning(f"关系创建结果为空")
|
|
|
|
|
|
@@ -519,7 +533,7 @@ def id_data_save():
|
|
|
|
|
|
verify_result = session.run(
|
|
verify_result = session.run(
|
|
verify_cypher,
|
|
verify_cypher,
|
|
- r_name=receiver['name'],
|
|
|
|
|
|
+ r_name=resource_name,
|
|
m_name=meta["name"]
|
|
m_name=meta["name"]
|
|
)
|
|
)
|
|
|
|
|