Статьи

Впереди: выпуск Neo4j 3.0 Milestone 1 уже здесь

Хорошая новость: первая веха версия Neo4j 3.0 теперь готова к тестированию. Загрузите Neo4j 3.0.0-M01 здесь .

Отказ от ответственности: выпуски Milestone, подобные этому, предназначены только для разработки и экспериментов, поскольку не все функции находятся в окончательном виде. Нажмите здесь, если вы ищете наиболее стабильную версию Neo4j (2.3.1) .

В выпуске Neo4j 3.0 Milestone 1 представлен новый сетевой протокол Bolt, предназначенный для высокопроизводительного доступа к графическим базам данных . Bolt объединит и усовершенствует все способы работы с Neo4j, предоставляя более согласованный доступ с приятным разделением ответственности.

Это начало новой крупной ветки разработки для Neo4j . Работа продемонстрирует все лучшие возможности Neo4j, оставляя после себя некоторые вещи, которые больше не нужны

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

Neo4j 3.0 Milestone 1 доступен для загрузки сегодня как часть нашей программы раннего доступа .

Универсальные языковые драйверы с болтом

Для всех, кто создает приложения Neo4j, Bolt улучшит как производительность, так и опыт разработчиков. Bolt — это протокол, ориентированный на установление соединения, использующий компактную двоичную кодировку по TCP или веб-сокетам для повышения пропускной способности и снижения задержек.

В дополнение к Bolt мы выпускаем официальные драйверы, которые инкапсулируют протокол, освобождая участников, чтобы сосредоточиться на уникальной интеграции языка и инфраструктуры.

Драйверы Java, JavaScript и Python доступны уже сегодня, а другие языки скоро появятся. Каждый язык будет иметь единый подход для общих базовых операций.

В качестве примера рассмотрим этот фрагмент кода с использованием драйвера Java (org.neo4j.driver: neo4j-java-driver: 1.0.0-M01):

Driver driver = GraphDatabase.driver("bolt://localhost:7687");
try (Session session = driver.session()) {
  Result rs = session.run(
     "MATCH (:Person {name:{name})-[:ACTED_IN]->(m:Movie) RETURN m",
                          Values.parameters("name","Keanu Reeves"));
  while (rs.next()) {
     System.out.println(rs.get("m").get("title").javaString());
  }
}

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

Драйверы доступны через системы распространения для конкретного языка с исходным кодом на GitHub:

Cypher Advances

Постоянное подключение Bolt является огромным преимуществом по сравнению с подключениями по запросу, когда большое количество небольших запросов Cypher .

Хотя HTTP-интерфейс останется доступным, мы хотим, чтобы более быстрое соединение Bolt было единственным, которое вам нужно. Cypher расширит свои возможности за пределы графовых запросов, чтобы инкапсулировать все операции Neo4j с единым шаблоном запросов и ответов.

Включенный в этот этап, планировщик на основе затрат Cypher теперь способен обрабатывать запросы, которые смешивают операции чтения и записи.

Ранее при выполнении любых операций записи использовался планировщик на основе правил. Теперь поддерживается несколько распространенных записей:

    • CREATE узлы и отношения
    • DELETE и DETACH DELETE
    • SETи REMOVEэтикетки
    • SET свойства
    • MERGE узел

Текущая работа добавит поддержку MERGE отношений, LOAD CSV и FOREACH.

Дополнительные заметки о Milestone 1

Neo4j Enterprise Edition теперь предоставляет больше значений метрик и предоставляет больше документации.

Возможность входа в один файл CSV была удалена. Также была удалена панель инструментов в webadmin; пожалуйста, обратитесь: sysinfo в браузере Neo4j или соответствующие метрики для этой информации.

Функция has () в Cypher, которая устарела в Neo4j 2.3, была удалена в пользу более информативного существующего ().

Важно отметить, что Neo4j теперь требует Java 8. Наши установщики настольных компьютеров теперь включают JRE Java 8. Для других установок и встроенного использования убедитесь, что Java 8 доступна.

Нам нужен ваш отзыв!

Как всегда, ранние выпуски доступа дают вам возможность оценить новые необычные функции Neo4j, которые сделают наши следующие версии еще лучше. В ответ мы просим вас дать отзыв о том, что сработало хорошо (или не сработало).

Помните, что выпуски Milestone — это бета-версия программного обеспечения, не предназначенная для производственного использования, и мы не предоставляем для них пути обновления.

Присылайте ваши отзывы об этом выпуске по адресу [email protected] или поднимайте вопрос на GitHub . Если у вас есть какие-либо вопросы, не стесняйтесь задавать их на нашем общедоступном канале Slack или размещать сообщения в нашей группе Google .

Пожалуйста, скачайте релиз Neo4j 3.0 Milestone 1 и попробуйте. Удачного тестирования!