知识图谱系列三

Neo4j简介

图数据库是 NoSQL(非关系型数据库)的一种,它应用图形数据结构的特点(节点、属性和边)存储数据实体和相互之间的关系信息。

Neo4j 是当前较为主流和先进的原生图数据库之一,提供原生的图数据存储、检索和处理。支持ACID、集群、备份和故障转移,具有较高的可用性和稳定性;它具备非常好的直观性,通过图形化的界面表示节点和关系;同时它具备较高的可扩展性,能够承载上亿的节点、关系和属性,通过 REST 接口或者面向对象的 JAVA API进行访问。

基本概念

  • 节点。对象实例,带有属性
  • 关系。相当于图里的边,有向并带有属性
  • 属性。key-value对

本文所用数据集介绍

39健康网。包括15项信息,其中7类实体,约3.7万实体,21万实体关系。

  • 实体信息
    • diseases 疾病
    • aliases 别名
    • symptoms 症状
    • parts 部位
    • departments 科室
    • complications 并发症
    • drugs 药品
  • 实体关系
    • disease_to_symptom 疾病与症状关系
    • disease_to_alias 疾病与别名关系
    • diseases_to_part 疾病与部位关系
    • disease_to_department 疾病与科室关系
    • disease_to_complication 疾病与并发症关系
    • disease_to_drug 疾病与药品关系

代码解读

主体类 MedicalGraph 介绍

class MedicalGraph:
    def __init__(self):
        pass    
    # 读取文件,获得实体,实体关系
    def read_file(self):
        pass
    # 创建节点
    def create_node(self, label, nodes):
        pass
    # 创建疾病节点的属性
    def create_diseases_nodes(self, disease_info):
        pass
    # 创建知识图谱实体
    def create_graphNodes(self):
        pass
    # 创建实体关系边
    def create_graphRels(self):
        pass
    # 创建实体关系边
    def create_relationship(self, start_node, end_node, edges, rel_type, rel_name):
        pass

运行结果图

在neo4j中,我们可以看到自己建立好的node和relationship
neo4j展现结果图
更多效果图如下:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值