Привет! Эта статья поможет вам пройти сертификацию Neo4J. Мы рассмотрим некоторые из основных тем.

Что такое Neo4J?

  • Neo4j используется для хранения, сопоставления, анализа и обхода сетей связанных данных для выявления невидимых контекстов и скрытых взаимосвязей.
  • Таким образом, это база данных Graph, которая не использует объекты реляционной схемы и также совместима с ACID.

Neo4j Доступ

  • Доступ к графу БД можно получить через браузер или установить локально (браузер Neo4j и рабочий стол Neo4j) соответственно.
  • Neo4j bloom помогает выполнять расширенную визуализацию данных.
  • Помимо выполнения визуализации вручную, существует поддержка драйверов для таких языков, как Python, Go, Java и т. Д., Чтобы выполнять визуализацию программным способом.

Браузер Neo4j

  • Доступ к базе данных в работающем экземпляре можно получить через веб-браузер.
  • Мы можем подключаться только к одному экземпляру базы данных за раз
  • Песочница Neo4j может быть создана через Интернет для работы с базой данных. Это временный экземпляр Neo4j, который доступен в течение 3 дней, но вы можете продлить его до 10 дней.

  • Протокол Bolt используется приложениями для Neo4J db
  • Визуализации можно экспортировать в форматы PNG, SVG и CSV.

Neo4j Desktop

  • По умолчанию для ваших проектов Neo4j Desktop доступны APOC, Graph Algorithms и GraphQL.
  • APOC - это библиотека, которая предоставляет сотни процедур и функций.
  • Графические алгоритмы
  • Поиск пути - эти алгоритмы помогают найти кратчайший путь / доступность / качество маршрутов
  • Центральность - эти алгоритмы определяют важность отдельных узлов в сети.
  • Обнаружение сообщества - эти алгоритмы оценивают, как группа кластеризована или разделена.
  • Сходство - эти алгоритмы помогают вычислить сходство узлов

  • Мы можем создать несколько проектов, каждый со своей собственной базой данных или набором баз данных, но одновременно можно запускать только одну базу данных.

Neo4J - локально в Интернете

  1. С рабочего стола Neo4j мы можем открыть браузер Neo4j. Для этого щелкните <your project name> на экране рабочего стола, а затем щелкните Manage в нашей базе данных.
  2. Мы также можем получить доступ к этому из обычного окна браузера, набрав http: // localhost: 7474 и войдя в систему с именем пользователя: neo4j, Пароль: "your database password"

Загрузка данных в БД

Мы можем использовать один из этих доступных вариантов

  • Выполните операторы LOAD CSV в Cypher.
  • Библиотека APOC - процедуры импорта
  • Используйте инструмент neo4j-import
  • Используйте инструмент Neo4j ETL для сопоставления данных из реляционных баз данных и загрузки в Neo4j

Лицензия Доступны лицензии с открытым исходным кодом и коммерческая лицензия, которая включает техническую поддержку.

Cypher Query Language

Cypher - это язык запросов к графам Neo4j, который позволяет пользователям сохранять и извлекать данные из базы данных графов.

Синтаксис Cypher обеспечивает наглядный и логический способ сопоставления шаблонов узлов и отношений на графе. Это декларативный язык на основе SQL для описания визуальных паттернов в графах с использованием синтаксиса ASCII-Art. Это позволяет нам указать, что мы хотим выбрать, вставить, обновить или удалить из данных нашего графика, без описания того, как именно это сделать. С помощью Cypher пользователи могут создавать выразительные и эффективные запросы для обработки необходимых функций создания, чтения, обновления и удаления.

Example
//data stored with this direction. Create Operation
CREATE (p:Person)-[:LIKES]->(t:Technology)
//query relationship backwards will not return results
MATCH (p:Person)<-[:LIKES]-(t:Technology)
//better to query with undirected relationship unless sure of direction	
MATCH (p:Person)-[:LIKES]-(t:Technology)
//Return all persons name
MATCH (p:Person) RETURN p.name
//Alias persons name into 'Employees_name'
MATCH (p:Person) RETURN p.name AS Employees_name
//Update a parameter using SET
MATCH (p:Person {name: 'Jane'}) SET p.birthdate = date('1990-12-12') RETURN p.name
// Unroll list and return distinct elements
WITH [1, 1, 2, 2] AS coll UNWIND coll AS x WITH DISTINCT x RETURN collect(x) AS setOfVals
// Count - null vs not null
COUNT(*)  :- counts rows, not values
COUNT(n)  :- does not count null values
// Merge either matches existing nodes and binds them, or it creates new data and binds that.
//Merge is like combination of create and match
MATCH (p:Person) MERGE (c:City { name: p.bornIn }) RETURN p

Модель данных

Четыре строительных блока базы данных Neo4j Graph:

  • Узлы
  • Отношения
  • Характеристики
  • Этикетки

Узлы. В базе данных Neo4j узлы используются для представления сущностей и сложных типов значений на графе. Два узла могут быть связаны более чем одним отношением

Отношения Узлы связаны отношениями. Таким образом, внешние ключи не нужны, чтобы решить, какие узлы связаны.

  • Отношения - это структура с именем и направлением, описывающая связь между двумя узлами.
  • Он обеспечивает структуру и контекст для графа.
  • Итак, согласно этой логике, один узел может иметь отношение, указывающее на себя
  • Направление требуется при создании отношения, но не при запросе отношения
  • Наконец, если к узлам прикреплены отношения, их нельзя удалить.

Ярлыки

  • Ярлыки - это теги, которые используются для группировки узлов в наборы, представляя их как объекты.
  • Они используются для применения ограничений в группах узлов.

Свойства

  • Свойства - это пары ключ-значение, используемые для узлов и отношений.
  • Значения свойств могут быть числами, байтами, логическими значениями, строками, массивами строк или датами.
  • Автоматическая индексация узлов происходит, когда метка добавляется к узлу, но индексация свойств происходит только в том случае, если вы явно добавляете индекс или ограничение к свойству.
  • Neo4j по умолчанию не требует, чтобы все узлы с одинаковой меткой имели одинаковые ключи свойств.

Заключение

Ну вот и все! Статья для начинающих, чтобы начать с Neo4J. Дополнительные интерактивные рабочие области будут добавлены в следующих статьях.

Просто проверьте, насколько хорошо вы себя чувствуете, прочитав эту статью, по ссылке https://neo4j.com/graphacademy/neo4j-certification/.

Что делает Serverless Guru?

Serverless Guru помогает компаниям создавать масштабируемые и экономичные приложения в облаке. Мы помогаем обучать компании тому, как использовать IAC, бессерверные и облачные сервисы. Мы помогаем переносить существующие облачные приложения в бессерверные и помогаем оптимизировать приложения, чтобы они были более рентабельными. Мы являемся партнером по бессерверной разработке и партнером-консультантом AWS.

Ссылка