У меня есть двойное отношение (вершина D) - [rel1] -> (вершина БД) - [REL2] (вершина D)Neo4j ShortestPath С двумя соотношениями
мне нужна shortestPath между двумя элементами с помощью D с помощью этого отношения
пробуется
MATCH (d:D{d_pk:1})-[r1:DgoDB*]->()
MATCH p = allShortestPaths((ALL (RELATIONSHIP IN r1)->()) - [r2:DBgoD*] -> (to:D))
WHERE (to.d_pk = 70258)
RETURN d, r1, p
но, но это не сработало.
У кого-нибудь есть идеи?
Можете ли вы уточнить свой узор немного больше? Является ли путь, который вы хотите найти, состоящий из обоих видов отношений (: DgoDB и: DBgoD) в любом порядке? Или это первый путь только: отношения DgoDB, а затем остальная часть пути: отношения DBgoD? Или это совсем другое? – InverseFalcon
Исходная база данных является реляционной. Существует отношение 3-го класса [linked_to] между двумя элементами таблицы Person и элементом таблицы Type. Эта связь говорит, что элемент Лица связан с другим элементом Личности и имеет тип Тип, друг, отец, сын, мать, одноклассник и т. Д .; В моделировании для баз данных графа Person создала вершину D, тип Вершина B и [связанная_то] связь возникла с вершиной DB и ребрами [DgoDB], [DBgoB] и [DBgoD]. Теперь мне нужно было найти кратчайший путь между двумя элементами D, поэтому мне нужно перейти с D-> DB, а затем DB-> D –
Я все еще пытаюсь разобрать это. Тем временем, это хорошая идея, чтобы выбрать метки узлов и типы отношений, которые имеют некоторое фактическое значение в соответствии с тем, что вы на самом деле моделируете. Графические базы данных, как правило, лучше разбирают смысл ваших данных и то, как они связаны, но выбор ярлыков и типов, которые слишком абстрагированы от того, что на самом деле моделируется, не позволяет понять эти значения и соединения. – InverseFalcon