2015-10-28 2 views
0

У меня есть база данных, которая имеет ~ 1000k узлов и ~ 168k отношений, и я хочу найти все пути между двумя узлами a и b, где узел a ограничен данное свойство. Я попытался следующие Cypher запросов:Neo4j: запрос Cypher - как найти пути с длиной более 4

start n=node(*) match (n)-[r*1..5]->(m) where n.URI=~'.*Jacob_T._Schwartz.*' return n.URI,r,m; 

match p=(n)-[r*3..5]->(m) where n.URI=~'.*Jacob_T._Schwartz.*' return p; 

match p=allShortestPaths((n)-[r*..10]->(m)) where n.URI=~'.*Jacob_T._Schwartz.*' return p; 

Однако все эти запросы не возвращают пути длины> 4. Я уверен, что существует пути длиной 5. Есть ли способ, чтобы получить пути длина больше 4?

Btw, я использую Neo4j-оболочку для удаленного подключения к серверу, и я уже установлен wrapper.java.initmemory и wrapper.java.maxmemory 5000.

Спасибо заранее!

ответ

1

Просто установите 5 как минимум, если вы хотите только пути с длиной> 4.

[*5..]

Но я рекомендую также установка максимум.

[*5..15]

+0

Большое спасибо, Nicole. Попробуй! – sgao

Смежные вопросы