15

我发现关系数据库非常适合 Clojure,因为集合函数(项目/连接/联合等)非常好地映射到数据库模式,使得 Clojure 几乎非常适合与数据库一起使用。

但是,我想知道 Clojure 如何适合 Neo4j 等图形数据库?

4

2 回答 2

13

Neo4J 有clojure'ey 绑定hereherehere

您可以从clojars 获取每个这些的 leiningen 和 maven 配置

allegrograph是另一个在 clojure 中得到广泛支持的类似图形数据存储。所以有一些证据表明答案可能是肯定的!

图存储很适合不可变树,这可能比集合更适合 Clojure,但这都是相当主观的。我能给出的最客观的答案是指出图形存储/三重存储的现有使用。

于 2011-04-15T20:15:23.707 回答
8

Mark Watson 的书(免费 pdf 版本: http: //www.markwatson.com/opencontent/book_java.pdf)是他去年自行出版的一本鲜为人知的 Clojure 书籍,其中涵盖了一些有用的图形技术,主要是 allegrograph。

我自己对图形数据库库没有太多经验,但是上面引用的书提到neo4j 针对遍历图进行了优化,而allegrograph 针对子图匹配进行了优化。因此,选择可能取决于您的具体应用。

如果您使用 allegograph,那么如果您购买他的书的副本,那本书的作者将放弃其包装器上的 AGPL 许可证以供生产使用,当然可以在许可证的条件下免费使用https://github.com/马克-沃森/java_practical_semantic_web

clojure-neo4j 包装器库存在,但在给定最后提交日期https://github.com/JulianMorrison/neo4j-clojure的情况下,尚不清楚它是否会被代码腐烂或准备好使用。最近更新的分叉,由 mattrepl,但是不久前:https ://github.com/mattrepl/clojure-neo4j.git

于 2011-04-15T20:34:17.610 回答