首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Python,Neo4j-driver) -如何在检查节点不存在时返回none

(Python,Neo4j-driver) -如何在检查节点不存在时返回none
EN

Stack Overflow用户
提问于 2019-08-04 02:46:05
回答 1查看 401关注 0票数 0

大家好,我对python中的neo4j( new 4j-driver)非常陌生。当检查节点是否不存在时,我遇到了一个问题,我通过这些代码发送了一些与db中的节点不匹配的名称。

代码语言:javascript
复制
from neo4j import GraphDatabase

driver = GraphDatabase.driver('bolt://localhost:7687', auth=(user, pass))
session = driver.session()


def matchNode(name):
   Label = 'SINGLE_NODE'
   return session.run("MATCH (a:"+Label+") WHERE a.name= $name " 
                      "RETURN id(a)", name=name).single().value()

name = 'test'
nodeID = matchNode(name)    
   if nodeID:
      print("Exist")
   else:
      print("Not Exist")

但它的错误如下所示,因为它在数据库中没有任何匹配的节点。

代码语言:javascript
复制
Traceback (most recent call last):
  File ".\neo4jdriver.py", line 44, in <module>
    props = matchNode(driver,'test')
  File ".\neo4jdriver.py", line 25, in matchNode
    "RETURN id(a)", name=name).single().value()
AttributeError: 'NoneType' object has no attribute 'value'
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2263)'")
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2263)'")
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2263)'")
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2263)'")
Failed to write data to connection Address(host='localhost', port=7687) (Address(host='127.0.0.1', port=7687)); ("0; 'Underlying socket connection gone (_ssl.c:2263)'")

那么,如果节点不存在,我该如何解决这个问题并返回none呢?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-04 04:39:39

在matchNode函数中,执行一个try /except块,其中try返回session.run,except返回None

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57341224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档