针对特定情况修改了学位中心度

时间:2019-05-15 12:48:42

标签: neo4j

我创建了一个查询,该查询将为一个节点匹配传入度为0且传出度不同于0的节点。像这样,我可以在我的图中识别出根疾病(无祖先的疾病)。 / p>

我的图表中有两种关系:HAS_CHILD(作为疾病的直接后代)和HAS_DESCENDANT(作为疾病的后代)

MATCH (u:Disease) where size((u)<-[:HAS_CHILD|HAS_DESCENDANT]-())=0  and size((u)-[:HAS_DESCENDANT]->())<>0 RETURN u.prefered_name, size((u)-[:HAS_CHILD]->()) AS Parent_of,size((u)<-[:HAS_CHILD]-()) AS Children_of ORDER BY size((u)-[:HAS_CHILD]->());

此查询的前4个结果均显示两个度数均为0,但我指定其中一个度数应不同于0。为什么给我这个奇怪的结果?the result of the query, not what expected

我希望查询将向我显示结果而不包含前4条记录。当我查看该查询时,我认为找不到任何错误,它应该可以运行

1 个答案:

答案 0 :(得分:1)

  

此查询的前4个结果显示两个度均为0,但我指定了   那个度数之一应该不同于0。为什么给我   这个奇怪的结果吗?

检查您为HAS_DESCENDANT指定的查询

size((u)-[:HAS_DESCENDANT]->())<>0

但在返回语句中

 size((u)-[:HAS_CHILD]->()) AS Parent_of

您正在获得HAS_CHILD的结果