Neo4j – instalacja

neo4j_logo

Dzisiaj krótko o bazach grafowych, na przykładzie Neo4j. Bazy grafowe jak sama nazwa wskazuje wykorzystują strukturę grafów. Neo4j oparty jest na grafach skierowanych. Zacznijmy najpierw od tego czym są grafy. Jest to reprezentacja węzłów i krawędzi połączonych ze sobą. Przedstawiają one relacje między obiektami. Bazy grafowe wykorzystujemy jeśli bardziej niż na samych danych interesują nas powiązania/relacje między obiektami. Sieci społecznościowe są bardzo dobrym przykładem ich wykorzystania.

Instalacja Neo4j

Wchodzimy na stronę https://neo4j.com/ i pobieramy najnowszą wersję dla posiadanego przez nas systemu. W tym artykule jest to wersja 3.1.1 na Windowsa. Po pobraniu pliku uruchamiamy go i przechodzimy przez kolejne kroki instalacji.

Następnie uruchamiamy Neo4j i podajemy ścieżkę lub wybieramy domyślną, pod którą zapisywana będzie utworzona przez nas baza. Następnie naciskamy przycisk Start uruchamiając server.

neo4j_install

 

Po poprawnym uruchomieniu powinniśmy otrzymać komunikat, że Neo4j jest gotowy i znajdziemy go pod adresem http://localhost:7474/. Port 7474 jest portem domyślnym.

neo4j_start

W pasku po lewej stronie znajdziemy m.in. ustawienia, informacje o bazie, serwisy cloudowe, dokumentacje oraz informacje o samym Neo4j. Na górze jest pasek, w który wpisujemy grafowe zapytania w języku Cypher. Poniżej jest strona startowa. Po wykonaniu zapytania pojawią się w tym miejscu wyniki.

 

Cypher

Teraz przejdźmy do kilku prostych zapytań. Zaczniemy od stworzenia nowego węzła wpisując w pasku na górze:

CREATE (codecouple:Blog {name:"CodeCouple"})
RETURN codecouple

Otrzymujemy pierwszy węzeł typu Blog z nazwą CodeCouple. Dzięki poleceniu return wyświetlamy wynik od razu na ekran.

neo4j_result2

Następnie tworzymy w ten sam sposób drugi węzeł typu Person z nazwą You.

CREATE (you:Person {name:"You"})

Teraz połączmy stworzone przez nas węzły. Przypisujemy węzły do zmiennych, tworzymy relację i wyświetlamy całość.

MATCH (you:Person {name:"You"})
MATCH (codecouple:Blog {name:"CodeCouple"})
CREATE (you)-[like:LIKE]->(codecouple)
RETURN you,like,codecouple

neo4j_result3

Wchodząc w panelu bocznym w Database Information -> Node labels widzimy wszystkie utworzone przez nas typy węzłów. Klikając na poszczególne, jesteśmy w stanie zobaczyć wszystkie dane. W Database Information -> Relationship types możemy z kolei podejrzeć wszystkie relacje.

 

W następnym wpisie pokażę jak łączyć się z Neo4j i modelować swoje struktury grafowe za pomocą Javy.