Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3和图形数据库_Ruby On Rails_Ruby On Rails 3_Neo4j_Graph Databases - Fatal编程技术网

Ruby on rails Rails 3和图形数据库

Ruby on rails Rails 3和图形数据库,ruby-on-rails,ruby-on-rails-3,neo4j,graph-databases,Ruby On Rails,Ruby On Rails 3,Neo4j,Graph Databases,在Postgresql上运行的Rails 3应用程序需要切换到图形数据库才能成长。它们有很多,它们都提供了不同种类的API,其中大部分是REST NeoTechnologies的首席执行官of对Neo4j可以实现的目标非常感兴趣。我必须承认,我已经玩过了,这东西绝对是我们需要的,但是有几个障碍 RESTAPI不是事务性的 Rails 3应用程序在ruby 1.9.2上运行,但不是在jRuby 1.5.3或1.6上运行,以实现本机API 一些数据库也是由Java驱动的,并提供RESTAPI,所以接

在Postgresql上运行的Rails 3应用程序需要切换到图形数据库才能成长。它们有很多,它们都提供了不同种类的API,其中大部分是REST

NeoTechnologies的首席执行官of对Neo4j可以实现的目标非常感兴趣。我必须承认,我已经玩过了,这东西绝对是我们需要的,但是有几个障碍

  • RESTAPI不是事务性的
  • Rails 3应用程序在ruby 1.9.2上运行,但不是在jRuby 1.5.3或1.6上运行,以实现本机API
  • 一些数据库也是由Java驱动的,并提供RESTAPI,所以接受它们不会改变任何事情。由于许可证、成本或缺乏团队支持,其他人不是我们的选择

    我想我错过了一些东西,所以如果你能给我一些提示、见解或建议,告诉我什么是我们的选择,什么对我们有好处,我将不胜感激。谢谢。

    您可以在jruby 1.6上使用Rails 3运行,所以这应该不是问题

    要在此基础上运行事务(REST)API,您可以轻松编写自己的Neo4j服务器插件,该插件也可以在内部使用Neo4jrb,但会公开一个适合您的域的API,并且比细粒度的Neo4j服务器REST API更不冗长/健谈。这对于您的客户来说应该更容易使用,因为它涉及到您的术语、词汇和用例


    我们目前正致力于创建一个通用(j)ruby服务器扩展,它能够使用发布的代码,并将其作为新的REST端点提供。

    当然。使用RESTAPI,您不能一次回滚一组操作。例如,您想要删除3个节点,您执行第一个和第二个请求,但第三个请求以某种方式失败,并且您无法将存储恢复到启动前的状态,并使用“回滚”一词。但这可以通过本机API实现,这是一个问题。你有没有向neo4j的人报告过这个错误?我相信他们会想纠正的。您好,是的-REST和事务很难合并。现在有一个关于如何尝试的讨论正在进行中,请看@SrdjanPejic这不是一个bug,这几乎是不可能的。任何实现都将是一种变通方法,而不是解决方案。因为没有连接,REST API只是发送命令。@Comptrol JRuby1.6+Rails 3+Neo4jrb(gem,提供本机API)谢谢你,Michael。使用发布的代码听起来非常令人放心。