问题标签 [neo4j.rb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
712 浏览

ruby-on-rails-4 - Neo4j::ActiveNode:Module 的未定义方法 `logger=' (NoMethodError)

我正在尝试将 log4r 与 rails 4 和 neo4j 一起使用。我有带有活动记录的 log4r,它工作正常,但我无法让它与 neo4j 一起工作。我认为的主要问题是对于 neo4j 不可用的记录器方法。我正在使用 gem "neo4j"、"3.0.0.alpha.7" gem 和 "log4r"、"1.1.10"。

错误:

这是上的代码:

应用程序.rb

0 投票
2 回答
93 浏览

ruby - 将 neo4j 与红宝石一起使用

(请,这个问题是关于 NEO4J 的 Ruby 而不是 Ruby on Rails)

我想使用 ruby​​ 和 neo4j 开发一个小型数据库驱动的应用程序,我的问题是关于部署部分,所以,将使用该应用程序的人必须先在他们的计算机上安装 neo4j,或者我可以将它与应用程序一起打包一次?

任何帮助将不胜感激,谢谢。

0 投票
0 回答
343 浏览

ruby-on-rails - Neo4j.rb 版本 3.0 慢性能 RoR,所有查询超过 1024ms

下面是我正在使用的宝石

以下是模型用户和朋友:

用户.rb

朋友.rb

以下是查询执行的控制台日志:

但是在 Neo4j 管理控制台中,相同的单个查询大约需要 350 毫秒。

我正在使用 neo4j 社区版 '2.1.3'

请帮助我提高性能,因为与其他数据库相比这太慢了

更新1:

正如建议的那样,我清除了数据目录并重新安装了 neo4j-community (2.1.3) 但没有任何改变,性能仍然很慢,所以我决定安装新版本 neo4j-community (2.1.5),将现有数据目录保留在-place,同样的结果。然后我删除了数据目录并再次安装了neo4j-community(2.1.5),这次我的rails应用程序中的一些查询获得了更好的性能,而我之前的设置中的所有查询都超过了​​1000毫秒。

以下是日志:

实例 1:

实例 2:

在实例 1:

正如您在第二个查询中看到的那样,与我之前的设置尝试相比,它只需要 16 毫秒,而我之前的设置尝试总是需要超过 1000 毫秒。

但是对于第一个查询,性能太慢了,超过 2 秒。

在实例 2:

相同的查询耗时 2 秒,现在耗时 15 毫秒(可能查询已被缓存)。但这并不一致,对于同一查询的连续执行,有时需要超过 2 秒,有时不到 20 毫秒。

在实例 3:

在实例 3 中,我们可以注意到只有第一个查询很慢,所有其他查询都很快。

更新 2:

以下是之后的日志bundle update

宝石文件

Ruby version is 2.0.0 and Rails version is 4.0.2

0 投票
1 回答
262 浏览

ruby-on-rails - 关系和setter方法

我正在尝试覆盖一个已声明关系的 setter 方法,以在旧节点和新节点上执行自定义行为和一些验证。

例如,举下一个例子:

做这样的事情的正确方法是什么?

0 投票
1 回答
217 浏览

ruby-on-rails - Neo4J gem 日期时间数据类型

我正在使用来自的代码组合

http://railscasts.com/episodes/360-facebook-authentication?view=asciicast

oauth 部分并尝试将其与 neo4J 集成

https://github.com/neo4jrb/neo4j

据我所知,这个 gem 替换了许多活动记录,包括数据类型。

我正在尝试替换这段代码。他们将它们oauth_expires_at设置为日期时间数据类型,我不相信 neo4j gem 有(我假设我不能使用 datetype,因为在这种情况下活动记录被 neo4j 替换)。有什么办法可以解决这个问题?

0 投票
1 回答
712 浏览

ruby-on-rails - 使用 after_save 在 Neo4J 模型中创建关系

所以我为这些问题看起来多么愚蠢而道歉。我是 Rails 的新手,作为第一项任务,我还引入了 Neo4J,因为如果我发展这个项目,它似乎是最合适的。

我将解释操作流程,然后展示一些示例代码。我现在正在尝试添加第 3-5 步。

  1. 用户通过FB登录
  2. 第一次登录会创建一个用户节点。如果用户存在,它只是检索该用户+节点
  3. 用户节点创建后,通过koala gem 访问FB Graph API
  4. 检索使用该应用程序的每个朋友的好友列表。
  5. 遍历每个好友,在两个用户之间添加双向好友关系

由于 3-5 只需要在用户第一次加入时发生,我想我可以在与after_save回调关联的方法中做到这一点。这个逻辑有一个缺陷,因为我需要在某个时候使用其他属性更新用户,它会再次调用 after_save。我可以通过更新防止这种情况发生吗?

SessionsController 供参考

所以在我的 user.rb 我有这样的东西

友谊.rb

我不确定我在如何创建关系节点方面是否走在正确的轨道上。正如我刚刚创建@user的那样,我如何将其合并到我的check_friends方法中并如此正确地检索用户和朋友节点,以便我可以将两者链接在一起。

现在它不知道 user 和friend_user 是节点

如果您看到其他不良代码实践,请告诉我!

提前:感谢@subvertallchris 的帮助。我相信你会像这样回答我的很多问题。

0 投票
1 回答
191 浏览

indexing - neo4j.rb:如何使用 neo4j.rb 实现文本搜索?

我使用 neo4j.rb 作为 Rails 应用程序的 ORM,与一个简单的 neo4j 模式对话。我有一堆Person节点,每个节点都有两个字段namebio.

我的目标是能够(a)使用不区分大小写的模糊名称搜索来搜索人;(b) 能够对简历进行全文搜索。

我对 neo4j 中的索引/搜索如何工作感到非常困惑。不确定我是否完全理解“模式”和“传统”索引之间的区别,或者 Lucene 如何适应所有这些。最重要的是,我不明白 neo4j.rb 实际支持哪些功能。

提前致谢。

0 投票
1 回答
337 浏览

ruby-on-rails - 将 Neo4j::ActiveNode 模型与 ActiveRecord 模型相关联

我有一个应用程序,它使用 Neo4j 后端一个模型和 PostgreSQL 后端所有其他模型。这是 Neo4j 模型:

这是一个 ActiveRecord 模型。参考表上有一个 content_uuid:

这行得通,我可以毫无意外地做类似Reference.first.conceptConcept.first.references事情。不过,我希望我可以做一些像这样简单的事情:

因为那样我就会得到Concept.first.references << new_reference开箱即用的东西。是否存在这样的功能?

0 投票
1 回答
200 浏览

ruby-on-rails - Neo4J Gem - 保存未声明的关系

我正在尝试在两个节点之间创建一个关系,如此处所述 https://github.com/neo4jrb/neo4j/wiki/Neo4j-v3-Declared-Relationships from_node.create_rel("FRIENDS", to_node)

我得到了一个未定义的方法create_rel

我究竟做错了什么?我正在尝试在另一个模型中创建一个 Q+A 系统。因此,问题和答案现在都被视为模型。

我正在undefined method为 # 获取 create_rel'

事件.rb

event_question.rb

event_answer.rb

event_questions_controller.rb

我的新问题位于活动的索引页面中,因为我想在之后列出有关活动的所有问题。我什至不需要new控制器中的方法,对吗?我也真的不知道如何获得我的问题表所在的事件。可以通过参数访问吗?

更新

你是说这个吗

所以我想我也需要改变我的路线并在里面嵌套问题来创建 events/123/questions/

然后我可以抓住events_id并使用find

更新#2

events_controller.rb

事件.rb

event_question.rb

事件/show.html.erb

event_questions_controller.rb

路线.rb

0 投票
0 回答
439 浏览

ruby-on-rails - 将 Foreman 与 Sidekiq、Neo4j 和 Ruby on Rails 一起使用

在 Rails 项目中,我目前使用的是neo4j而不是 ActiveRecord。我添加了SidekiqForeman以便能够同时启动 Sidekiq 和 Rails 服务器。这就是我在 Procfile 中的内容:

当我输入“工头开始”时,我收到此错误:

如果我不使用 Foreman 而是在单独的选项卡中启动 Sidekiq 和 Rails,它就可以正常工作。其他人有任何类似的问题吗?