Apache AGE- Как реализовать связь между двумя графиками

Если у нас есть 2 базы данных графов «A» и «B», и в настоящее время нет связи между узлами базы данных графа A и базы данных графа B, и теперь мне нужно добавить связь между узлом A и узлом B, тогда как Я делаю это с помощью AGE. Например, A может быть базой данных графов сотрудников, а B может быть базой данных графов любых автомобильных дилеров, и теперь я хочу добавить взаимосвязь того, какой участник хочет какую машину, как бы я сделал это, используя Apache AGE.

3 ответа

Невозможно создать связь между двумя узлами в отдельных графах. Вы можете написать некоторый SQL для создания таблицы переходов между двумя узлами на других графах, но если вы хотите создать ребро между двумя узлами, они должны быть на одном графе.

Вы не можете добавить связь между узлом A и узлом B, которые принадлежат разным графикам, но apache-age предоставляет вам возможность запрашивать несколько графиков , которые вы можете использовать для достижения своей цели в некоторой степени.

Нет никаких ограничений на количество графиков, которые оператор SQL может запрашивать. Разрешение пользователям запрашивать более одного графика одновременно.

      SELECT graph_1.name, graph_1.age, graph_2.license_number
FROM cypher('graph_1', $$
    MATCH (v:Person)
    RETURN v.name, v.age
$$) as graph_1(col_1 agtype, col_2 agtype, col_3 agtype)
JOIN cypher('graph_2', $$
    MATCH (v:Doctor)
    RETURN v.name, v.license_number
$$) as graph_2(name agtype, license_number agtype)
ON graph_1.name = graph_2.name

Результат:

Связь между двумя узлами в разных сетях не может быть установлена. Если вы хотите установить ребро между двумя узлами, они должны находиться в одном графе, однако вы можете использовать SQL для создания таблицы переходов между двумя узлами в отдельных графах.

Другие вопросы по тегам