Я новичок в Neo4j, и я получаю удовольствие от некоторых данных о нашей солнечной системе в игре (Elite Dangerous). Как трейдер, вы хотите найти наиболее выгодный маршрут, основанный на определенных критериях. Одним из них является количество прыжков, необходимых между системой и другим. Для того, чтобы посчитать, что сначала нужно вычислить расстояние между всеми системами в 30Ly для каждой системы, так что я придумал этот запрос, чтобы вычислить расстояние в вопросе:Создание многих отношений с вычисленными свойствами
MATCH (s1:System), (s2:System)
WITH s1, s2, (sqrt((s2.x-s1.x)^2+(s2.y-s1.y)^2+(s2.z-s1.z)^2)) AS dist
WHERE dist < 30 AND dist > 0
CREATE UNIQUE (s1)-[:IS_DISTANCED_FROM {distance: dist}]-(s2)
RETURN count(dist)
Система по х, у, г координат. Запрос так медленно, даже через час, он не был завершен. Я делаю что-то неправильно?
У меня есть индекс в системе, и я использую версию 2.1.6.
Мой запрос cypher не удался, но моя база данных находится в состоянии 806 777. Есть ли способ очистить его, потому что отношения не появляются, когда я запрашиваю их позже.
Благодарим за помощь!
я выполнил команду (без PROFILE, потому что это не было 'работы) и вот результат: Количество (расстояние) Set 1716 свойства, созданные 1716 отношения, вернулся 1 строку в 4816 мс –
По мой расчет, для всех систем 19800, он должен занять 110 минут в целом, но через 2-3 часа он не завершился :( –
это не сработало, потому что вы не запускали его в оболочке –