Подходит ли Neo4J для clojure?

#clojure #neo4j

#clojure #neo4j

Вопрос:

Я обнаружил, что реляционные базы данных очень хорошо подходят для Clojure, поскольку установленные функции (project / join / union и т.д.) Очень хорошо сопоставляются со схемой базы данных, что делает Clojure почти идеально подходящим для использования с базами данных.

Однако мне было интересно, как Clojure сочетается с графическими базами данных, такими как Neo4j?

Ответ №1:

Neo4J имеет привязки clojure’ey здесь и здесь и здесь

вы можете получить конфигурацию leiningen и maven для каждого из них у clojars

allegrograph — это еще одно аналогичное графическое хранилище данных, которое широко поддерживается в clojure. итак, есть некоторые доказательства того, что ответ может быть положительным!

хранилища графиков хорошо подходят для неизменяемых деревьев, которые могут быть даже лучше подходят для Clojure, чем наборы, но все это довольно субъективно. Самый объективный ответ, который я могу дать, — указать на существующее использование графовых хранилищ / тройных хранилищ.

Ответ №2:

Книга Марка Уотсона (бесплатная версия в формате pdf:http://www.markwatson.com/opencontent/book_java.pdf ), менее известная книга по Clojure, которую он самостоятельно опубликовал в прошлом году, охватывает некоторые полезные графические технологии, в основном allegrograph.

У меня самого нет большого опыта работы с библиотеками graph db, но в вышеупомянутой книге упоминается, что neo4j оптимизирован для обхода графиков, тогда как allegrograph оптимизирован для сопоставления с подграфом. Таким образом, выбор, вероятно, будет зависеть от вашего конкретного приложения.

Если вы выберете allegograph, автор этой книги отказывается от лицензии AGPL на свои оболочки для производственного использования, если вы покупаете копии его книги, и, конечно, их можно свободно использовать на условиях лицензииhttps://github.com/mark-watson/java_practical_semantic_web

Библиотека-оболочка clojure-neo4j существует, хотя неясно, будет ли она обработана кодом или готова к использованию с учетом даты последней фиксацииhttps://github.com/JulianMorrison/neo4j-clojure. Однако самый последний обновленный форк от mattrepl появился не так давно: https://github.com/mattrepl/clojure-neo4j.git

Комментарии:

1. да. github.com/michaelklishin/neocons теперь это намного лучший вариант, спустя несколько лет после этого оригинального поста