【问题标题】:How to check a record returned in py2neo is null?如何检查 py2neo 返回的记录是否为空?
【发布时间】:2015-12-18 04:43:26
【问题描述】:

我想检查一个节点是否已经存在于 neo4j 中。我使用以下代码:

from py2neo import Graph
from py2neo import *
authenticate("localhost:7474","neo4j", "somepassword")
graph = Graph("http://localhost:7474/db/data/")
graph.cypher.execute("CREATE(alice:Person {name:'Alice' , age:15})->[:Friendof]->(bob:Person {name: 'Bob' , age:14})")
for record in graph.cypher.execute("MATCH(p {title:'The Movie'})RETURN p"):
    if (record[0]==None):
        print "None"
    else:
        print (record[0])

我没有标题为“电影”的电影,但我没有打印“无”。还有其他方法可以做到这一点吗?

【问题讨论】:

  • 不相关,但如果您先执行from py2neo import Graph,然后执行from py2neo import *,则第二次导入会单独导入Graph。所以第二个就足够了but considered not good.

标签: python neo4j py2neo


【解决方案1】:

“None”没有被打印,因为没有记录可以迭代,所以打印语句没有被执行。

相反,您可以检查是否有任何记录返回:

results = graph.cypher.execute("MATCH (p:Movie {title:'The Movie'}) RETURN p")
if results:
    for record in results:
        # do something with each record...
else:
    print "None"

【讨论】:

  • 你后面那个,应该是if not results
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-03
  • 1970-01-01
  • 2012-12-30
  • 2018-12-23
  • 1970-01-01
相关资源
最近更新 更多