在线问诊 Python、FastAPI、Neo4j — 创建节点

发布时间 2023-09-08 17:09:56作者: VipSoft


在线问诊 Python、FastAPI、Neo4j — 创建节点
Neo4j 节点的标签可以理解为 Java 中的实体。

根据常规流程:首先有什么症状,做哪些对应的检查,根据检查诊断什么疾病,需要用什么药物治疗,服药期间要注意哪些饮食,需要做哪些运行
在线问诊大概创建:症状、检查项目、疾病、药品、饮食、运动 这几个对象

前提条件

基于 Python FastAPI 获取 Neo4j 数据 :https://www.cnblogs.com/vipsoft/p/17687070.html

创建节点 Demo

通过 这个Demo 理解 Neo4j Driver for Python ,创建节点
test_create_node.py

import logging
from utils.neo4j_provider import driver

logging.root.setLevel(logging.INFO)

''' 创建知识图谱实体节点类型schema '''


def create_drug(tx, name):
    query = (
        "CREATE (n:Drug {name: $name})"
        "RETURN id(n)"
    )
    result = tx.run(query, name=name)
    return result.single()[0]


if __name__ == "__main__":
    with driver.session() as session:
        session.execute_write(create_drug, "扶他林")
    driver.close()
    logging.info("创建成功")

验证

# 查看创建后的结果
MATCH (n:Drug) WHERE n.name="扶他林" RETURN n
# 删除节点
MATCH (n:Drug) WHERE n.name="扶他林" DELETE n

image

准备数据

采用 CSV 格式,CSV 是一种纯文本形式保存数据,好处可以记事本打开预览,也可用 excel 打开,将来数据来源都过爬虫或者NLP处理,比处理Excel要方便得多
Excel编辑 CSV 就乱码了,不知道为啥
image