问题标签 [redisgraph]

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

cypher - 路径中具有多个关系的 Cypher BFS

我想在图形数据库(memgraph-db)中对自治系统及其关系进行建模

节点之间可以存在两种不同类型的关系:

  • 无向对等关系(图像中没有箭头的边缘)
  • 定向提供者2客户关系(箭头指向图像中的提供者)

下图显示了我想通过一些查询找到的有效路径

有效路径(来源:caida.org)

它们可以描述为

或者换句话说

0-n c2p 边后跟 0-n p2p 边后跟 0-n p2c 边

我可以修复第一个和最后一个节点,并想找到一个(最短/最便宜的)路径。据我了解,如果路径上有一个关系,我可以做 BFS。

有没有办法在 Cypher 中查询这种形式的路径?

作为替代方案,我可以进行单独的查询,在其中指定每个段的长度,然后对每个路径长度进行查询,直到找到路径。

IE

0 投票
1 回答
65 浏览

redisgraph - Redisgraph 创建索引命令超时

创建索引时命令超时。
当我尝试在 facilityNumber 上创建索引时

GRAPH.QUERY GRAPH_NAME "在 :node(facilityNumber) 上创建索引"

我收到一个超时异常
CLI ERROR: Command timed out. Blocking commands are not supported

更多上下文:
我的图表是使用 redislab 的批量插入 python 脚本构建的。
图由 1214 个节点和 152846 个关系组成。
node查询时确实包含facilityNumber
在docker中运行redisgraph,使用图像redislabs/redismod

0 投票
1 回答
59 浏览

cypher - 带有子路径的密码查询并存在于redisgraph中

我正在评估 RedisGraph,并试图复制我在 Neo4j 中的结果。

图表和查询来自我的另一个问题,我试图达到相同的结果:路径f1 <- (friend) m2 <- (sibling) b3 <- (coworker) d4(并且没有p*节点)

节点:

和关系:

原始的 Cypher 查询:

给出以下错误,关于 中的子路径EXISTS

我已经像这样重写了它(带有附加MATCH条款:这是否等同于上述内容?

0 投票
1 回答
206 浏览

python - redisgraph-bulk-loader 返回 IndexError

我正在尝试使用redisgraph-bulk-loader将数据集加载到在 docker 容器中运行的 RedisGraph 实例中。但是,它返回了IndexError: list index out of range我不明白的。我已阅读文档并且我的 CSV 文件有效。

我在这里打开了一个问题。

命令$ redisgraph-bulk-loader DemoGraph --enforce-schema --nodes-with-label TBox import/nodes.csv --relations-with-type relations import/relationships.csv

日志

节点.csv

关系.csv

0 投票
1 回答
176 浏览

node.js - redisgraph.js - MERGE 命令的解析结果

如果所有端点都存在,文档有以下示例来合并关系。如果要在Javascript 客户端中运行,那么我如何确定是否创建了节点和关系?换句话说,我如何推断节点是否事先存在?MERGEMERGE

目前,似乎ResultSet必须使用一些统计方法。有什么想法吗?

0 投票
1 回答
253 浏览

python - ModuleNotFoundError:没有名为“redisgraph”的模块

redisgraph在 python 中导入时遇到错误,但import redis工作正常。

在此处输入图像描述

0 投票
1 回答
31 浏览

neo4j - 不要从 Cypher 中的特定路径返回节点集

我正在尝试从 2 个会话返回一组节点,条件是返回的节点不应出现在另一个会话(第三个会话)中。我正在使用以下代码,但它没有按预期工作。

该查询应该返回存在于abc1 & abc2但不存在于 中的所有节点abc3。此查询不排除 中存在的所有产品abc3。有什么办法可以让它工作吗?

更新1: 我试图简化它而不是UNWIND这样

即使这样也行不通。它返回所有存在的项目abc1而不删除那些已经存在的项目abc3。好像where product <> p工作不正常。

0 投票
1 回答
92 浏览

graph - RedisGraph 中的架构和查询

我是图表、RedisGraph 和 Cypher 的新手,这花了我几个小时没有解决。

我有用户向其他用户付费。可以从用户存款。其他一些用户最终可以提取该存款,但也永远无法提取存款。

我最终得到了这个:

但是在某些时候我需要找到没有提款的交易。

我的2个问题:

  • 什么是更好的架构?
  • 即使您有更好的逻辑,在示例中检索没有 Withdrawal 边缘的节点的方法是什么?

帮助将不胜感激!‍♂️</p>

0 投票
1 回答
28 浏览

cypher - 更改 RedisGraph 关系中的节点引用

我开始使用 RedisGraph 并在这里得到了一些很好的支持,很高兴它周围有一个社区 :)

我目前正在尝试实现一个基本的目标:将关系移动到不同的节点:

鲍勃错了,他没有付钱给爱丽丝,而是付给约翰,他想解决这个问题。

我必须保留这些属性[p],理想情况下我什至会保留相同的 id……</p>

Neo4j 具有这样做的apoc.refactor.mergeNodes功能,但我不确定如何在 RedisGraph 中实现类似的结果。

似乎有一种方法SETWITHDELETE我找不到语法正确的东西。

有什么线索吗?

感谢分享!:D

0 投票
1 回答
158 浏览

database - 导出/导入/备份 RedisGraph 数据库

我对 RedisGraph 的了解有点太远了,现在它即将投入生产。

因此,我需要在服务器之间导出和导入一些数据并创建备份。我使用的是开源社区版本(不是 Redis Entreprise)。

您建议如何进行备份和导入/导出?

感谢您的反馈!