Graph Neo4j-在图形中存储医疗症状

Graph Neo4j-在图形中存储医疗症状,graph,neo4j,cypher,graph-databases,non-relational-database,Graph,Neo4j,Cypher,Graph Databases,Non Relational Database,我正在使用Neo4j图形数据库来存储医疗症状和疾病。这样做的目的是根据用户输入到系统中的症状,推荐一个人可能患有的疾病。目前,我已将各种症状存储如下 这是一个非常基本的图形结构,我通过密码查询匹配模式来检索疾病,例如发烧、头痛和流感的病因交叉。我想要实现的是构建一个涉及位置和年龄因素等的复杂结构,并编写各种算法,通过高效遍历来检索连接最紧密的节点。我无法在互联网上找到如此复杂的结构,因此任何建议都将不胜感激。尽管这并不像问题中的编码,但请给出一些建议,因为这只是一个大学项目,我必须在这方面做得更

我正在使用Neo4j图形数据库来存储医疗症状和疾病。这样做的目的是根据用户输入到系统中的症状,推荐一个人可能患有的疾病。目前,我已将各种症状存储如下


这是一个非常基本的图形结构,我通过密码查询匹配模式来检索疾病,例如发烧、头痛和流感的病因交叉。我想要实现的是构建一个涉及位置和年龄因素等的复杂结构,并编写各种算法,通过高效遍历来检索连接最紧密的节点。我无法在互联网上找到如此复杂的结构,因此任何建议都将不胜感激。尽管这并不像问题中的编码,但请给出一些建议,因为这只是一个大学项目,我必须在这方面做得更进一步

查找连接最紧密的节点,即使用最多关系的节点

MATCH (n)-[r]-()
RETURN n, count(r) 
ORDER by count(r) desc
LIMIT 1

以上内容适用于Neo4j 2.0。请注意,这将遍历整个图形。但是如果你的要求是这样的,你就不得不做一些肮脏的工作。

也许你应该重新考虑你的模型。 伊姆霍,你没有分开症状,疾病 也许还有考试

看看Neo4J标签

(:症状)-【属于】->(:症状组)-【可能表示】->(:疾病) (:检查)-[验证]->(:疾病)

你必须将症状分组

因为这是一个大学项目,也许你不是一个医生,你不需要建立一个“治愈一切”的系统

处理找不到解决方案的情况


我不应该这样写,但我知道brilliant ppl working@Vidal(法国医学出版社)最近发布了一份关于该主题的图表。这里有一个简单的模型,可以回答复杂的查询

有3种类型的节点:

  • 症状或因素-可以是任何症状、温度、位置、年龄、性别或任何可能导致疾病的因素
  • 患者或病例-此节点将所有必需的症状节点作为传入节点,并将连接到一种疾病
  • 疾病-此节点将指示疾病
  • 使用患者数据构建此图后,您将有一个足够复杂的图表,可以执行以下操作:

  • 根据当前患者的症状,您可以编写一个简单的路径查询来获取最可能的疾病。这不仅会给你一个单一的疾病,而且会给你一个可能的疾病列表和基于过去患者记录的信心评分
  • 您还可以显示有趣的统计数据,如位置A和年龄B的所有患者通常患有疾病C
  • 这也将是所有过去患者记录的数据库

  • 由于这是一个大学项目,您可以首先尝试使用一些模拟数据。这种方法应该是有效性和简单性的完美结合。

    您能澄清一下您的问题吗?你写道,你想建立一个“涉及位置和年龄因素的复杂结构”,但你“无法找到如此复杂的结构”。您是否正在寻求帮助对您的模式进行建模?你在寻找一个可以用来填充图表的数据源吗?是的,没错,我找不到如此复杂的结构,你能帮我建模我的模式吗?你用哪些数据源作为疾病和症状的数据集?