AGE
Apache AGE to rozszerzenie do PostgreSQL, które umożliwia użytkownikom wykorzystanie graficznej bazy danych na podstawie istniejących relacyjnych baz danych. Jako rozszerzenie PostgreSQL, AGE obsługuje wszystkie funkcjonalności i cechy PostgreSQL oferując jednocześnie możliwość tworzenia grafów.
Uruchamianie
Uruchamianie na CGC jest bardzo proste. Wystarczy utworzyć nową bazę danych i załadować rozszerzenie AGE.
cgc db create -n <nazwa_bazy_danych> pg-age
Po utworzeniu bazy danych otrzymasz app token do swojej bazy danych.
Domyślna konfiguracja
Domyślna konfiguracja dla AGE jest ustawiona do używania silnika bazy danych PostgreSQL. Baza danych zostanie utworzona z następującymi parametrami:
POSTGRES_PASSWORD
: Hasło dla użytkownika PostgreSQL. Jest ustawione na specyficzny dla CGCapp_token
, który otrzymujesz po utworzeniu bazy danych.POSTGRES_USER=admin
: Użytkownik dla bazy danych PostgreSQL.POSTGRES_DB=db
: Nazwa bazy danych PostgreSQL. Jest ustawiona na nazwę, którą podałeś podczas tworzenia bazy danych.POSTGRES_HOST_AUTH_METHOD=trust
: Konfiguruje PostgreSQL do pomijania weryfikacji hasła dla połączeń, ufając, że uwierzytelnienie już nastąpiło na poziomie systemu. Jest to wygodne do rozwoju, ale stwarza znaczące zagrożenie bezpieczeństwa w środowiskach produkcyjnych.
Jak podłączyć się do bazy danych
Po więcej informacji o CGC SDK i tym jak podłączyć się do bazy danych, zajrzyj do naszej dokumentacji
Instalacja
Dla każdego połączenia AGE, które chcesz utworzyć, musisz załadować rozszerzenie AGE do swojej bazy danych.
CREATE EXTENSION age;
LOAD age;
SET search_path = ag_catalog, "$user", public;
Gotowe! Możesz teraz korzystać z AGE w swojej bazie danych.
Przykładowe działanie
Aby utworzyć graf, użyj funkcji create_graph znajdującej się w ag_catalog.
SELECT create_graph('graph_name');
Aby utworzyć wierzchołek z etykietą i właściwościami, użyj klauzuli CREATE.
SELECT *
FROM cypher('graph_name', $$
CREATE (:label {property:"Node A"})
$$) as (v agtype);
SELECT *
FROM cypher('graph_name', $$
CREATE (:label {property:"Node B"})
$$) as (v agtype);
Aby utworzyć krawędź między dwoma wierzchołkami i ustawić jej właściwości:
SELECT *
FROM cypher('graph_name', $$
MATCH (a:label), (b:label)
WHERE a.property = 'Node A' AND b.property = 'Node B'
CREATE (a)-[e:RELTYPE {property:a.property + '<->' + b.property}]->(b)
RETURN e
$$) as (e agtype);
Aby wykonać zapytanie o połączone wierzchołki:
SELECT * from cypher('graph_name', $$
MATCH (V)-[R]-(V2)
RETURN V,R,V2
$$) as (V agtype, R agtype, V2 agtype);
Po więcej informacji o AGE, zajrzyj do oficjalnej dokumentacji oraz repozytorium Github