На платформах GraphDB (Neo4j, OrientDB, FlockDB, HyperGraphDB ...) возможно определить отношения между узлами.
Мне нужно определить направленные отношения, такие, что отношение имеет разные имена в зависимости от егонаправление.
Например:
Parent(A,B) := Sibling(B,A).
Затем я хочу просмотреть или запросить график, используя термины и направления.
Конечно, я не хочудля определения двух отношений, но только одного.
Иногда я даже хочу использовать ненаправленное имя, например:
Call(A,B) := Answer(B,A);
TalkWith(A,B) := Call(A,B) || Call(B,A)
И использовать направленные или однонаправленные обходы / запросы
Например, я могу спросить:
Get any X that TalkWith(A,X))
или
Get any X that Call(A,X))
или
Get any X that Answer(A,X))
Какие существующие платформы GraphDB поддерживают это?