问题标签 [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 投票
4 回答
499 浏览

ruby-on-rails - rake db:seed 无法使用 neo4j gem

我已经说过使用 gem 'neo4j' 使用 rails 开发 neo4j,我想在 neo4j 数据库中播种一些数据。但是每当我尝试 rake db:seed 时,它都会说

我已经使用rake -T检查了所有 rake 任务,并且没有rake db:seed。

有人有什么主意吗?

0 投票
2 回答
298 浏览

ruby-on-rails - Neo4j gem - 采摘多个节点/关系

这可能不可能,因为现在是这样,但我有一个这样的查询

events = Event.as(:e).where("(( e.date_start - {current_time} )/{one_day_p}) < 1 ").users(:u, :rel).where("rel.reminded = {reminded_p}" ).params(reminded_p: false, one_day_p: one_day, current_time: time).pluck(:e,:u, :rel)

目标是获得eventsstart_date 不到一天的时间。假设我试图提取事件、用户和关系。我需要对每个执行不同的操作。

我需要为每个用户获取所有信息并usersevent每个用户执行电子邮件操作。在该操作中,电子邮件需要有权访问该event.

接下来,我需要将rel.reminded属性更新为true.

有没有办法同时采摘所有这些以便能够组织和执行这些任务?我开始单独执行此操作,但我必须进行额外的查询才能实现。例如

events = Event.as(:e).where("(( e.date_start - {current_time} )/{one_day_p}) < 1 ").users(:u, :rel).where("rel.reminded = {reminded_p}" ).params(reminded_p: false, one_day_p: one_day, current_time: time).pluck(:e)

那我必须

更新:

结合答案,我有类似的东西没有清理时间方法。我在其中添加了用户搜索,因为稍后我需要在电子邮件功能中考虑到这一点。所以我不确定将它包含在查询中是否比在每个用户之外执行更有效。

但未rel使用此查询定义。

0 投票
1 回答
212 浏览

ruby-on-rails - Neo4j gem - 查询不存在的关系

我还没有真正的代码,但我的代码与我需要的相反

current_user.friends(:f).match_to(event)

这将返回与我的事件节点有关系的朋友。我需要的是那些没有这种关系的人。

我必须像在文档中那样喂它吗

blog.query_as(:blog).match("blog<-[:COMMENTS_ON]-(:Comment)<-[:AUTHORED]-(author:Person)").where("author.age > 30").pluck(:author)

但没有关系?

所以像

current_user.friends.query_as(:f).match("event<-[invite:invited]-(f:User)).where(invite: nil)

还是有其他方法?

0 投票
1 回答
294 浏览

ruby-on-rails - Ruby on Rails - Neo4J 连接被拒绝

我正在编写一个 Ruby on Rails 应用程序并使用 Neo4J 数据库。我正在使用 neo4j-core gem 来集成两者,但在连接数据库时出现问题。

数据库与应用程序不在同一台服务器上,因此我需要更改一些配置。在 application.rb 文件中,我添加了以下代码:

在此之后我尝试运行该应用程序并且它正在工作。但是,我随后在控制器中添加了以下内容,以便进一步测试连接:

如果我现在尝试运行该应用程序,它会给我以下连接错误(在我打开 Neo4J 会话的那一行):

为什么即使在 Neo4J 的配置中我指定了数据库的真实 IP,它仍试图连接到 localhost?

我现在对此感到非常困惑。任何帮助,将不胜感激。

谢谢!

0 投票
1 回答
161 浏览

ruby-on-rails - 使用 Rails 和 Neo4j 进行 API 分页

我正在使用 Rails 和 Neo4j.rb 构建 REST API,我需要对一些响应进行分页。首先,我尝试使用neo4j-will_paginategem,但执行时出现以下错误bundle install

如何在不删除依赖项之一的情况下修复它?

除此之外,包含分页的正确方法是什么:标题或以 JSON 呈现?考虑到我将在 Ember 应用程序中使用响应,哪种方法更适合?

最好的祝福!

0 投票
1 回答
47 浏览

ruby-on-rails - neo4j will_paginate gem 安装问题

包含 gem 后运行 bundle install 给了我这个

我在gem 'rails', '4.1.6',该应用程序最初是在没有 AR 的情况下创建的,后来又添加回来。

我已经看到了其他一些示例,但不想在没有确定的情况下进行任何 gemlock 更改

有关故障排除的建议?

0 投票
2 回答
48 浏览

ruby-on-rails - Neo4j gem - 使用索引处理集合查询

为了避免使最后一个问题充满编辑,我将提出一个关于调试的新问题。最初的问题是这个Neo4j gem - Plucking multiple nodes/relationships

这就是我结束的地方。当天检测存在一些缺陷,但作为查询,它现在确实有效。@collection 返回大量书面内容。

事件.rb

我最初和最后一个答案一样拥有它,但我认为我需要跟踪用户的索引和嵌套在每个块中的 rel 。

在rails c中运行,当我运行时Event.reminder我得到

TypeError: 0 is not a symbol

我的嵌套循环有什么问题?

0 投票
2 回答
535 浏览

ruby-on-rails - Neo4j gem - 破坏关联节点和关系的有效方法

我知道 gem 没有内置的方法来处理依赖关系破坏,但就像活动记录一样dependant: destroy

有没有更好的方法来处理链破坏?

例如,现在我正在尝试用我的 Q+A 来处理破坏

每个问题都有很多答案,每个答案都有一个问题

破坏问题可以这样做

event_question = EventQuestion.find(params[:id])

event_question.destroy

但是如果我需要处理答案,并且我通过这个关联来完成,我必须循环并销毁每一个。另一个弱点是需要检查依赖节点/关系是否存在。

写出更长的查询来处理找到问题和答案并一口气销毁它们会更好吗?(或者......你可以吗?)我知道你不能像这样破坏查询代理(例如event_question.answers.destroy

更新

我尝试使用 delete 实现这两个查询,但 delete 不执行。现在没有错误信息。窥探该方法,匹配看起来正确。

更新 2

这是第一个的密码查询event.users

看起来对吗?但删除似乎没有执行。附加asquery_as不允许查询通过第二个。它给了我未定义的方法as

最后更新

在转到另一个问题之前的最后更新。

奇怪的是,我可以通过这个获得第一个删除关系的查询

但是下一个查询不会删除问题和答案。

我不完全确定为什么需要匹配,但没有它,它也不会执行。当我在我的 Questions/Answers 控制器上编写销毁函数时,我实际上不必删除该关系。但也许我做了一些时髦的事情。

我实际上是这样做的

然后循环它并破坏每个答案,这似乎破坏了答案以及与问题的关系。Q+A 是通过关联而不是 ActiveRel 设置的。不确定这是否会有所不同。

0 投票
2 回答
49 浏览

ruby - 关系起源问题

我在两个类之间有两种类型的关系。在其中一个中,我需要建立origin,但我不知道如何。有人知道吗?

图形

关系的类型是默认类型(“#”+ 方法的名称)。

http://i.imgur.com/3MtC0k3.png

0 投票
1 回答
179 浏览

ruby-on-rails - Neo4j.rb 对两种关系分别查询进出

这是我的 Neo4j 模型

user1 有 2 个输出和 1 个输入,如下所示

用户 1 ---> 用户 2

用户 1 ---> 用户 3

用户 1 <--- 用户 3

如果我像下面这样查询它会返回输入/输出

我想分别查询一个用户进出

我怎么能用 Neo4j.rb 做到这一点..

提前致谢。