Опитвам се да науча neo4j, така че просто взех случай на използване на приложение за пътуване, за да науча, но не съм сигурен за оптималния начин за решаването му. Всяка помощ ще бъде оценена.
Благодаря предварително.
Така че помислете за случай на употреба, при който трябва да пътувам от едно място (МЯСТО A) до друго (МЯСТО C) с влак, но няма пряка връзка между двете места. И така трябва да сменим влака на МЯСТО B.
Две места са свързани чрез релация IS_CONNECTED релация. позовавайки се на зелени възли в изображението
И тогава, ако има връзка is_connected между две места, тогава ще има изходяща връзка, т.е. CONNECTED_VIA към общ влак от двата възела, което предполага как те са свързани позовавайки се на червени възли в изображение
въпросът ми е как да разберем, че трябва да сменим станцията от място б
Моето разбиране е:
Ще проверим къде двете места са свързани чрез връзката 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 дни. Съжалявам, че изглеждам объркан
Моля, щракнете тук за изображението на това, което препращам