Neo4j 그래프 데이터베이스 실습 - 지식 그래프 방식을 기반으로 한 돼지 사육질병 질의응답 시스템 개발 및 구축

Neo4j는 오픈 소스 고성능 그래프 데이터베이스입니다. 복잡한 관계가 있는 대규모 데이터를 저장, 검색 및 처리하도록 설계되었습니다. 기존 관계형 데이터베이스와 달리 Neo4j는 그래프 구조를 사용하여 데이터를 나타냅니다. 여기서 노드는 엔터티를 나타내고 에지는 엔터티 간의 관계를 나타냅니다. 이는 관계 집약적인 데이터를 처리할 때 Neo4j를 매우 강력하고 효율적으로 만듭니다.

Neo4j의 주요 기능은 다음과 같습니다.

  1. 그래프 데이터베이스: Neo4j는 데이터를 저장하고 관리하기 위한 그래프 모델을 제공하는 기본 그래프 기반 데이터베이스입니다. 이를 통해 소셜 네트워크, 추천 시스템, 사이버 보안 등과 같은 복잡한 데이터 관계를 쉽게 처리할 수 있습니다.

  2. 유연한 데이터 모델: Neo4j의 데이터 모델은 매우 유연하며 다양한 유형의 엔터티와 관계를 쉽게 나타낼 수 있습니다. 자신만의 노드 레이블과 에지 유형을 정의하고 여기에 속성을 추가하여 데이터 구조를 더 잘 표현할 수 있습니다.

  3. 고성능: Neo4j는 효율적인 그래프 탐색 알고리즘과 인덱싱 메커니즘을 사용하여 탁월한 성능을 달성합니다. 복잡한 그래프 쿼리를 신속하게 수행하여 심층 순회 및 빠른 관계 탐색을 지원합니다.

  4. 기본 쿼리 언어: Neo4j는 Cypher라는 기본 쿼리 언어를 사용하여 그래프 데이터를 조작하고 쿼리합니다. Cypher는 노드 및 에지 매칭, 경로 순회, 집계 작업 등 다양한 그래프 쿼리 패턴을 쉽게 표현할 수 있는 직관적인 구문을 가지고 있습니다.

  5. ACID 트랜잭션 지원: Neo4j는 원자성, 일관성, 격리 및 내구성(ACID) 트랜잭션 기능을 지원합니다. 이는 안정적인 지속성 메커니즘을 제공하는 동시에 데이터 무결성과 일관성을 보장합니다.

  6. 생태계 및 도구 지원: Neo4j는 시각화 도구, ETL 도구, 드라이버 및 통합 라이브러리 등을 포함하여 풍부한 생태계 및 도구 지원을 제공합니다. 이러한 도구를 사용하면 개발자와 데이터 분석가가 Neo4j 데이터베이스를 더 쉽게 사용하고 운영할 수 있습니다.

Neo4j 공식 웹사이트는 다음 과 같습니다.

필요에 따라 다운로드하여 설치하고 사용할 수 있습니다.

설치가 완료된 후 시작되는 스크린샷은 다음과 같습니다.

여기에 설치한 것은 버전 1.5.8입니다.

학교 다닐 때 Neo4j 데이터베이스를 접한 적이 있는데 그냥 간단히 설치해서 연습해봤는데 나중에 주제 방향이 바뀌어서 다시는 접하지 않게 되었어요 우연히 이 그래프 데이터베이스를 보게 됐어요 또 최근에 주말에 할 일이 없었을 때 내용, 생각해 보세요.

실제적인 개발 프로젝트를 시작해보자면, 여기서는 주로 이전 프로젝트에서 수집한 돼지 관련 사육질병 데이터 세트를 벤치마크로 활용하여 지식 그래프 기반의 질의응답 시스템을 구축한다.

지식 그래프는 구조화된 지식을 구성, 표현 및 저장하는 데 사용되는 그래픽 지식 기반입니다. 이는 실제 개체, 개념 및 이들 사이의 관계를 그래픽 구조로 표현하므로 지식을 더 잘 이해하고 분석하는 데 도움이 됩니다.

지식 그래프는 일반적으로 세 가지 주요 구성 요소로 구성됩니다.

  1. 엔터티: 엔터티는 사람, 장소, 항목, 이벤트 등 실제 세계의 특정 사물을 나타냅니다. 각 엔터티에는 고유한 식별자와 관련 속성 정보가 있습니다.

  2. 속성: 속성은 엔터티의 특성과 속성을 설명합니다. 예를 들어 개인 엔터티에는 이름, 나이, 성별 등과 같은 속성이 있을 수 있습니다.

  3. 관계: 관계는 엔터티 간의 연결과 연관을 나타냅니다. 이는 "작업 위치", "위치 위치", "하위 집합/상위 집합" 등과 같은 엔터티 간의 의미론적 관계를 설명합니다.

지식 그래프의 장점은 복잡한 관계를 포착 및 표현할 수 있고 지식을 저장하고 쿼리하는 구조화된 방법을 제공할 수 있다는 것입니다. 지능형 추천 시스템, 질문 및 답변 시스템, 의미 검색 엔진 및 기타 애플리케이션을 구축하는 데 사용할 수 있습니다. 지식 그래프를 활용하면 보다 고도화된 데이터 분석, 의미 추론, 정보 추출을 수행할 수 있습니다.

예를 들어 백과사전을 예로 들면, 지식 그래프는 다양한 주제, 인물, 사건 등의 개체를 그래픽 구조로 정리하고 관계를 이용해 연결할 수 있다. 이를 통해 특정 캐릭터의 가족 찾기, 사건의 역사적 배경 이해 등 관련 지식을 쉽게 탐색하고 발견할 수 있습니다.

먼저, 아래와 같이 데이터 세트를 간략하게 살펴보겠습니다.

"猪附红细胞体病": {
    "name": "猪附红细胞体病",
    "desc": "由附红细胞体寄生于猪的红细胞表面或游离于血浆、组织液及脑脊液中引起的一种人畜共患病,猪发病时,皮肤发红,故又称“猪红皮病”。",
    "cause": "附红细胞体病是由多种原因引发的疾病,只有在应激和肌体抗病力降低的情况下才会诱发此病。如饲养管理不良、天气突变、突然换料、更换圈舍、密度过大等应激因素或患猪瘟、猪蓝耳病、传染性胸膜肺炎、猪链球菌病、副猪嗜血杆菌病等慢性病时,最易并发和继发附红细胞体病。",
    "prevent": "预防本病的发生应加强猪场的卫生防疫,消除各种应激因素。在温热季节应定期喷洒杀虫剂,以杀灭蚊、蝇、蜱、牛虻、体虱、跳蚤等吸血昆虫,消除传染媒介。发病猪只要进行及时有效的治疗。对无治疗价值的病猪应及时进行淘汰,以清除传染源。阳性猪群,饲料中可添加强力霉素等,以消除隐性感染。购入猪只要进行血液检查,防止引入病猪或隐性感染猪。本病流行季节给予预防用药,可在饲料中添加上强力霉素或金霉素添加剂,或每公斤饲料添加90毫克阿散酸,连续使用30天,或每月使用7-10天。 防重于治是养猪的最后方法。",
    "cure_lasttime": "一般3-14天。",
    "cure_way": "⑴血虫净(或三氮眯、贝尼尔) 每公斤体重用5mg-10mg,用生理盐水稀释成5%溶液,分点肌肉注射,1天1次,连用3天。⑵咪唑苯脲每公斤体重用1mg-3mg,1天1次,连用2天-3天。⑶四环素、土霉素(每公斤体重10mg)和金霉素(每公斤体重15mg)口服或肌注或静注,连用7天-14天。⑷新胂凡纳明按每公斤体重10mg-15mg静脉注射,一般3天后症状可消失。",
    "easy_get": "不同年龄的猪均有易感性,通常发生在哺乳猪、怀孕的母猪以及受到高度应激的肥育猪身上。",
    "symptom": [
      "体温升高为40.5℃~42℃",
      "皮肤发红,指压退色",
      "精神不振",
      "食欲减退",
      "怕冷聚堆",
      "咳嗽",
      "流鼻涕",
      "呼吸困难",
      "尿液淡黄",
      "发病中期,病猪行走时后躯摇晃,喜卧厌立,便秘或拉稀,精神沉郁,呼吸困难",
      "血液稀薄,色淡,往往随注射针孔流血不止",
      "皮毛枯燥",
      "背腹部毛色铁锈色",
      "皮肤苍白",
      "耳内侧、背侧、颈背部、腹侧部皮肤出现暗红色出血点,可视黏膜轻度肿胀,初期潮红,后期苍白",
      "轻度黄疸",
      "尿液淡黄、淡红或呈红褐色,卧地不起",
      "后期,病猪耳朵变蓝色、坏死,排血便和血红蛋白尿,最后四肢呈游泳状划动,呼吸困难,衰竭死亡"
    ],
    "recommand_drug": [
      "抗生素",
      "磺胺类",
      "砷制剂",
      "血虫净",
      "三氮眯",
      "贝尼尔",
      "咪唑苯脲",
      "四环素",
      "土霉素",
      "金霉素",
      "新胂凡纳明"
    ],
    "checks": [
      "猪附红细胞体病的发热、贫血、黄疸等症状具有一定的诊断意义,其他临床症状,如食欲减退、呼吸急迫、心悸亢进等非特征性症状在本病的诊断上意义不大。",
      "猪患附红细胞体病后全身各部均无特征性的病理变化,一般无需作病理学检查。因此,对本病确诊,必须先进行实验室检查。",
      "实验室诊断的方法很多,如可用间接红细胞凝集试验、补体结合试验、相差显微镜观察和染色血液涂片观察等。",
      "间接红细胞凝集试验和补体结合试验反应敏感、检出率高,但试验条件要求高,需要时间较长。",
      "相差显微镜观察和染色血液涂片观察以及鲜血直接压片,所需设备和药品较少,且操作简单、快捷,检出率也较高,一般在半个小时内即可作出确切诊断。"
    ],
    "departments": [
      "寄生虫病"
    ],
    "methods": [
      "温热季节定期喷洒杀虫剂",
      "及时治疗发病猪只,无治疗价值的猪只应及时淘汰",
      "阳性猪群,饲料中可添加强力霉素等,以消除隐性感染。",
      "购入猪只要进行血液检查,防止引入病猪或隐性感染猪。"
    ],
    "acompany_with": [
      "链球菌病",
      "猪水肿病",
      "仔猪副伤寒",
      "猪肺疫",
      "猪丹毒",
      "猪瘟",
      "弓形虫病"
    ]
  }

위 내용은 단일 질병에 대한 관련 내용 내용으로, 많은 내용이 포함되어 있음을 알 수 있습니다.

다음은 몇 가지 일반적인 돼지 질병에 대한 소개입니다.

{
    "猪附红细胞体病": {
        "疾病所属类别": "寄生虫病",
        "疾病诊断要点": "相差显微镜观察和染色血液涂片观察以及鲜血直接压片,所需设备和药品较少,且操作简单、快捷,检出率也较高,一般在半个小时内即可作出确切诊断。",
        "疾病推荐药物": "新胂凡纳明",
        "疾病预防措施": "购入猪只要进行血液检查,防止引入病猪或隐性感染猪。"
    },
    "副猪嗜血杆菌病": {
        "疾病所属类别": "细菌性传染病",
        "疾病诊断要点": "该病易与传染性胸膜肺炎相混淆,但该病引起的病变多数为脑膜炎,关节炎和四肢跛行等,而传染性胸膜性肺炎较少见。",
        "疾病推荐药物": "阿莫西林",
        "疾病预防措施": "疫苗免疫"
    },
    "猪支原体肺炎": {
        "疾病所属类别": "传染病",
        "疾病诊断要点": "其他内脏一般无明显变化。",
        "疾病推荐药物": "中药方剂 (苏子、杏仁、款冬花、桔梗、甘草、陈皮、鱼腥草等)",
        "疾病预防措施": "加强消毒,保持栏舍清洁、干燥通风。"
    },
    "猪圆环病毒病": {
        "疾病所属类别": "病毒性传染病",
        "疾病诊断要点": "血清学检查:是生前诊断的一种有效手段。诊断本病的方法有:间接免疫荧光法(IIF),免疫过氧化物单层培养法,ELISA方法,聚合酶链式反应(PCR)方法,核酸探针杂交及原位杂交试验(ISH)等方法。",
        "疾病推荐药物": "选用新型的抗病毒剂如干扰素、白细胞介导素、免疫球蛋白、转移因子等进行治疗,同时配合中草药抗病毒制剂,会取得明显治疗效果。",
        "疾病预防措施": "加强饲养管理"
    },
    "猪链球菌病": {
        "疾病所属类别": "人畜共患病",
        "疾病诊断要点": "药敏试验",
        "疾病推荐药物": "抗生素",
        "疾病预防措施": "加强饲养管理"
    },
    "猪伪狂犬病": {
        "疾病所属类别": "急性传染病",
        "疾病诊断要点": "血清学诊断可直接用免疫荧光法、间接血凝抑制试验、琼脂扩散试验、补体结合试验、酶联免疫吸附试验、乳胶凝集试验。",
        "疾病推荐药物": "猪血清抗体",
        "疾病预防措施": "同时,还要严格控制犬、猫、鸟类和其他禽类进入猪场,严格控制人员来往,并做好消毒工作及血清学监测等,这样对本病的防制也可起到积极的推动作用。"
    }

다음으로 데이터 로딩, 파싱, 저장 작업을 완료하기 위한 프로그램을 개발해야 합니다. 여기서 pigMedicalGraph 클래스는 다음과 같이 정의됩니다.

#!usr/bin/env python
# encoding:utf-8
from __future__ import division


"""
功能:  猪类疾病知识图谱构建
"""

import os
import json
from py2neo import Graph,Node


class pigMedicalGraph:
    def __init__(self):


    def read_nodes(self):


    def create_node(self, label, nodes):


    def create_diseases_nodes(self, disease_infos):
     

    def create_graphnodes(self):


    def create_graphrels(self):


    def create_relationship(self, start_node, end_node, edges, rel_type, rel_name):
 

첫 번째는 아래와 같이 로컬 데이터를 로드하고 구문 분석하는 것입니다.

count = 0
with open(self.data_path, encoding="utf-8") as f:
    data_dict = json.load(f)
for one_key in data_dict:
    data_json = data_dict[one_key]
    disease_dict = {}
    count += 1
    print(count)
    disease = data_json["name"]
    print(disease)
    disease_dict["name"] = disease
    if type(disease) == list:
        diseases += disease
        disease = disease[0]
    else:
        diseases.append(disease)
    disease_dict["desc"] = ""
    disease_dict["cause"] = ""
    disease_dict["prevent"] = ""
    disease_dict["cure_lasttime"] = ""
    disease_dict["cure_way"] = ""
    disease_dict["symptom"] = ""
    disease_dict["recommand_drug"] = ""
    print("59")
    if "symptom" in data_json:
        symptoms += data_json["symptom"]
        for symptom in data_json["symptom"]:
            has_symptom.append([disease, symptom])
    if "checks" in data_json:
        checks += data_json["checks"]
        for check in data_json["checks"]:
            need_check.append([disease, check])
    if "departments" in data_json:
        departments += data_json["departments"]
        for department in data_json["departments"]:
            belongs_to.append([disease, department])
    if "methods" in data_json:
        methods += data_json["methods"]
        for method in data_json["methods"]:
            recommand_method.append([disease, method])
    if "desc" in data_json:
        disease_dict["desc"] = data_json["desc"]
    if "prevent" in data_json:
        disease_dict["prevent"] = data_json["prevent"]
    if "cause" in data_json:
        disease_dict["cause"] = data_json["cause"]
    if "easy_get" in data_json:
        disease_dict["easy_get"] = data_json["easy_get"]
    if "cure_way" in data_json:
        disease_dict["cure_way"] = data_json["cure_way"]
    if "cure_lasttime" in data_json:
        disease_dict["cure_lasttime"] = data_json["cure_lasttime"]
    if "recommand_drug" in data_json:
        recommand_drug1 = data_json["recommand_drug"]
        drugs += recommand_drug1
        for drug in recommand_drug1:
            recommand_drug.append([disease, drug])
    disease_infos.append(disease_dict)

다음 단계는 지식 그래프에 노드 노드를 생성하는 것입니다. 구현은 다음과 같습니다.

def create_node(self, label, nodes):
    """
    创建节点
    """
    count = 0
    for node_name in nodes:
        node = Node(label, name=node_name)
        self.g.create(node)
        count += 1
        print(count, len(nodes))
    return

그런 다음 아래와 같이 지식 그래프에서 질병 노드 생성을 구현합니다.

def create_diseases_nodes(self, disease_infos):
    """
    创建知识图谱中疾病的节点
    """
    count = 0
    for disease_dict in disease_infos:
        print(disease_dict)
        node = Node(
            "Disease",
            name=disease_dict["name"],
            desc=disease_dict["desc"],
            cause=disease_dict["cause"],
            prevent=disease_dict["prevent"],
            cure_lasttime=disease_dict["cure_lasttime"],
            cure_way=disease_dict["cure_way"],
            easy_get=disease_dict["easy_get"],
            recommand_drug=disease_dict["recommand_drug"],
            symptom=disease_dict["symptom"],
        )
        print("132")
        self.g.create(node)
        count += 1
        print(count)
    return

다음 단계는 지식 그래프 개체 노드 유형 스키마를 생성하는 것입니다. 핵심 구현은 다음과 같습니다.

self.create_diseases_nodes(disease_infos)
self.create_node("checks", checks)
self.create_node("departments", departments)
self.create_node("diseases", diseases)
self.create_node("drugs", drugs)
self.create_node("methods", methods)
self.create_node("symptoms", symptoms)

그런 다음 아래와 같이 엔터티 연결 가장자리를 만듭니다.

def create_relationship(self, start_node, end_node, edges, rel_type, rel_name):
    """
    创建实体关联边
    """
    count = 0
    # 去重处理
    set_edges = []
    for edge in edges:
        set_edges.append("".join(edge))
    all = len(set(set_edges))
    for edge in set(set_edges):
        edge = edge.split("")
        p = edge[0]
        q = edge[1]
        query = (
            "match(p:%s),(q:%s) where p.name='%s' and q.name='%s' create (p)-[rel:%s{name:'%s'}]->(q)"
            % (start_node, end_node, p, q, rel_type, rel_name)
        )
        try:
            self.g.run(query)
            count += 1
            print(rel_type, count, all)
        except Exception as e:
            print(e)
    return

마지막으로 아래와 같이 엔터티 관계 가장자리를 만듭니다.

self.create_relationship("diseases", "departments", belongs_to, "belongs_to", "属于")
self.create_relationship("diseases", "checks", need_check, "need_check", "疾病诊断结果")
self.create_relationship(
    "diseases", "drugs", recommand_drug, "recommand_drug", "疾病推荐药品"
)
self.create_relationship(
    "diseases", "methods", recommand_method, "recommand_method", "疾病预防措施"
)
self.create_relationship("diseases", "symptoms", has_symptom, "has_symptom", "疾病症状")
self.create_relationship(
    "diseases", "diseases", acompany_with_, "acompany_with_", "疾病并发疾病"
)

이 시점에서 데이터 분석 및 로딩 작업은 기본적으로 완료됩니다.

아래와 같이 neo4j 데이터베이스 데스크탑에서 직접 열고 볼 수 있습니다.

http://localhost:7474/browser/를 직접 복사할 수도 있습니다.

아래와 같이 브라우저에서 열면 됩니다.

분명히 브라우저 측의 작업과 시각화가 더 부드럽고 매끄러워졌다고 느낍니다.

여기에서 지식 그래프의 기능을 직접 사용하여 지식 질문에 답할 수 있습니다. 간단한 구현은 다음과 같습니다.

class ChatRobot:
    def __init__(self):
        self.classifier = QuestionClassifier()
        self.parser = QuestionPaser()
        self.searcher = AnswerSearcher()

    def chat_main(self, sent):
        answer = "尊敬的用户您好,我是AI医药智能助理,希望可以帮到您!"
        res_classify = self.classifier.classify(sent)
        if not res_classify:
            return answer
        res_sql = self.parser.parser_main(res_classify)
        print("res_sql: ", res_sql)
        final_answers = self.searcher.search_main(res_sql)
        if not final_answers:
            return answer
        else:
            return "\n".join(final_answers)


if __name__ == "__main__":
    handler = ChatRobot()
    while True:
        question = input("user:")
        answer = handler.chat_main(question)
        print("AI:", answer)

예제 출력은 다음과 같습니다.

다음으로 neo4j 데이터베이스의 시각적 표현을 간략하게 살펴보겠습니다.

각 블록에는 그래프, 표, 텍스트 및 코드의 네 가지 표현 또는 저장 형식이 포함되어 있으며, 다음으로 실제 예를 들어 설명하겠습니다.

【그래프】

【테이블】

{
  "start": {
    "identity": 284,
    "labels": [
      "diseases"
    ],
    "properties": {
      "name": "猪圆环病毒病"
    },
    "elementId": "284"
  },
  "end": {
    "identity": 230,
    "labels": [
      "departments"
    ],
    "properties": {
      "name": "病毒性传染病"
    },
    "elementId": "230"
  },
  "segments": [
    {
      "start": {
        "identity": 284,
        "labels": [
          "diseases"
        ],
        "properties": {
          "name": "猪圆环病毒病"
        },
        "elementId": "284"
      },
      "relationship": {
        "identity": 0,
        "start": 284,
        "end": 230,
        "type": "belongs_to",
        "properties": {
          "name": "属于"
        },
        "elementId": "0",
        "startNodeElementId": "284",
        "endNodeElementId": "230"
      },
      "end": {
        "identity": 230,
        "labels": [
          "departments"
        ],
        "properties": {
          "name": "病毒性传染病"
        },
        "elementId": "230"
      }
    }
  ],
  "length": 1.0
}

【텍스트】

╒════════════════════════════════════════════════════╕
│"p"                                                 │
╞════════════════════════════════════════════════════╡
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪圆环病毒病"},{"name":"属于"},{"name":"病毒性传染病"}] │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪肾虫病"},{"name":"属于"},{"name":"寄生虫病"}]     │
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
├────────────────────────────────────────────────────┤
│[{"name":"猪流行性腹泻"},{"name":"属于"},{"name":"急性肠道传染病"}]│
└────────────────────────────────────────────────────┘

【암호】

이 코드를 직접 복사하여 Neo4j 데스크톱에서 실행하면 브라우저 페이지와 동일한 결과를 얻을 수 있습니다.

관심이 있으시면 자신만의 애플리케이션 시스템을 개발하고 구축해 볼 수도 있습니다!

추천

출처blog.csdn.net/Together_CZ/article/details/132774458