Neo4J подходит для clojure?
Я обнаружил, что реляционные базы данных очень хорошо подходят для Clojure, поскольку установленные функции (проект/объединение/объединение и т.д.) очень хорошо сопоставляются с схемой базы данных, что делает Clojure практически идеальным для использования с базами данных.
Мне было интересно, как Clojure вписывается в графические базы данных, например Neo4j?
Ответы
Ответ 1
Neo4J имеет clojure 'ey привязки здесь и здесь и здесь
вы можете получить конфигурацию leiningen и maven для каждого из из clojars
allegrograph - еще одно подобное хранилище данных графа, которое широко поддерживается в clojure. поэтому есть некоторые доказательства того, что ответ может быть да!
Хранилища с графами хорошо снабжают себя неизменными деревьями, которые могут быть даже лучше приспособлены к Clojure, чем наборы, но все это довольно субъективно. Самый объективный ответ, который я могу дать, - это указать на существующее использование хранилищ graph/stores/triple-stores.
Ответ 2
Книга Марка Уотсона (бесплатная pdf-версия: http://www.markwatson.com/opencontent/book_java.pdf), менее известная книга Clojure, которую он опубликовал в прошлом году, охватывает какая-то полезная технология графа, в основном алеброграф.
Я сам не очень хорошо разбираюсь в библиотеках графических библиотек, но в приведенной выше книге упоминается, что neo4j оптимизирован для пересечения графиков, тогда как алгоритм арифгографа оптимизирован для подграфа. Поэтому выбор, вероятно, будет зависеть от вашего конкретного приложения.
Если вы идете с аллегографом, автор этой книги отказывается от лицензии 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