2013-03-20 8 views
11

Я новичок и в Scala, и в Neo4j. Я хочу создать базу данных Neo4j с помощью Scala. Есть ли какой-либо ресурс, где я могу найти готовый код для создания узлов, удаления узлов, добавления свойств, создания индексов и т. Д.Использование neo4j с scala

Спасибо.

+0

Некоторое содержание от http://neo4j.org/develop/scala –

ответ

10

На самом деле есть несколько вариантов это зависит от (а), как вы хотите общаться с Neo4j (отдых или нет) (б) среды выполнения.

Если ваше приложение одобрено только службой REST, и вы можете использовать ANORM для доступа к вашим данным (данным). Существует многообещающий драйвер, который в настоящее время достаточно хорош, чтобы делать много вещей, используя Cypher в качестве языка запросов. Вы можете найти его там (AnormCypher): https://github.com/AnormCypher/AnormCypher. Сила ANORM является источником многих дебатов, но я думаю, что у нее много хорошей функции.

Существует также драйвер Scala FaKod, который является очень полным, а вторая версия (M1 на данный момент) будет включать возможности REST. Сила этого драйвера (neo4j-scala) - это чистый DSL, который он предоставляет для абстрактных обходных деталей, он довольно интуитивно понятен и хорошо документирован.

С другой стороны, я начал свой driver некоторое время, но не успел приложить много усилий (скоро это изменится). Текущая версия по-прежнему грубо и тесно связана с приложением воспроизведения. Но этот драйвер пытается использовать amap реактивность будущего (теперь на основе akka) и json api игры. Однако этот способ не будет наиболее продуктивным из-за недостатка документа и очистки ... любая помощь приветствуется ;-). Также это плагин для игры, а затем довольно легко настроить и ввести.

Для получения дополнительной информации в целом в отношении водителей, вы должны пойти туда:http://www.neo4j.org/develop/drivers

5

Вы можете посмотреть на gremlin-scala. Он использует стек Tinkerpop, который по существу похож на JDBC для реляционных баз данных. Вы можете использовать его с рядом графических баз данных, включая Neo4J. На странице github есть несколько основных примеров и гораздо больше в gremlin wiki.

Отказ от ответственности: Я сопровождающий гремлина-Скала;)

+0

Хороший материал! Один водитель, чтобы управлять ими всеми. На самом деле, мне очень нравится стек Tinkerpop. –

0

Посмотрите renesca, который позволяет использовать Neo4j REST API от Scala. Вы можете создавать и изменять узлы и отношения и постоянно сохранять все свои изменения.

Для более продвинутых сценариев ознакомьтесь с renesca-magic, который представляет собой слой абстракции поверх renesca. Он позволяет вам определить эффективные схемы типа безопасных графиков с минимальным количеством кода.

Вот некоторые из них:

  • Множественное наследование свойств
  • HyperRelations (подключение узлов и отношений)

Отказ от ответственности: я являюсь разработчиком этих библиотек.

Смежные вопросы