我今天一直在关注Neo4j,我感到很兴奋。我想知道是否有与Neo4J高度集成的Web应用程序框架?基本上我想开始尝试Neo4J,我想也许有明显的Web框架选择,如果有的话,我也想尝试一下。你知道吗?
答案 0 :(得分:3)
EDIT2:我会查看此页:
http://www.neo4j.org/develop/drivers
其中有不少,但我不知道其中有多少是“高度”整合的。
答案 1 :(得分:2)
我认为使用Cypher,任何框架都很容易使用,它只是一个你需要点击的REST端点。我有使用Node.js,Neography / Ruby以及JDBC over REST / Java的丰富经验。
答案 2 :(得分:2)
您可能还会看一下Structr(https://structr.org)。
(免责声明:我是Structr的项目发起人)
答案 3 :(得分:0)
Coils专为构建Neo4j WebApps而设计:
答案 4 :(得分:0)
我在许多客户端项目上使用XN Framework(http://xnlogic.com/xn-framework)取得了很大的成功。它不是免费的,但是,它的功能设置是荒谬的,并且具有许多我在几乎所有客户参与时都要求的功能(例如开箱即用的审计/合规性以及细粒度的安全性,任何人?)。它不断发挥作用,我从第一手经验中得知它得到了极好的支持,这使得企业应用程序开发比传统方法更容易。作为一个在整个职业生涯中一直在这个领域的人,我无法告诉你,这让我的生活变得多么容易,以及我能为客户带来多少附加价值。
另外,如果可以的话,它的速度非常快,而且它的DSL简单而且表现力极强。
在开源项目中,我使用了Michael Hunger的Spring Data Neo4j(SDN)框架,我发现这个框架足以让整个团队开始运行并运行Neo4j。它还减少了新图形数据库团队的学习曲线(老实说,大多数开发团队甚至不需要了解一些基础知识以外的图形数据库)。它也处于工作和改进的中间,下一版本将很快推出RC,并在不久的将来推出新的主要版本。迈克尔显然与Neo4j有很强的联系,所以你知道它的质量和良好的实施。
希望这有帮助!
答案 5 :(得分:0)
我肯定会查看neo4j gem(免责声明:我是其中一位维护者)。它提供了一种使用ActiveNode
和ActiveRel
模型访问neo4j数据库的非常丰富的方法。您不仅可以使用ActiveRecord
等库来执行许多基本操作,还可以轻松执行利用Neo4j的强大功能的深层查询:
# Find all blog posts written by people who have commented on the blog_post in question
blog_post.comments.author.posts
# Find the number of distinct students that the instructor in question
# has in common with other instructors
instructor.lessons.students(:student).lessons.
instructor(:other_instructor).pluck(:other_instructor, 'count(DISTINCT student)')
这不仅是在Ruby中编写cypher语句的一种非常好的方式,而且你也可以创建一个查询的一部分并传递它,以不同的方式在不同的地方构建以进行DRY查询。
答案 6 :(得分:0)
您可能还想查看ANNE堆栈: https://github.com/mchengal/ANNE-stack
它与MEAN堆栈类似,但使用Neo4j而不是MongoDB。
答案 7 :(得分:0)
如果您使用的是php,可以尝试使用Yii2框架。没有官方对neo4j的支持,但Yii2在缓存方面做得很好,所以你可以使用neo4j的php驱动程序,你需要做的就是使用Yii2 Data Caching缓存你的查询
您甚至可以创建自己的ActiveRecord类,这样您就可以将neo4j与Yii2的本机函数一起用于查询和显示数据。
我过去使用this存储库创建了一个项目,但它适用于neo4j的旧版本。因此,除非你想使用以前版本的neo4j,否则最好避免这种情况。
一般情况下,您选择使用的任何框架都可能没有对neo4j的本机支持,但您可以始终使用drivers之一来使用该语言。你将面临的唯一问题是缓存,所以你最好选择一个框架,你可以轻松地为你的查询集成数据缓存,你很高兴。
我说缓存是唯一重要的事情,因为即使你找到一个对neo4j有原生支持的框架,你最终也会创建原始查询。图形数据库可以执行复杂的查询,这些查询很难实现框架中的所有功能。