You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于SNOMED CT因果关系定性数据集的Cypher查询请求

Cypher查询语句:从SNOMED CT提取体征/症状与疾病/障碍的因果关系数据集

以下是适配SNOMED CT US 20230301版本、Neo4j 4.4.22的Cypher查询,用于构建你需要的因果定性数据集:

1. 提取「体征/症状 → 疾病/障碍」的因果关系(症状为因,疾病为果)

该查询利用SNOMED的Causes关系(ID:246061005),筛选活跃的体征/症状节点及其关联的疾病/障碍节点:

MATCH (symptom:Concept {active: true})
// 限定节点为体征/症状(属于SNOMED概念"Sign or symptom",ID:272379006)
WHERE EXISTS {
    MATCH (symptom)-[:ISA*]->(:Concept {id: '272379006'})
}
// 匹配症状与疾病的因果关系
MATCH (symptom)-[:RELATIONSHIP {typeId: '246061005', active: true}]->(disease:Concept)
// 限定节点为疾病/障碍(属于SNOMED概念"Disease",ID:64572001)
WHERE EXISTS {
    MATCH (disease)-[:ISA*]->(:Concept {id: '64572001'})
}
// 返回核心字段
RETURN 
    symptom.fsn AS symptom_name,
    symptom.id AS symptom_id,
    disease.fsn AS disease_name,
    disease.id AS disease_id,
    'Causes' AS relationship_type
LIMIT 100;

2. 提取「疾病/障碍 ← 体征/症状」的因果关系(症状为疾病的诱因)

若你需要的是疾病的致病原因包含体征/症状,可使用SNOMED的Has cause关系(ID:116680003):

MATCH (disease:Concept {active: true})
WHERE EXISTS {
    MATCH (disease)-[:ISA*]->(:Concept {id: '64572001'})
}
MATCH (disease)-[:RELATIONSHIP {typeId: '116680003', active: true}]->(symptom:Concept)
WHERE EXISTS {
    MATCH (symptom)-[:ISA*]->(:Concept {id: '272379006'})
}
RETURN 
    symptom.fsn AS cause_name,
    symptom.id AS cause_id,
    disease.fsn AS result_name,
    disease.id AS result_id,
    'Has cause' AS relationship_type
LIMIT 100;

关键说明

  • active: true:过滤已废弃的概念与关系,保证数据的有效性。
  • ISA*:匹配节点在SNOMED层级中的所有父类,确保准确筛选目标概念类别。
  • 可根据需求替换fsn(全指定名称)为pt(首选术语),或添加其他概念属性。
  • 全量查询时移除LIMIT子句即可,建议先通过小批量测试验证结果。

内容的提问来源于stack exchange,提问作者saarthak gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 17:20:36