Я пытаюсь изучить neo4j, поэтому я просто взял пример использования приложения для путешествий, чтобы узнать, но я не уверен в оптимальном способе его решения. Любая помощь будет оценена.
Заранее спасибо.
Итак, рассмотрим вариант использования, в котором мне нужно ехать из одного места (МЕСТО A) в другое (МЕСТО C) на поезде, но прямой связи между ними нет. места. Итак, нам нужно пересесть на МЕСТО B.
Два места связаны отношением IS_CONNECTED. отсылка к зеленым узлам на изображении
И затем, если между двумя точками существует отношение is_connected, тогда будет исходящая связь, т. е. CONNECTED_VIA, к общему поезду из обоих узлов, что подразумевает, как они связаны, ссылаясь на красные узлы в изображение
мой вопрос в том, как мы должны узнать, что мы должны изменить станцию с места b
Мое понимание:
Мы проверим, где два места связаны отношением IS_CONNECTED.
match (start:place{name:"heidelberg"}), (end:place{name:"frankfurt"}) MATCH path = (start)-[:IS_CONNECTED*..]->(end) RETURN path
это покажет, что эти два места связаны
Тогда мы увидим, что если точка A и точка c связаны напрямую или нет запросом
match (p:place{name:"heidelberg"})-[:CONNECTED_VIA]->(q)‹-[:CONNECTED_VIA]-(t:place{name:"frankfurt"}) return q
И это ничего не вернет, потому что нет прямых соединений
- Мой мозг перестал работать после этого. Я пытаюсь понять, как за последние 3 дня. Извините, я выгляжу сбитым с толку
Пожалуйста, нажмите здесь, чтобы увидеть изображение того, что я имею в виду