Thi*_*ail 5 java neo4j cypher spring-data-neo4j
我想使用其名称(而不是其ID)检查节点是否存在。Cypher查询看起来像:
MATCH (c:Jaguar{name:"JLR 2.5Ltr"})-[:REPRESENTED_BY]->(v) RETURN c IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
但是,使用neo4j Shell / Web控制台,返回的结果为String类型。在spring-data-neo4j中同样失败,并显示以下错误:
Null return value from advice does not match primitive return type for: public abstract boolean xxx.yyy.repository.SomeRepository.checkIfDatasetExists(java.lang.String)
Run Code Online (Sandbox Code Playgroud)
是否有人为此进行任何工作
不幸的是,Supamiu提供的答案无法正常工作,您需要通过返回count表达式来破解它:
MATCH (c:Jaguar{name:"JLR 2.5Ltr"})-[:REPRESENTED_BY]->(v)
RETURN count(c) > 0 as c
Run Code Online (Sandbox Code Playgroud)
您应该使用 CASE 检查您的节点是否为空,并返回您需要的值:
MATCH (c:Jaguar{name:"JLR 2.5Ltr"})-[:REPRESENTED_BY]->(v)
RETURN CASE WHEN c IS NULL THEN false ELSE true END as c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2791 次 |
| 最近记录: |