Neo4j - N-gram - 路径中所有节点(距离> x)的节点

时间:2015-11-11 13:14:54

标签: neo4j cypher

如何在neo4j cypher查询中找到n-gram? N-gram:来自路径中所有先前节点的一段距离或更多(比如> = x)的单词序列。

例如:选择A作为起始节点。

A -dist-> B, where dist(A,B)>=0.8 , one level
A -dist-> B -dist-> C, where dist(A,B)>=0.8,dist(A,C)>=0.8,dist(B,C)>=0.8
A -dist-> B -dist-> C -dist-> D, where dist(A,D)>=0.8, dist(B,D)>=0.8, dist(C,D)>=0.8

这意味着,所有可能的节点组合之间的距离应该大于阈值(即0.8)。

这是我的尝试:

MATCH p=(a{word:"quality"})-[r*1..2]->(b) 
WHERE NONE (n IN nodes(p) WHERE size(filter(x IN nodes(p) WHERE n = x))> 1)
AND ALL(rel IN rels(p) WHERE rel.val >= 1.5)
WITH p,size(rels(p))+1 AS nodes
RETRUN p,nodes ORDER BY nodes desc

在此查询中,新添加的节点仅检查先前添加的元素 请在我的查询中建议更改。感谢。

0 个答案:

没有答案