在Cypher中只返回一个布尔行而不是空

时间:2015-10-06 10:23:44

标签: cypher spring-data-neo4j

我有一个包含“人物”等节点的图表。以及称为“关系”的关系动态类型如&BICH生命_MOTHER'

要检查一个人是否在父角色中,我想使用一个返回一个布尔行的密码查询,而不是NULL或其他东西。

我使用Spring Data Neo4j 4,这是person-repository中的以下方法:

@Query("OPTIONAL MATCH (child)-[r:RELATION]->(parent) " +
        "RETURN DISTINCT " +
        "CASE " +
        "WHEN id(parent)={0} AND r IS NOT NULL AND (r.type='BIOLOGICAL_MOTHER' OR r.type='BIOLOGICAL_FATHER') " +
        "THEN true " +
        "ELSE false " +
        "END")
boolean isParentRole(long id);

如果我在父人身上查询,则会返回以下错误:

More than one element in org.neo4j.helpers.collection.IterableWrapper
$MyIteratorWrapper@235ecd9f. 
First element is 'true' and the second element is 'false'

我如何使用" OR"在所有结果行中,只返回一行(在本例中为true)?

1 个答案:

答案 0 :(得分:0)

我用这个查询解决了我的问题:

#d3 {
    background-color: #ede4ad;
    border: 3px dotted #6e5b3c;
    clear: right;
    float: left;
}

如果有更简单的方法解决我的问题,请发表评论。