Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统

这篇具有很好参考价值的文章主要介绍了Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Neo4j是一个开源的、高性能的图形数据库。它被设计用于存储、检索和处理具有复杂关系的大规模数据。与传统的关系型数据库不同,Neo4j使用图形结构来表示数据,其中节点表示实体,边表示实体之间的关系。这使得Neo4j在处理关系密集型数据时非常强大和高效。

以下是Neo4j的一些关键特点:

  1. 图形数据库:Neo4j是一个原生的、完全基于图形的数据库,它提供了图形模型来存储和管理数据。这使得它能够轻松地处理复杂的数据关系,如社交网络、推荐系统、网络安全等。

  2. 灵活的数据模型:Neo4j的数据模型非常灵活,可以轻松地表示各种类型的实体和关系。你可以定义自己的节点标签和边类型,并为它们添加属性,以便更好地表示你的数据结构。

  3. 高性能:Neo4j通过使用高效的图形遍历算法和索引机制来实现出色的性能。它可以快速地执行复杂的图形查询,支持深度遍历和快速的关系导航。

  4. 原生的查询语言:Neo4j使用一种名为Cypher的原生查询语言来操作和查询图形数据。Cypher具有直观的语法,可以轻松地表达各种图形查询模式,包括节点和边的匹配、路径遍历和聚合操作等。

  5. ACID事务支持:Neo4j支持原子性、一致性、隔离性和持久性(ACID)的事务特性。这确保了数据的完整性和一致性,同时提供了可靠的持久化机制。

  6. 生态系统和工具支持:Neo4j拥有丰富的生态系统和工具支持,包括可视化工具、ETL工具、驱动程序和集成库等。这些工具使得开发人员和数据分析师能够更轻松地使用和操作Neo4j数据库。

Neo4j官网在这里,如下所示:
Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

可以根据自己的需要进行下载安装使用。

安装完成启动截图如下所示:

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

这里我安装的是1.5.8的版本的。

之前在学校的时候就有接触过Neo4j数据库,只是简单的安装实践了一下,后面因为课题方向换了,所以后面就没有再接触到了,周末闲来无事正好最近也又看到了这个图数据库的内容,就想着

来上手做一下实践开发项目,这里主要以前面项目中收集到的猪类相关养殖疾病数据集为基准,来构建基于知识图谱的问答系统。

知识图谱是一种用于组织、表示和存储结构化知识的图形化知识库。它将现实世界的实体、概念和它们之间的关系表示为图形结构,可以帮助我们更好地理解和分析知识。

知识图谱通常由三个主要组成部分构成:

  1. 实体(Entities):实体代表现实世界中的具体事物,可以是人、地点、物品、事件等等。每个实体都有唯一的标识符和相关的属性信息。

  2. 属性(Attributes):属性描述实体的特征和性质。例如,一个人实体可以有属性如姓名、年龄、性别等。

  3. 关系(Relationships):关系表示实体之间的连接和关联。它们描述了实体之间的语义关系,如"工作在"、"位于"、"是子集/超集"等等。

知识图谱的优势在于它能够捕捉和表示复杂的关联关系,并提供了一种结构化的方式来存储和查询知识。它可以用于构建智能推荐系统、问答系统、语义搜索引擎等应用。通过使用知识图谱,我们可以进行更高级的数据分析、语义推理和信息提取。

举个例子,以百科全书为例,知识图谱可以将不同的主题、人物、事件等实体组织成一个图形结构,并使用关系链接它们。通过这种方式,我们可以轻松地浏览和发现相关的知识,例如查找某个人物的家庭成员、了解某个事件的历史背景等等。

首先来简单看下数据集情况,如下所示:

"猪附红细胞体病": {
    "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)

接下来是创建知识图谱中的节点node,实现如下所示:

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

接下来是创建知识图谱实体节点类型schema,核心实现如下所示:

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数据库桌面端打开查看,如下所示:

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

也可以直接复制http://localhost:7474/browser/

在浏览器端打开即可,如下所示:

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

显然我自己觉得浏览器端的操作和可视化更加柔顺丝滑。

这里可以直接借助于知识图谱的能力来进行知识的查询回答,简单的实现如下所示:

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图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

接下来我们再来简单看下neo4j数据库端可视化的呈现:

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

每一块都包括了Graph、Table、Text和Code四种表示或者是说存储形式,接下来我们以一个实际样例来进行展示,如下所示:

【Graph】

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

【Table】

{
  "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
}

【Text】

╒════════════════════════════════════════════════════╕
│"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":"急性肠道传染病"}]│
└────────────────────────────────────────────────────┘

【Code】

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统,neo4j,数据库,知识图谱

这个code可以直接复制过去在Neo4j桌面端里面执行可以得到与浏览器页面端同样的结果。

感兴趣的话也都可以实践尝试去开发构建自己的应用系统!文章来源地址https://www.toymoban.com/news/detail-733540.html

到了这里,关于Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 知识图谱构建:图数据库Neo4j的节点和关系的新增、删除

    目录 1、新增节点和节点属性,批量添加属性 2、节点显示信息修改 3、新增关系 4、同时新增两个节点与节点关系 5、删除节点 6、删除关系 7、同时删除节点和关系 CREATE(n:节点名称 {属性1:\\\'属性值\\\', 属性2:\\\'属性值\\\',  ......} ) return n 其中,n只在此语句运行时代表创建的节点

    2024年02月10日
    浏览(51)
  • 探索Py2neo:Python与Neo4j图数据库的交互实践

    在数据驱动的世界中,图形数据库如Neo4j成为处理复杂关系数据的强大工具。这种数据库类型以图结构存储数据,优秀地表示和查询实体间的连接关系。Py2neo,作为Neo4j的Python驱动程序,使得在Python环境中使用Neo4j变得简单而直观。以下内容,将详细介绍如何利用Py2neo在Python中

    2024年03月11日
    浏览(55)
  • 知识图谱:Neo4j数据库的基本使用——创建张学良的关系谱

            知识图谱(Knowledge Graph)是人工智能的重要分支技术,它在2012年由谷歌提出,是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体—关系—实体”三元组,以及实体及其相关属性—值对,实体间通过关系相互联

    2024年02月04日
    浏览(66)
  • 再相逢【知识图谱】中文医学知识图谱CMeKG,中文产科医学知识图谱COKG | 附:图数据库Neo4j下载安装教学(遇到问题并解决) + Neo4j基本操作

      无论结果如何,请相信那些你努力游向岸的日子都有它的意义。   🎯 作者主页 : 追光者♂ 🔥          🌸 个人简介 : 计算机专业硕士研究生 💖、 2022年CSDN博客之星人工智能领域TOP4 🌟、 阿里云社区特邀专家博主 🏅、 CSDN-人工智能领域新星创作者 🏆、 预期20

    2024年02月14日
    浏览(77)
  • 自学笔记——利用python开展Neo4j图数据库知识图谱构建和统计分析

    前言: 在上《高级统计学》时,老师提到结合所学知识点自行设计任务,并利用所学完成。 近期正好在学习python的编程和利用neo4j开展知识图谱构建,于是在征得老师同意下,尝试完成任务:“统计近6年社科基金,并构建知识图谱。”   入门小白自学笔记,请高手勿喷。

    2024年02月16日
    浏览(55)
  • 【学习笔记】pandas提取excel数据形成三元组,采用neo4j数据库构建小型知识图谱

    前言     代码来自github项目 neo4j-python-pandas-py2neo-v3,项目作者为Skyelbin。我记录一下运行该项目的一些过程文字以及遇到的问题和解决办法。 invoice_data 如下: node_list_key 如下: node_list_value 如下: df_data 如下: 构建的知识图谱如下所示: 压缩包里其他文件说明(个人理

    2024年01月16日
    浏览(49)
  • Neo4j:入门基础(二)~ 数据导入Neo4J RDF导入neo4j数据库

    neo4j导入数据的方式有以下几种: Cypher create 语句,为每一条数据写一个create Cypher load csv 语句,将数据转成CSV格式,通过LOAD CSV读取数据。 neo4j-admin import导入 官方提供的Java API - BatchInserter 大牛编写的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 针对实际业务场景,定制

    2023年04月24日
    浏览(58)
  • 使用Autodl云服务器或其他远程机实现在本地部署知识图谱数据库Neo4j

    本篇博客的目的在于提高读者的使用效率 温馨提醒:以下操作均可在无卡开机状态下就可完成 打开你的pycharm或者其他IDE工具或者本地终端,ssh连接到autodl的服务器。(这一步很简单如下图) 由于我想使用Neo4j的最新版,所以需要安装JDK=21的版本: 直接按照下述命令依次进行即

    2024年02月19日
    浏览(52)
  • Neo4j | 保姆级教学之如何清空neo4j数据库

    要清空neo4j数据库,需要进行以下操作: 停止Neo4j服务器,关闭Neo4j的所有连接。 找到 Neo4j 数据库存储的目录,通常是 data/databases/ 。 删除该目录中的所有文件和子目录。 请注意,这将不可逆地删除数据库的所有内容,包括节点、关系和属性等数据。在执行这个操作之前,请

    2024年02月06日
    浏览(52)
  • Neo4j数据库删除数据

    我们使用Neo4j图数据库进行写入数据操作之后,免不了要删除数据的。 但是Neo4j的控制台没有提供快捷的删除按钮,所以我们还是需要通过命令来操作。 如果数据库中的数据量并不大,节点数相对较少,我们可以通过命令行直接删除节点。 此类操作起到清空数据库的效果,但

    2023年04月09日
    浏览(90)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包