通过pycharm完成对neo4j数据库的连接和使用(二)

书接上文,https://blog.csdn.net/junruitian/article/details/85834151

最近在使用非关系型数据库neo4j

由于我的server版本是3.5.0,一部分attribute不再使用

所以在这里做一个新的总结:

这里推荐python neo4j的官方文档:https://neo4j.com/docs/operations-manual/current/

非关系型数据库的存储节点通常包括三个部分(label,property_key,property_value)

1.查找对应节点:

matcher = NodeMatcher(graph)
node1 = matcher.match('Actor', name='布利特·卡迪雍').first()
#print(node1)
#(_224:Person {born:1964,name:"Keanu Reeves"})

最后一行为返回结果,这个是通过matcher的方式来进行匹配,同时在name后面依然可以添加其他条件和属性,如(某个)property_key:XXX(property_value)

2.直接也是最简单的方式(推荐),通过数据库语言进行寻找,不需要考虑python语法

list1 = graph.run("MATCH (n:Actor) RETURN n LIMIT 25").data()
# graph查询
# graph.run("MATCH (n:leafCategory) RETURN n LIMIT 25").data()  # list型
# graph.run("MATCH (n:leafCategory) RETURN n LIMIT 25").to_data_frame()  # dataframe型
# graph.run("MATCH (n:leafCategory) RETURN n LIMIT 25").to_table()  # table

这样直接可以得到对应的结果,相应的使用也很简单只要直接替换掉run里面的字符串就可以了。

3.找某个节点相邻的点:

for word in content:
    result_list = graph.run("MATCH p=(na:Movie)-[r:HAS_ACTOR]->(nb:Actor) where nb.name='甘国亮' RETURN na").data()
#str_symptom = .replace('u\'', '\'')
result_list1=str(result_list).encode('utf-8').decode('unicode_escape')
print(result_list1)

这一段包括(对于输出字符编码的处理),其中类似于sql语言,我们定义na,nb来指代和查找,无论是通过na来找nb还是nb来找na,当然其中的relationship也是可以return的

总结:个人认为run的使用是一种简化,只需要考虑输出结果就可以,对于return内容本身也没有限制,这一篇就到这里>.<

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值