使用py2neo时从python实现内部的cypher查询获取信息?

2024-05-06 02:26:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python实现一个搜索引擎,它将连接到neo4j图形数据库。我在数据库中有一些数据,我想使用python代码从数据库中获取一些信息。我与数据库连接,我想做一个密码查询,将给我的价格低于平均水平

首先,我认为最好是对平均价格进行cypher查询,然后在python中使用if(else)语句来区分便宜和昂贵

 def cheap(self):
         query = '''
              MATCH (p:Price)-[:COSTS]-(s:Service)
              WITH avg(toFloat(p.monthly)) as {Average}, p.currency as {Currency}, s.service_name as {Service}
              Return Average,Currency, Service
               '''
          return cheap = graph.run(query, average= self.Average, currency= self.Currency, service_name=self.Service )

这个python代码没有显示任何内容。有人知道怎么继续吗


Tags: 代码nameself数据库图形asservicequery
1条回答
网友
1楼 · 发布于 2024-05-06 02:26:40

一个问题是python中的赋值不返回任何内容,所以

return cheap = ...

将始终返回None。试试return graph.run(...)

此外,cypher中的WITH语句用于别名变量,而不是过滤它们。您的密码查询应该在WHERE子句中进行筛选:

MATCH (p:Price)-[:COSTS]-(s:Service)
WITH avg(toFloat(p.monthly)) AS Average, p.currency AS Currency, s.service_name AS Service
WHERE Average = {Average}, Currency = {Currency}, Service = {Service}
RETURN Average,Currency, Service

希望这有帮助

相关问题 更多 >