Привет! Эта статья поможет вам пройти сертификацию 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 - локально в Интернете
- С рабочего стола Neo4j мы можем открыть браузер Neo4j. Для этого щелкните
<your project name>
на экране рабочего стола, а затем щелкнитеManage
в нашей базе данных. - Мы также можем получить доступ к этому из обычного окна браузера, набрав 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.
Ссылка