问题标签 [neo4jrb]
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.
neo4j - 将 neo4j 数据导出到类似于 neo4j 浏览器图的 svg 文件 - 使用 neo4j gem
有没有一种方法可以将 neo4j 数据导出到 svg 输出,就像出现在 neo4j 浏览器上的那样,以便我们可以在应用程序中使用它。
这个问题是关于 rails 中的 neo4j gem 的,也欢迎任何其他建议
graph - 如何在 Neo4j 图形数据库上使用 Cypher 解决最常见的路径类问题
我们正在使用 neo4j 存储许多人(用户)的学术和专业发展,以便为我们的客户处理和提供其中包含的信息。
例如,他们可能会要求拥有某个文凭(在图形数据库中表示为“<em>Diploma”节点)并在以后从事某项工作(“<em>Job”节点)。
Job和Diploma都扮演着类似的角色,作为每个人都可以在他或她的简历中拥有的“一种”步骤(用户与他们没有直接联系)。简历是某个人在某个时间段内举办的职业活动:有一个且只有一个用户与之相关,还有:CONTAINS
一个“ Job_or_Diploma ”来帮助对其进行分类。
给定用户的简历通过:LEADS_TO
关系相互链接,遵循他们的时间顺序。此继承会返回此用户的整个简历。所以我们有这样的路径:
(u:用户)-[:HAS]->(:Resume)-[:LEADS_TO]->(:Resume)<-[:HAS]-(u)
因此,我们需要解决的问题将变成:在所有具有“ Job_or_Diploma ”节点的路径中,找到start:Diploma节点和end:Job节点之间最流行的路径。
因为我们通过不直接属于“ Job_or_Diploma ”节点,甚至不属于任何单个节点的属性来定义最常见的路径(路径的“流行度”取决于整个路径,因为我们通过关注的用户数量来衡量它它完全),我们很难确定如何找到它。
我们必须面对的另一个陷阱是,2 个“ Job_or_Diploma ”之间实际上没有直接联系: a Resume :LEADS_TO
以下Resume在他们的用户的课程中:HAS
,并且每个 Resume:CONTAINS
一个“ Job_or_Diploma ”的更多,但是那些“ Job_or_Diploma ”有彼此之间没有边缘(参见下面的屏幕截图)。所以我们正在寻找的路径在图中不存在。
因此,问题是:有没有办法找到“ Job_or_Diploma ”的“路径”,或者更确切地说是“继承”,在某个文凭和某个工作之间由最多的用户采取(按时间顺序)?理想情况下,我们寻找可以仅使用 Cypher 实现的东西。
我们很高兴收到任何见解,向我们展示如何进行。下面是我们图表的某些部分的几个屏幕,这些屏幕隐含在这个问题中:
4 个用户的长度 - 2工程文凭和技术总监职位之间的简历路径
预先感谢您的帮助!
ruby-on-rails - Neo4j 急切加载 ActiveRel
我正在尝试获取可能仅与特定用户相关的特定关键字并返回关系。
假设我们与用户 100 只有一个关系,用关键字'key2'标记,期望的结果是 {100 => ['key2'] }
上面的代码有效,但对于每个rel
它都对数据库执行 2 次查询;一为rel.to_node
一为rel.from_node
。
我希望有一个“急切加载”的解决方案rel.from_node
,rel.to_node
因此整个代码段只会执行一个查询。
(另一种解决方案是为每个关键字运行并获取它的标记用户,但这也需要许多查询。)
ruby-on-rails - 查询序列化属性不起作用
我想查询 neo4jrb 中的序列化字段或属性,但不工作。
我有一个数组类型的序列化属性,如下所示:
我要查询
并且返回[],但我有一个带有[1,2]坐标的东西。
问这个问题的方法是什么?
ruby-on-rails - 如何将我与 Neo4j 的连接指定为 K8s 中的领导角色
我通过这个helm chart在 K8s 中部署了一个 3 核(默认情况下)Neo4j 。我是neo4j的新手。
我在 Ruby on Rails 项目中使用neo4jrb 。
当我尝试连接 neo4j 服务写入数据时。我经常(并非总是)遇到这个错误
我阅读了这篇文章Querying Neo4j Clusters。然后我意识到舵图创建了一个领导者和两个追随者核心。在密码外壳中,当我运行时
我有
LEADER
因此,当我尝试写入数据时,我应该连接到。而且我知道集群不能leader
永久存在。如果电流leader
下降,那么follower
将成为一个新的leader
。
我曾经认为bolt+routing
因果集群可能是解决我的问题的简单方法。当我回到 ruby 客户端时,我发现它bolt+routing
现在不支持。
我现在该怎么办?我无法配置 LoadBalancer。我有权为 Ingress 编写配置。
ruby-on-rails - Neo4jrb 关于调用关系的继承和作用域问题
我正在将 Neo4jrb 与 Rails 一起使用,并且我正在尝试尽可能多地利用 QueryProxy 链接方法来构建复杂的查询,但是在考虑具有多个标签的节点时由于继承而被卡住了。以下原始示例可以给您和想法:
一个简单的工作查询是获取/查询一个人的 Facebook 帐户的名称:
返回以下密码查询:
因此,查询Person 关系中指定的 model_class 的派生类(Facebook)的属性时似乎没有错误。
但是,当我尝试查询Facebook 中定义的关系时,activegraph 找不到它并返回以下错误:
问题:
- 为什么我可以查询Person 关系中model_class上指定的派生类的属性,但无法查询其关系
- 有没有办法查询派生类关系?或者可能暂时改变范围?
- 有没有办法指定关联结束节点的标签?比如,当我查询Person.socials时,我可以为 AssociationProxy Person#social 定义除“社交”之外的结束标签吗?
我已经尝试过一些方法,如“范围”、“分支”和“as_models”,但据我所知,它们都不起作用。
注意:以下密码查询有效:
ruby - Neo4jrb 使用 QueryProxy 和 AssociationProxy 查询关系属性
我想知道是否可以在关联链期间查询关系的属性。下面的例子可以帮助你理解:
我的目标是做这样的事情:
据我所知,Person.socials
返回一个AssociationProxy,Person.socials.where(followers_count: 100)
我可以查询与 Followers_count = 100 的人相关的社交节点,但是我无法查询将人链接到社交的关系。在 Cypher 方面,我想做类似的事情:
我想指定我有兴趣通过 QueryProxy 和 AssociationProxy 进行链接,我不需要 Cypher 查询字符串('MATCH (n:Person) ..')。以下可能是一个很好的方法
但我的查询应该尽可能动态,所以我想避免两者:
- 显式变量命名,如示例中的 :s 和 :rel
- where 子句中的字符串查询