与ChatGPT的聊天:如何使用Python连接Neo4j并创建无向图?

0. 前言

尝试请ChatGPT帮写代码:
但发现ChatGPT可以给出逻辑上正确的程序,一旦具体深入询问,有可能会产生错误。
当然,也可能因为提问的人比较少🤣

不管怎么说,这篇可以当成是对ChatGPT茶余饭后的谈资,也可以视作是使用Python连接Neo4j数据库的简单记录吧~

1. 如何引入Neo4j

第一次询问:”如何使用python连接neo4j数据库?”

回答给出了使用neo4j的原始库进行连接的操作:

但是这种写法并不主流(自认为),所以后面提出了使用py2neo库进行连接的要求:

 代码如下:

from py2neo import Graph

# Connect to a local Neo4j database
graph = Graph()

# Connect to a remote Neo4j database
graph = Graph("bolt://<host>:<port>", auth=("<username>", "<password>"))

# Execute a Cypher query
result = graph.run("MATCH (a:Person) RETURN a.name")

# Print the results
for record in result:
    print(record["a.name"])

2. run()方法解析

但是我并不知道py2neo.Graph.run()方法的具体内容,所以连续发问:

感觉可以当成一个文档来查询了。

 3. 如何实现Neo4j中无向图的表示

这个问题相比前面的问题更加场景化,chatGPT的回答出现了一些问题。

给出的程序是正确的,但是由于Neo4j关系的单向性,实际上单靠一条关系并不满足我提出的无向图的要求。

开始质问:

这次虽然语义对了,但是又不满足了CQL语句的格式,执行时会犯语法错误。

再三发问:

这次的回答将 “--” 纠正为 “-” ,回答很人性化🤣

不过语法还是错的,直到下一次才回答正确了。

CQL语句如下:

CREATE (a:Person {name: "Alice"})
CREATE (b:Person {name: "Bob"})
CREATE (a)-[:KNOWS]->(b)
CREATE (b)-[:KNOWS]->(a)

Python代码如下:

from py2neo import Graph

# Connect to the database
graph = Graph()

# Execute the query
graph.run("""
    CREATE (a:Person {name: "Alice"})
    CREATE (b:Person {name: "Bob"})
    CREATE (a)-[:KNOWS]->(b)
    CREATE (b)-[:KNOWS]->(a)
""")

至此,本次(代码帮写)Python连接并操作Neo4j实现无向图的学习探讨就此结束,执行这段代码后即会出现双向连接形式下的无向图。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如果皮卡会coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值