py2neo安装

本文演示了使用Py2Neo库连接Neo4j数据库并执行Cypher查询的方法,包括节点查询、关系查询及结果处理等核心操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AttributeError: 'Graph' object has no attribute 'cypher' :新版本执行语句不一样

python 3.6.6 neo4j:3.5.9  参考https://py2neo.org/2021.1/

(flask_py) E:\githubwks\cytoscape_neo4j>pip install py2neo
(flask_py) E:\githubwks\cytoscape_neo4j>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from py2neo import Graph
>>> graph = Graph("bolt://localhost:7687", auth=("root", "root"))
>>> graph.run("UNWIND range(1, 3) AS n RETURN n, n * n as n_sq")
<py2neo.client.bolt.BoltResult object at 0x000001A568F23630> -1 -1
 n | n_sq
---|------
 1 |    1
 2 |    4
 3 |    9

>>> graph.cypher.execute('MATCH (n) RETURN n')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Graph' object has no attribute 'cypher'
>>> graph.run('MATCH (n) RETURN n')
<py2neo.client.bolt.BoltResult object at 0x000001A56A03B9E8> -1 -1
 n
--------------------------------------------------------------------------------------------------------------
 (_132208:ProductEntry {introduction: 'GOOD', name: 'telephone', productEntryId: 'huwei1004'})
 (_132228:CompanyEntry {companyid: 66, name: '66', type: '66', uuid: '270e142d-929e-434f-a5c1-38a7796b3a34'})
 (_132229:CompanyEntry {companyid: 1961, name: 'Laurence Fishburne', type: 'A'})
>>> result = graph.run('MATCH (n:CompanyEntry) RETURN n').data()
<py2neo.client.bolt.BoltResult object at 0x000001A56A043D68> -1 -1
>>> result
[{'n': Node('CompanyEntry', companyid=66, name='66', type='66', uuid='270e142d-929e-434f-a5c1-38a7796b3a34')}, {'n': Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A')}]
>>> result[0]
{'n': Node('CompanyEntry', companyid=66, name='66', type='66', uuid='270e142d-929e-434f-a5c1-38a7796b3a34')}
>>> result[0].n.name
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'n'
>>> result[0]
{'n': Node('CompanyEntry', companyid=66, name='66', type='66', uuid='270e142d-929e-434f-a5c1-38a7796b3a34')}
>>> result[0].get('n')
Node('CompanyEntry', companyid=66, name='66', type='66', uuid='270e142d-929e-434f-a5c1-38a7796b3a34')
>>> result[0].get('n').get('name')
'66'

我们执行完返回是cursor,evaluate执行后移动游标了。

>>> cursor =  graph.run('MATCH (n:CompanyEntry) RETURN n')
<py2neo.client.bolt.BoltResult object at 0x000001A56A04EAC8> -1 -1
>>> cursor.evaluate()
Node('CompanyEntry', companyid=66, name='66', type='66', uuid='270e142d-929e-434f-a5c1-38a7796b3a34')
>>> cursor.evaluate()
Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A')
>>> cursor.evaluate()
>>>
>>> cursor =  graph.run('MATCH (n:CompanyEntry)-[p]->(m) RETURN n,p,m').data()
<py2neo.client.bolt.BoltResult object at 0x000001A56A057898> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A057E10> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A0680B8> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A068208> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A0683C8> -1 -1
>>> cursor
[{'n': Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A'), 'p': Production(Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A'), Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004'), capacity='10V', uuid='182e7682-52c4-4fe5-95cd-841726bbfbba'), 'm': Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004')}]
>>> cursor =  graph.run('MATCH (n:CompanyEntry)-[p]->(m) RETURN n,p,m')
<py2neo.client.bolt.BoltResult object at 0x000001A56A0578D0> -1 -1
>>> cursor.data()
<py2neo.client.bolt.BoltResult object at 0x000001A56A068AC8> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A068BA8> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A068E80> -1 -1
<py2neo.client.bolt.BoltResult object at 0x000001A56A06C080> -1 -1
[{'n': Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A'), 'p': Production(Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A'), Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004'), capacity='10V', uuid='182e7682-52c4-4fe5-95cd-841726bbfbba'), 'm': Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004')}]
>>> cursor[0]
Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A')
>>> cursor[1]
Production(Node('CompanyEntry', companyid=1961, name='Laurence Fishburne', type='A'), Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004'), capacity='10V', uuid='182e7682-52c4-4fe5-95cd-841726bbfbba')
>>> cursor[2]
Node('ProductEntry', introduction='GOOD', name='telephone', productEntryId='huwei1004')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值