Ускорить шифрование запросов - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в Cypher и не очень понимаю процесс настройки. Поэтому я подумал, что могу получить некоторую помощь здесь.

Я создаю приложение для маршрутизации и загружаю набор данных GTFS в neo4j. У меня есть около 1,2 млн. TripStops, и мне нужно создать отношения передачи между ними (тот же stop_id). Я сделал очень глупый запрос, чтобы сделать это:

MATCH (a:TripStop) With a Match(b:TripStop) 
With b create (a)-[r:Prestup]->(b)

~ 166 000 000 000 оценочных строк

, которые я "обновил" до:

MATCH (a:TripStop) With a Match(b:TripStop) 
With b where id(b)>id(a) and b.trip_id<>a.trip_id and b.stop_id=a.stop_id create (a)-[r:Prestup]->(b)

~ 41 000 000 000 оценочных строк

но я не знаю, как ускорить процесс, чтобы это не занимало много времени.

Буду рад любому совету, трюк

РЕДАКТИРОВАТЬ:

Я провел некоторое исследование и сделал индексы для stop_id, и теперь запрос приводит к следующему: изображение здесь

, что все еще не велико (187 166 925 оценочных строк для полный набор данных), но прогресс, я думаю, есть идеи, как ускорить его еще лучше?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...