问题标签 [cypher]

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 回答
702 浏览

neo4j - 返回由一组公共节点连接的节点

Neo4j 中有没有一种方法,使用 cypher 或 gremlin,返回一个节点列表,这些节点之间有一组公共节点?

一个例子是

我想开始Person1说,“找到我讨厌所有我认识的人的人”,这应该返回,Person2因为Person1知道Friend2,Friend3Person2讨厌Friend2,Friend3

我从寻找联系开始,

但我似乎无法找到一种方式来表达它,以至于这个人不得不恨所有的朋友。

这可以在 Cypher 中完成吗?

0 投票
1 回答
1448 浏览

neo4j - 返回密码中的所有匹配关系

我想检索一组节点,这些节点在使用可以具有匹配属性的差异关系之间共享一个公共节点。我认为查询看起来像这样:

SyntaxException: unknown function但是当我运行它时,密码会返回。有什么办法可以完成这种类型的查询吗?

0 投票
1 回答
694 浏览

lucene - Neo4j Cypher:在 lucene 查询之后限制起始节点

我有一个 Cypher 查询,它首先使用 lucene 查询从索引中查找节点列表:

当索引的查询返回大量结果时,它会变得非常慢。我想限制在查询的其余部分中使用的节点数 - 即将 n=node:people("name:ROBERT") 限制为 30 个结果。

我在 lucene 或 Cypher 中看不到任何明显的方法来做到这一点。

我想我可以把它分成两个查询,例如:

START n=node:people("name:ROBERT") RETURN n LIMIT 10

然后使用返回的节点执行查询的第二部分,但我想知道是否有更好的方法?

0 投票
1 回答
636 浏览

neo4j - 在 gremlin 上使用关系索引比较慢

在 Neo4j 中,我有一个关系索引“index_e_ASSOC_sMETHdGEXP”,其中包含大约 180000 条边,所有边都有一个属性“属性”。我想做一个简单的查询,列出索引中的 200 条边,此时无论属性值如何(稍后执行查询,例如为边属性 <= 0.01 的 200 个第一边输出顶点获取相同的属性值),并从 out 节点获取一些属性值:

=713ms

从索引中获取 200 条第一条边需要262 毫秒

为什么第一个查询完成这么慢?从“预定列表”中获取 200 条边并从每个输出节点获取一些属性值应该不会花费这么长时间。当涉及到 Cypher 和 Gremlin 时,我是一个完整的新手,那么在 Cypher 或 Gremlin 中是否有更快的方法来执行此查询?

编辑:运行查询 (1) 23 次:

Edit2:我已经使用以下配置重新导入了数据库:

现在 query(1) 实际上需要更长的时间:23849 ms。它开始看起来像一个缓存问题。

数据库日志的有趣片段:

JVM参数包括

似乎垃圾收集器干扰了执行,这是为什么呢?使用 JVM 参数,我告诉服务器实例使用最大数量的 ~15GB 内存,这应该足够了。

Edit4:执行查询(1)将以下内容添加到日志中:

0 投票
3 回答
11029 浏览

neo4j - 在 Cypher 中,如果关系不存在,我该如何创建关系;如果确实如此,请更新属性

在 Neo4J 的 Cypher 中,给定两个节点,如果它们之间没有关系,我想创建一个权重属性为 1 的关系(类型为 Foo)。如果这种关系已经存在,我想增加它的权重属性。

有没有在单个 Cypher 查询中执行此操作的好方法?谢谢!

编辑:一些额外的细节:节点已经创建,唯一的,并且在索引中。

0 投票
2 回答
5114 浏览

neo4j - Neo4j Cypher 获取关系方向

我有以下密码查询,它返回特定节点的所有(进出)关系:

现在我想找出每一种关系的方向。有没有像“ RETURN RelationshipDirection(r)”这样的命令??:)

谢谢。

0 投票
2 回答
1427 浏览

neo4j - 如何仅返回 Neo4j 密码查询中的末端/叶节点?

我有这样的结构:

用户-[:talking]->topic-[:categorized_in]->topic[:categorized_in]->topic...等

从用户开始,我将如何获得他们正在谈论的最遥远的话题。基本上,这代表了他们正在谈论的顶级类别。这是我知道的唯一方法,它会返回沿途的所有节点,而不仅仅是叶节点。

这是我最近的尝试。它似乎有效,但我不知道这是否是最好的方法?:

0 投票
1 回答
2456 浏览

graph - 在 Neo4J 中,如何获得图中最大的节点 ID?

我正在运行一个遍历所有节点的脚本。最初,我认为最大节点 ID 将对应于我通过 REST 上的 Cypher 查询检索到的图中的节点总数:

但是,当我遍历每个数字时,我发现某些 id 的节点根本不存在。所以,这意味着我的最大 id 节点是一个大于节点总数的数字。知道如何检索这个号码吗?我非常喜欢 Cypher 或 Rest。

0 投票
2 回答
1780 浏览

neo4j - Neo4j 密码中的三元运算符/默认值

我需要实现一些三元运算符,它可以帮助我从密码查询本身返回一些默认值。

情景是——

如果员工所在的城市是德里,则返回 5,否则返回 10

类似于三元运算符的东西。

我尝试过类似的事情

但没有运气。

有没有办法在 Neo4j 中实现这样的场景,无论是 Cypher 还是 Traversal。

0 投票
2 回答
813 浏览

spring - 无法使用 Cypher 删除节点

我正在研究 Spring Data Neo4j 并使用 Cypher-Language 进行一些查询。工作正常这么久,但删除一个节点不起作用。

例如:

我使用依赖项

我不能使用 Cypher 的 1.7.2 版本,因为它与 spring data neo4j 和内核 1.6 冲突。

有谁能够帮我?

我不想删除一个节点

因为我也想删除关系等等。

谢谢!