python创建neo4j图库节点及节点之间的关系

python创建neo4j节点及节点之间的关系

(连接)打开neo4j本地服务器,python连接。

《python创建neo4j图库节点及节点之间的关系》
python连接代码

username = ***  
password = *** (自己设置的neo4j的密码)
graph = Graph('http://localhost:7474',username=username,password=password)

(数据加载)需要创建的节点及其关系

为了简单演示:我是简单的创建了几个节点及关系。大家可自行更改。
这里演示的数据如下:
《python创建neo4j图库节点及节点之间的关系》

重点(neo4j与python代码演示)

①创建节点函数

《python创建neo4j图库节点及节点之间的关系》

②查询节点函数

《python创建neo4j图库节点及节点之间的关系》

③节点之间创建关系函数

《python创建neo4j图库节点及节点之间的关系》

④加载进neo4j图库

《python创建neo4j图库节点及节点之间的关系》

⑤neo4j图库结果展示

《python创建neo4j图库节点及节点之间的关系》

完整代码

下面展示一些 内联代码片

import pandas as pd
from py2neo import Node,Relationship,Graph,NodeMatcher,RelationshipMatcher
# 创建节点
def CreateNode(m_graph,m_label,m_attrs):
    m_n="_.name="+"\'"+m_attrs['name']+"\'"
    matcher = NodeMatcher(m_graph)
    re_value = matcher.match(m_label).where(m_n).first()
    print(re_value)
    if re_value is None:
        m_mode = Node(m_label,**m_attrs)
        n = graph.create(m_mode)
        return n 
    return None
# 查询节点
def MatchNode(m_graph,m_label,m_attrs):
    m_n="_.name="+"\'"+m_attrs['name']+"\'"
    matcher = NodeMatcher(m_graph)
    re_value = matcher.match(m_label).where(m_n).first()
    return re_value
# 创建关系
def CreateRelationship(m_graph,m_label1,m_attrs1,m_label2,m_attrs2,m_r_name):
    reValue1 = MatchNode(m_graph,m_label1,m_attrs1)
    reValue2 = MatchNode(m_graph,m_label2,m_attrs2)
    if reValue1 is None or reValue2 is None:
        return False
    m_r = Relationship(reValue1,m_r_name,reValue2)
    n = graph.create(m_r)
    return n 
graph = Graph('http://localhost:7474',username='neo4j',password='yangZAI520')
Names = ["老师","超市","程序员","小卖部","阳仔公司"]
action = ["传授","销售","敲","售卖","提供"]
things = ["知识","日常用品","代码","日常用品","餐饮服务"]
data = pd.DataFrame({"名称":Names,"字段":things,"方式":action})
data
username = ***  
password = *** (自己设置的neo4j的密码)
graph = Graph('http://localhost:7474',username=username,password=password)
label1 = "Name"
label2 = "things"
for i,j in data.iterrows():
    # 名称
    attr1 = { "name":j.名称}
    CreateNode(graph,label1,attr1)
    # 产品
    attr2 = { "name":j.字段}
    CreateNode(graph,label2,attr2)

    m_r_name = j.方式
    reValue = CreateRelationship(graph,label1,attr1,label2,attr2,m_r_name)
    print(reValue)

《python创建neo4j图库节点及节点之间的关系》

    原文作者:Keyl丶Yng
    原文地址: https://blog.csdn.net/qq_42225047/article/details/107858317
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞