我在Neo4j中有这样的查询:
MATCH (sentence:Sentence)-[r*]->(n:Word )
WITH n, COUNT(r) AS c
RETURN n, c
我的图是一个语言数据库,包含单词和它们之间的依赖关系。这个查询应该返回节点的深度,但是COUNT(r)总是返回1。当我省略COUNT函数并只写
WITH n, r AS c
相反(尝试在网页浏览器neo4j接口),neo4j返回多个关系,每个单词节点“n”如预期。你能帮我做错了什么吗,如何计算句子节点和单词节点之间的路径长度?谢谢。
3条答案
按热度按时间zzzyeukh1#
我认为它查询返回n和c,且n有多个记录,因此count(r)返回1。
试试这个-
你会得到这样的深度。
或者试试这个
http://docs.neo4j.org/chunked/stable/query-functions-scalar.html#functions-length
nzkunb0c2#
终于自己找到了解决办法--那就是cypher的LENGTH函数:
可在以下实用备忘单中找到:http://assets.neo4j.org/download/Neo4j_CheatSheet_v3.pdf
c8ib6hqw3#
在4.x版本中,U应使用SIZE函数
https://neo4j.com/docs/cypher-manual/current/functions/scalar/#functions-size