知识图谱之py2neo

这篇具有很好参考价值的文章主要介绍了知识图谱之py2neo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

py2neo介绍

  • 介绍

Py2neo是一个客户端库和工具包,用于从Python应用程序和命令行使用Neo4j(Neo4j Graph Data Platform | Graph Database Management System)。该库同时支持 Bolt 和 HTTP,并提供高级 API、OGM、管理工具、交互式控制台、Pygments 的 Cypher 词法分析器以及许多其他功能。

  • 安装

pip install py2neo

注:Neo4j也需要安装,地址https://neo4j.com/

py2neo基本使用

  • 启动Neo4j

  • 连接代码

from py2neo import Graph, Node, Relationship
 
graph = Graph("http://localhost:7474//browser", name='neo4j', auth=("neo4j", "12345678"))
print(graph.run("show databases"))

基于xsls文件的demo

  • demo效果

py2neo,知识图谱,python,知识图谱,Powered by 金山文档
  • xls文件内容

  • sheet 结构

py2neo,知识图谱,python,知识图谱,Powered by 金山文档
  • "关系"sheet内容如下

id

from

to

type

1

令狐冲

宁中则

师娘

2

仪琳

令狐冲

倾慕

3

任盈盈

令狐冲

爱慕

4

令狐冲

岳林珊

小师妹

5

岳林珊

岳不群

父亲

6

任盈盈

任我行

父亲

7

岳不群

宁中则

夫妻

#8

林平之

岳林珊

夫妻

  • 下面的表格分别对应"恒山派"、"华山派"、"日月教"sheet中的内容()

id

title

1

令狐冲

2

仪清

3

仪和

4

仪琳

id

title

1

岳不群

2

宁中则

3

岳林珊

4

林平之

id

title

1

任我行

2

任盈盈

3

向问天

  • demo依赖

pip install pandas
pip install openpyxl

Neo4j和py2neo也是需要的。

  • demo主要代码块

import os

import pandas as pd
from py2neo import Graph, Node, Relationship


sheetNameList = [
    {'sheet':'恒山派',     'type':'Node'},
    {'sheet':'华山派',     'type':'Node'},
    {'sheet':'日月教',     'type':'Node'},
    {'sheet':'关系',       'type':'Relationship'},
]
def __init__(self, filename=None):
    self.filename = filename

    self.nodeList             = []
    self.relationshipList     = []

    self._loadfile()
    self._buildGraph()
 def _loadfile(self):
    if not os.path.exists(self.filename):
        print('_loadfile', 'file not exist')
        return False

    for sheetName in sheetNameList:
        sheetData = pd.read_excel(self.filename, index_col=None, comment='#', sheet_name=sheetName['sheet'])

        if sheetName['type'] == 'Node':
            keys=[]
            for index, row in sheetData.iterrows():
                if not row['title']:
                    continue
                keys.append(row['title'])
            
            keyval = dict(zip(keys, keys))
            node = Node(sheetName['sheet'], name=sheetName['sheet'], **keyval)
            self.nodeList.append(node)

            for index, row in sheetData.iterrows():
                if not row['title']:
                    continue
                subNode = Node(sheetName['sheet'], name=row['title'])
                self.nodeList.append(subNode)
                rel = Relationship(node, '属性', subNode)
                self.relationshipList.append(rel)

        elif sheetName['type'] == 'Relationship':
            startNode = None
            endNode   = None
            for index, row in sheetData.iterrows():
                if not row['from'] or not row['to']:
                    continue

                for node in self.nodeList:
                    if node['name'] == row['from']:
                        startNode = node
                    elif node['name'] == row['to']:
                        endNode   = node
                    else:
                        pass
                rel = Relationship(startNode, row['type'], endNode)
                self.relationshipList.append(rel)
        else:
            pass
def _buildGraph(self):
    graph = Graph("http://localhost:7474//browser", name='neo4j', auth=("neo4j", "12345678"))
    graph.delete_all()

    for node in self.nodeList:
        graph.create(node)

    for rel in self.relationshipList:
        graph.merge(rel)
        pass

    graph.begin()

参考

  • The Py2neo Handbook — py2neo 2021.1

  • Python创建知识图谱_python知识图谱 md_趋吉避凶的博客-CSDN博客

  • Python neo4j建立知识图谱,药品知识图谱,neo4j知识图谱,知识图谱的建立过程,智能用药知识图谱,智能问诊必备知识图谱_医学小达人的博客-CSDN博客

  • Neo4j简介及Py2Neo的用法_neo4j py2neo_yayun_kg的博客-CSDN博客

  • pandas处理Excel基本方法_<编程路上>的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-668897.html

到了这里,关于知识图谱之py2neo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 知识图谱实战应用22-数据导入技巧与基于py2neo的金融领域风险评估的应用

    大家好,我是微学AI,今天给大家介绍一下知识图谱实战应用22-数据导入技巧与基于py2neo的金融领域风险评估的应用。本文的金融领域风险评估的应用旨在利用知识图谱技术对金融风险进行评估和管理。该项目利用py2neo库与Neo4j图数据库进行交互,构建一个金融领域的知识图谱

    2024年02月15日
    浏览(37)
  • python 与 neo4j 交互(py2neo 使用)

    参考自:neo4j的python.py2neo操作入门 官方文档:The Py2neo Handbook — py2neo 2021.1 安装: pip install py2neo -i https://pypi.tuna.tsinghua.edu.cn/simple 节点(Node)和关系(relationship)是构成图的基础,节点和关系都可以有多个属性(property),并且均可以作为实体 重点: 节点:在图数据库中,节点代

    2024年02月21日
    浏览(49)
  • Python中py2neo库的基本使用方法

    因为需要将处理好的csv文件用neo4j存储,因此想到使用python将数据导入neo4j,就需要用到py2neo库。 安装py2neo库: 首先是建立连接: 注意:这里传入用户名和密码使用的auth元组形式 Node和Relationship可以定义对应的实例,Node第一个参数是label, 再利用graph.create()创建。打开neo4j可以

    2024年02月16日
    浏览(61)
  • Py之py2neo:py2neo的简介、安装、使用方法之详细攻略

    CV之DL之YOLOv8:YOLOv8的简介、安装和使用方法、案例应用之详细攻略 目录 YOLOv8的简介 1、Yolov8的概述 2、YOLOv8对比前身YOLOv5 YOLOv8的安装和使用方法 1、安装和使用 T1、采用yolov8安装和使用 第1步,安装YOLOv8 第2步,使用YOLOv8 T1、采用CLI T2、采用Python T2、采用ultralytics安装和使用

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

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

    2024年03月11日
    浏览(56)
  • py2neo 查询语句

    可以对查询结果进行进一步查询: =~是不等于的意思,.是任意字符,*是前面的字符大于等于0个。整体意思就是查到节点中name属性不以J开头的节点

    2024年02月08日
    浏览(50)
  • py2neo和neo4j

    py2neo 和 neo4j 是两个 Python 中与 Neo4j 图数据库交互的库,但它们有不同的设计和使用方式。 py2neo : 类型 : py2neo 是一个面向对象的库, 提供了一个对象模型 ,使得与 Neo4j 数据库的交互 更加 Pythonic 。 API 风格 : 使用 Node 和 Relationship 对象表示图数据库中的节点和关系,使得代码

    2024年02月21日
    浏览(49)
  • 关于5.x版本的Neo4j与py2neo的访问技巧

    先说结果。 Neo4j是可以使用py2neo来操作的。而且网上搜到的教程和方法里,首推的http连接方法可能并不是最好的,应该用 bolt 方法可能更好。 对于大多数使用  py2neo  与 Neo4j 数据库进行交互的应用程序来说,建议使用 Bolt 协议(即第二个指令)。确保您的 Neo4j 服务器配置

    2024年04月26日
    浏览(63)
  • SySeVR环境配置:joern-0.3.1、Neo4j-2.1.5、py2neo2.0

    最近希望在基于图神经网络的漏洞检测上有所推进,准备复现文章SySeVR: A Framework for Using Deep Learningto Detect Software Vulnerabilities开源代码,基本环境配置是python库环境以及joern-0.3.1、Neo4j-2.1.5环境的配置,环境具体要求如下 假期的时候就已经完成过joern的配置,光是安装就卡了我

    2023年04月08日
    浏览(42)
  • Neo4j企业版报错:py2neo.errors.ProtocolError: Cannot decode response content as JSON

    环境为neo4j-enterprise-5.1.0、py2neo、Neo4j Desktop-1.5.2 根据堆栈追踪,我们发现self.graph.name为空,而self.graph为Graph(\\\"http://localhost:7474/ \\\") 所以我们自己修改源码 打开python的包的安装位置: X:*****PythonPython37Libsite-packagespy2neodatabase.py 原来的代码: (990行左右) 更改后的代码:

    2024年02月12日
    浏览(68)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包