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