Advertisement

构建生物医学知识图谱from zero to hero (4):通过Neo4j构建知识图谱

阅读量:

图数据库是一种专为存储图形数据而设计的NoSQL数据库。它被区分于传统的关系型数据库与其他NoSQL数据库的主要特点在于其基于图形数据模型来进行存储与管理功能。这种模型通过节点与边的有效组织来实现对复杂关联性数据的高效处理能力。具体而言,在社交网络平台中用户通常会被建模为节点而友谊关系则通过边建立起来。

图数据库具有以下特点:

  1. 多样化的存储方式:Graph Database采用了基于图形的数据模型,在多种应用场景中能够灵活地存储不同类型的数据并进行有效表达。
  2. 高效的图遍历能力:该技术体系具备强大的图遍历能力,在节点及其连接信息的基础上能够揭示潜在关联与规律,并可应用于推荐系统以及路径分析等多个领域。
  3. 强大的查询处理能力:Graph Database支持高效复杂的查询操作及事务管理功能,在海量复杂结构数据下依然能保持良好的运行效率。
  4. 直观展示与操作体验:通过友好的界面设计可以让用户轻松掌握其基本功能特点,在直观的数据呈现方式下显著提升了使用效率。

Neo4j基于图论的方法来表达数据模型,并将数据存储为图中的节点及其关联关系。其中数据通常由三个关键组成部分构成:节点、属性和关系。

  • 节点:代表实例;每个节点都有唯一标识以区分其他节点;每个节点都具有属性。
  • 关系:即图中连接两个节点的有向边;这些关系不仅存在方向性,并且还带有附加属性。
  • 属性:即key-value对;这些属性不仅存在于节点上,在关系中也有所体现;如图所示。
在这里插入图片描述

图 1 节点、关系和属性三者的关系

在沙盒环境中初始化空白项目 https://sandbox.neo4j.com/?usecase=blank-sandbox,并将其相关连接信息整合至代码库。

复制代码
    from neo4j import GraphDatabase
    import pandas as pd
    
    host = 'bolt://3.236.182.55:7687'
    user = 'neo4j'
    password = 'hydrometer-ditches-windings'
    driver = GraphDatabase.driver(host,auth=(user, password))
    
    def neo4j_query(query, params=None):
    with driver.session() as session:
        result = session.run(query, params)
        return pd.DataFrame([r.values() for r in result], columns=result.keys())

全部评论 (0)

还没有任何评论哟~