Как установить и использовать базу данных Neo4j Graph на Debian 12

Neo4j – это высокопроизводительная система управления базами данных графов для хранения графов, науки о данных, ML, аналитики и визуализации. Neo4j хранит данные в узлах, ребрах, соединяющих их в отношения, и атрибутах узлов и ребер.

В этом руководстве мы покажем вам пошаговые инструкции по установке и использованию базы данных Neo4j Graph Database на сервере Debian 12. Вы также узнаете, как подключиться к neo4j через Cypher-shell и научитесь выполнять основные запросы в Cypher.

Установите Java OpenJDK

Перед установкой Neo4j Graph Database необходимо установить Java на вашу систему, и рекомендуется использовать последнюю версию Java LTS – Java OpenJDK 17. В этом разделе вы установите Java OpenJDK 17 через репозиторий Debian.

Сначала выполните приведённую ниже команду, чтобы обновить индекс пакетов Debian и получить информацию о последних пакетах.

sudo apt update

обновить репо

Теперь установите Java OpenJDK 17, выполнив команду ниже. В репозитории Debian 12 пакет default-jdk относится к Java OpenJDK 17, который требуется Neo4j Graph Database.

sudo apt install default-jdk

Введите y, чтобы продолжить установку.

установить default-jdk

После установки Java проверьте версию Java с помощью команды, приведенной ниже. В вашей системе должна быть установлена Java OpenJDK 17.

java -version

проверить java

Установка базы данных Neo4j Graph

После установки Java вы готовы установить Neo4j Graph Database на вашу систему Debian. Вы установите основные зависимости, настроите репозиторий Neo4j, установите пакет Neo4j, затем запустите и включите службу neo4j.

Чтобы начать, выполните приведённую ниже команду для установки основных системных инструментов на ваш сервер Debian.

sudo apt install gnupg2 apt-transport-https wget curl -y

install basic deps

Теперь выполните следующую команду, чтобы добавить ключ Neo4j GPG и репозиторий. В этом случае вы добавите репозиторий Neo4j в свою систему.

wget -q -O- https://debian.neo4j.com/neotechnology.gpg.key | \
    gpg --dearmor | sudo tee /usr/share/keyrings/neotechnology.gpg > /dev/null 2>&1

echo “deb [signed-by=/usr/share/keyrings/neotechnology.gpg] https://debian.neo4j.com stable latest” | \
sudo tee /etc/apt/sources.list.d/neo4j.list

добавить репозиторий

Далее обновите индекс пакетов Debian и установите пакет Neo4j, выполнив следующую команду apt.

sudo apt update && sudo apt install neo4j

Введите y, чтобы продолжить установку.

установить neo4j

После установки пакета Neo4j выполните следующую команду systemctl, чтобы запустить и включить службу neo4j.

sudo systemctl start neo4j
sudo systemctl enable neo4j

Наконец, проверьте работу службы neo4j с помощью следующей команды, чтобы убедиться, что служба запущена.

sudo systemctl status neo4j

Если Neo4j Графическая база данных запущена, вывод активный(работает) будет отображаться на экране, как показано ниже.

проверка службы neo4j

Базовая конфигурация развертывания Neo4j

Теперь, когда вы установили Neo4j Graph Database, первой задачей для вас будет настройка пароля администратора Neo4j с помощью команды neo4j-admin В командной строке установите адрес прослушивания и максимальную память кучи, изменив конфигурацию по умолчанию /etc/neo4j/neo4j.conf.

Запустите программу neo4j-admin ниже команду, чтобы установить пароль по умолчанию для вашей установки Neo4j. В этом примере вы установите пароль Neo4j по умолчанию следующим образом p4ssword.

neo4j-admin dbms set-initial-password p4ssword

После настройки пароля Neo4j по умолчанию откройте конфигурацию Neo4j /etc/neo4j/neo4j.conf с помощью следующей команды редактора nano.

sudo nano /etc/neo4j/neo4j.conf

Добавьте свой локальный IP-адрес в параметр dbms.default_listen_address, чтобы Neo4j мог работать в локальной сети. Затем измените параметр server.memory.heap.max_size, чтобы установить максимальное количество памяти кучи для Neo4j Graph Database. В данном случае Neo4j будет работать по адресу 192.168.5.15 с максимальной памятью кучи 4 ГБ.

dbms.default_listen_address=192.168.5.15

server.memory.heap.initial_size=512m
server.memory.heap.max_size=4096m

После завершения сохраните файл и выйдите из редактора.

Наконец, выполните приведенную ниже команду systemctl, чтобы применить изменения, перезапустив службу neo4j.

sudo systemctl restart neo4j

начальная конфигурация neo4j

Подключение к Neo4j через Cypher-shell

Чтобы подключиться к базе данных Neo4j Graph Database, используйте cyper-shell. Функциональность cypher-shell аналогична mysql client для MySQL/MariaDB и psql для PostgreSQL. cypher-shell позволяет выполнять запросы Cypher, который является декларативным языком запросов для Neo4j Graph Database.

Выполните приведенную ниже команду cypher-shell, чтобы войти в базу данных Neo4j Graph Database. Когда вас попросят ввести имя пользователя, введите стандартное имя neo4j, а затем введите пароль.

cypher-shell -a 'neo4j://192.168.5.15:7687'

После подключения появится сообщение ‘Подключились к Neo4j … как пользователь neo4j‘ будет отображено, а подсказка примет вид ‘neo4j@neo4j>‘.

подключение через cypher-shell

Теперь выполните следующий запрос Cypher :help для вывода справочных сообщений и :exit для выхода из cypher-оболочки. Как вы заметили, запросы Cypher всегда начинаются с точки с запятой.

:help
:exit

команда выполнения

Кроме того, используйте дополнительный параметр -a для подключения к конкретному серверу Neo4j, или -u чтобы войти в систему под нужным вам пользователем.

cypher-shell -a 'neo4j://192.168.5.15:7687' -u neo4j -p p4ssword

Основные операции в базе данных Neo4j Graph

В базе данных Neo4j Graph Database есть 3 основные сущности:

  1. Узлы: сущности данных базы данных графов Neo4j и использует круглые скобки () в языке запросов Cyper.
  2. Отношения: когда два узла соединяются друг с другом, это называется связью. Отношения изображаются стрелкой ->, которая указывает направление между узлами.
  3. Пути: он состоит из соединенных узлов и связей.

Сначала выполните следующий запрос, чтобы создать новый узел с меткой Movie.

CREATE (a:Movie {title:'The Matrix', released: 1999}) RETURN a;

создать узел

Теперь выполните приведенный ниже запрос, чтобы создать несколько узлов с одинаковой меткой Person.

CREATE (a:Person {name:'Keanu Reeves', born: 1964}) RETURN a;
CREATE (a:Person {name:'Carrie-Anne Moss', born: 1967}) RETURN a;
CREATE (a:Person {name:'Laurence Fishburne', born: 1961}) RETURN a;

создать несколько узлов

Далее выполните следующий запрос, чтобы создать новые отношения между узлами с меткой Person и узлом с меткой Movie. В этом случае отношение будет называться ACTED_IN с ролями свойств.

MATCH (a:Person), (b:Movie) WHERE (a.name = 'Keanu Reeves') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Neo']}]->(b);
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Carrie-Anne Moss') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Trinity']}]->(b);
MATCH (a:Person), (b:Movie) WHERE (a.name = 'Laurence Fishburne') AND b.title = 'The Matrix' CREATE (a)-[r:ACTED_IN {roles:['Morpheus']}]->(b);

создание отношений между узлами

Наконец, выполните следующий запрос, чтобы проверить доступные узлы и отношения в базе данных графов Neo4j.

MATCH (s)-[r]->(e)
RETURN s.name AS Name, e.title AS Title, r.roles AS As;

Следующий вывод подтверждает, что каждый узел связан.

проверка данных

Заключение

В заключение хочу сказать, что вы успешно установили базу данных Neo4j Graph Database на сервер Debian 12, выполнив пошаговые действия. Вы установили и настроили базу данных Neo4j Graph Database, узнали о базовом использовании Cypher-shell для подключения к Neo4j и научились основным операциям с использованием языка запросов Cyper

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *