我用Neo4J代表文本; 在最简单的情况下,文本是由关系LEMMA_TEXT连接的一系列单词.
我试图找到一个已知单词之后的第N个单词,查询看起来像这样.
MATCH (anchor)-[:LEMMA_TEXT*32]->(word)
WHERE id(anchor) = 3275
RETURN word
Run Code Online (Sandbox Code Playgroud)
在一个特定的情况下,如果我将路径长度增加到33,我会收到此错误:
Neo.DatabaseError.Statement.ExecutionFailure: There is no spoon.
Run Code Online (Sandbox Code Playgroud)
然而,以下查询返回正确的结果.
MATCH (anchor)-[:LEMMA_TEXT*32]->(word)-[:LEMMA_TEXT]->(next)
WHERE id(anchor) = 3275
RETURN next
Run Code Online (Sandbox Code Playgroud)
这表明我想要的节点存在且可以访问.
手册的哪一部分告诉我如何用心灵弯曲勺子?更重要的是,这究竟意味着什么?!
小智 0
您是否尝试过将登陆语句和搜索语句一分为二?
另外,您应该添加文本单词的标签(forormance)
例子:
匹配(锚) 哪里 id(锚点)= 3275 带锚 MATCH(锚)-[:LEMMA_TEXT*32]->(字) 返回词
你得到同样的错误吗?