问题标签 [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.
python - 将一个节点链替换为graphdb中的另一个节点链?像字符串替换
假设我有一个节点链/列表:
我想用另一条节点链替换/替换一个或多个连续节点。
在我看来,实现这一目标的操作数量太多,无法将它们放在单个查询中。
问题是,如果它不是单个查询,那么它会变得更加复杂。
你会怎么做?(必须像字符串替换一样工作)
简化它的一个想法是找到链中的位置并使用索引。
neo4j - 密码聚合两个不同节点类型之间的公共节点类型
我有两种不同类型的节点(redisgraph 中的标签)。图中的蓝色圆圈称为
WORKLOAD
。黄色的被称为API
。在两个工作负载之间,存在关系/边缘
ACCESSES_WORKLOAD
(由最浅的蓝色/青色边缘表示)。在附加的图像中,front-end
工作负载访问user
和order
工作负载。order
工作负载访问user
工作负载。在
API
节点和WORKLOAD
节点之间存在两种类型的关系/边。一个称为CONTAINS_API
(图像中的深蓝色链接),另一个称为ACCESSES_API
(图像中的紫色链接)。例如,在附图中,user
工作负载包含 8 个API
,其中 6 个被消耗front-end
(列表:包括3 /customers/...
、/addresses
、/register
、/cards
)。剩下的两个API
s 被orders
(list:/cards/{cardsId}
和/addresses/{addressesId}
.front-end
也访问了工作负载API
所包含的三个orders
(/orders/...
)也有可能两个
WORKLOAD
s 之间可能有一条ACCESSES_WORKLOAD
边,但它们之间没有任何API
共同的节点。除了边缘之外,A
WORKLOAD
可能还有一个额外的边缘/关系调用CAUSES_ATTACK
到。它在图像中用绿色表示。这可能并不总是存在。在所附图像中,工作负载对 API 具有此优势,但与其他任何s 无关。API
ACCESSES_API
front-end
/catalogue/sock
API
现在我想获取所有工作负载对的列表以及API
它们之间的节点的 ID(如果有的话)。我尝试的密码查询是:
我期待的输出如下表:
但我得到的是:
在前两行中,对于user
节点,我得到了工作负载API
包含的所有 s的列表,user
而不仅仅是由andAPI
访问的 s 。聚合与查询中的 有边/关系的所有节点,而不是仅与s 的 s 。front-end
orders
collect(ID(a))
API
CONTAINS_API
w2 WORKLOAD
API
ACCESSES_API
w1 workload
如果为了简洁起见,我将我的期望映射到 JSON,我需要的输出将是:
有人可以帮助修复密码查询吗?我在redisgraph
via中这样做cypher
。我不能使用仅 Neo4j 的查询选项/实用程序/帮助程序。谢谢。
redis - 使用 RedisGraph 查找 2 个节点之间的最短路径
我有带有整数 id 的简单节点。我只想找到给定 id 的节点之间的最短路径。我试过了 :
或带有 algo.BFS 的东西,但没有给出示例
但我没有成功。这个功能可用吗?
c++ - 未指定目标且未找到生成文件 RedisGraph 在 OS X 上构建
我正在尝试在我的 Macbook Pro 上安装 RedisGraph。我已经克隆了 repo,并在项目目录中运行了make
命令,但得到了以下输出。
虽然在 repo 中有一个 Makefile。如果我跑步make Makefile
,我仍然会得到
我的 gcc 版本:
我正在按照此文档中的步骤进行操作。任何帮助将不胜感激!不确定它是否与 Clang 的 OS X 版本有关(如果我必须将其更改为不同的版本)。
cypher - 如何查询图中的补充关系?
我有一个图形数据库,其中每个节点都intersects
与其相交的节点有关系。此外,intersects
还有一个属性degrees
(这两个节点相交的角度)。
我想订购以指定角度与给定节点相交的节点。
由于两个节点之间的交集是补充的,我只保存两个节点之间的一个关系(例如, (a)-[:intersects]->(b) 和 (b)-[:intersects]->(a) 是类似的东西,但两者的角度会有所不同,这个角度是补充的)。例如,如果我需要所有城市以 45 度角与城市 A 相交,则两个查询是:
我想将这两个查询合二为一(避免在客户端库中进行排序)。可以在redis图中做到吗?我打算尝试(a)-[:intersects]-(b)
使用这个案例......但似乎对获取 src 节点的支持尚不可用。
任何帮助将非常感激。
redis - 社交网络的redisgraph
我知道redis图在内存中维护邻接关系矩阵,并且有很多文章提到它只有在您的图适合内存时才适用。
我有兴趣创建一个社交图,其中包含具有不同关系的用户以及每个用户可以发表的其他人可以评论和喜欢的帖子。与任何新应用程序一样,我预计从大约 100k 的少数用户开始(开始时节点和关系更少)并随着时间的推移而增长。
虽然理论上它可以在 RedisGraph 中实现,但我无法判断或解释图的未来增长,也无法知道它是否仍能适应内存并在同一水平上执行。
RedisGraph 适合此类用例还是更适合静态图?
redisgraph - RedisGraph 中对日期时间数据类型的支持
我想托管一个 datetime 类型的节点属性,并且需要在 cypher 的 where 子句中使用它来根据 datetime 范围过滤和选择节点。
https://oss.redislabs.com/redisgraph/cypher_support/提到不支持日期时间,将其存储为毫秒是否有任何限制或问题?有没有人遇到过这种情况,您是如何解决的?
redis - redis-graph 和 redis-streams 之间的互操作性
我对这个项目很感兴趣,想了解更多关于 RedisGraph 的内部结构,并寻找 Redis-Streams 和 Redis-Graph 模块之间互操作性的可行性。
因此,我想知道 Redis 的本机数据结构是什么,您构建了自己的“graphdata”数据结构,当我们运行 TYPE myGraph 命令时会显示该数据结构。
- RedisGraph 模块内部的图(或其子组件、节点、边、路径)是建立在 Redis 的已知数据结构之上的,例如 SETS、LISTS 等。
- 或者 RedisGraph 在其模块中使用原生的新数据结构。提前感谢您的回答和支持!
redis - 如果在高流量中不存在,redisgraph 在节点之间创建边缘
我有以下密码查询。
我们有一个actor
节点和一个movie
节点。actor
如果和movie
节点之间没有边,ACTED
则应创建具有某些边属性的新边。
上述查询在流量不大的空闲数据库中运行良好,通常响应时间不到 1 毫秒。但是,当流量很大时,仅此特定查询就需要很长时间,大约几秒。虽然其他查询完成得很好。
我怀疑缓慢的原因是该COUNT
函数试图获取所有节点,并且在不断写入时会以某种方式延迟。我在这里可能是错的,只是做一个假设。
我不需要知道边缘的总数,并且只对边缘是否存在感兴趣。因此,我尝试以不同的方式执行此查询:
但为此,我从redisgraph
as 中得到一个错误:
如果一个节点不存在,是否有任何其他方法可以在两个节点之间以最佳方式创建边缘?我不能使用MERGE
命令,因为prop2
当我必须创建新边缘时,我设置的值将不同。
请注意,这应该在 redisgraph 中有效,如果它适用于 neo4j 或类似的东西,则还不够。