Neo4J为什么告诉我没有勺子?

我用Neo4J代表文本; 在最简单的情况下,文本是由关系LEMMA_TEXTjoin的单词序列。

我试图find一个已知单词后的第N个单词,查询看起来像这样。

MATCH (anchor)-[:LEMMA_TEXT*32]->(word) WHERE id(anchor) = 3275 RETURN word 

在一个特定情况下,如果我将path长度增加到33,我得到这个错误:

 Neo.DatabaseError.Statement.ExecutionFailure: There is no spoon. 

然而,下面的查询返回正确的结果。

 MATCH (anchor)-[:LEMMA_TEXT*32]->(word)-[:LEMMA_TEXT]->(next) WHERE id(anchor) = 3275 RETURN next 

这表明我想要的节点是存在的并且是可达的。

手册的哪一部分告诉我如何用我的头脑来弯曲勺子? 更重要的是,这实际上是什么意思?!

如果像33这样的数字有什么突破的话,那就意味着有32个限制,为什么是32? 2 ^ 5。

大部分限制都是2倍,MongoDB文档大小不能超过16MB,集合中可以有最大索引,不超过64。

为什么它的工作原理是32,然后是下一个,因为直到32可以在一个操作中实现,最后一个可以看到另一个操作。 但是在一次手术中不可能达到33。

这些限制大部分基本上都是卫生检查,而不是真正的技术边界。

至于为什么它几乎总是2的因素,我想要别人回答,换句话说我不知道​​。

你有没有尝试拆分登陆和search语句2?

另外你应该添加标签的文字(forormance)

例:

  MATCH(主播)
 WHERE id(锚点)= 3275 
锚定
 MATCH(锚) -  [:LEMMA_TEXT * 32]  - >(单词) 
返回单词

你得到同样的错误?