Neo4j Cypher查询:将多个关系匹配到一个节点

Neo4j Cypher查询:将多个关系匹配到一个节点,neo4j,cypher,Neo4j,Cypher,我现在在玩弄Neo4j和cypher, 我到处找了不少,但找不到解决办法。 所以我要说: 我有一个项目,我解析书籍集,并使用neo4j存储单词、句子和章节之间的关系 word1-[:NEXTWORD]->word2 -[:NEXTWORD]->word3... word-[:COMPOSESENTENCE]->sentence-[:COMPOSECHAPTER]->chapter->[:COMPOSEBOOK]->book 我没有在两个单词之间建立几个关系,

我现在在玩弄Neo4j和cypher, 我到处找了不少,但找不到解决办法。 所以我要说:

我有一个项目,我解析书籍集,并使用neo4j存储单词、句子和章节之间的关系

word1-[:NEXTWORD]->word2 -[:NEXTWORD]->word3...
word-[:COMPOSESENTENCE]->sentence-[:COMPOSECHAPTER]->chapter->[:COMPOSEBOOK]->book
我没有在两个单词之间建立几个关系,而是添加了一个计数器,每次单词连续时,计数器都会增加

我的目标是编写一个密码查询来匹配用户查询,如: “曾经”是一段时间(“曾经”是连续的词)

但是当我这么做的时候,我没有得到任何结果,当用neoclipse检查时,我可以看到这样的结果存在。因此,如果有人有答案,我很乐意提供更多信息,并尝试您可能有的任何解决方案。
谢谢Matt。

经过一些额外的搜索,我似乎遇到了与此处描述相同的问题:

我不得不将我的查询拆分为两个MATCH子句,在这两个子句之间我描述了前面使用的标识符以及下一个MATCH子句所需的标识符

START 
    word1=node:node_auto_index(WORD='once'), 
    word2=node:node_auto_index(WORD='upon') 
    word3=node:node_auto_index(WORD='a') 
    word4=node:node_auto_index(WORD='time') 
MATCH 

    word2-[:COMPOSESENTENCE]->sentence, 
    word3-[:COMPOSESENTENCE]->sentence,
    word4-[:COMPOSESENTENCE]->sentence,  
    word1-[:NEXTWORD]->word2
WITH 
    sentence
MATCH
    sentence-[:COMPOSECHAPTER]->chapter-[:COMPOSEBOOK]->book

RETURN 
    version.VERSIONNAME, book.BOOKNAME, chapter.CHAPTERNUMBER, sentence.SENTENCESTRING;

经过一些额外的搜索,我似乎遇到了与此处描述相同的问题:

我不得不将我的查询拆分为两个MATCH子句,在这两个子句之间我描述了前面使用的标识符以及下一个MATCH子句所需的标识符

START 
    word1=node:node_auto_index(WORD='once'), 
    word2=node:node_auto_index(WORD='upon') 
    word3=node:node_auto_index(WORD='a') 
    word4=node:node_auto_index(WORD='time') 
MATCH 

    word2-[:COMPOSESENTENCE]->sentence, 
    word3-[:COMPOSESENTENCE]->sentence,
    word4-[:COMPOSESENTENCE]->sentence,  
    word1-[:NEXTWORD]->word2
WITH 
    sentence
MATCH
    sentence-[:COMPOSECHAPTER]->chapter-[:COMPOSEBOOK]->book

RETURN 
    version.VERSIONNAME, book.BOOKNAME, chapter.CHAPTERNUMBER, sentence.SENTENCESTRING;