问题标签 [agens-graph]
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.
agens-graph - 如何删除 AgnsGraph 上的所有图表?
我想使用 drop 数据库删除 agensgraph 上的所有图形。
是否有查询查找所有图表?
agens-graph - 如何在 AgensGraph 上查找所有标签和图表?
我想迁移 AgnsGraph 的所有图表和标签。
如何在 AgensGraph 上查找所有图形和标签?
AgensGraph 上是否有特殊表格?
agens-graph - 如何在 AgensGraph 上找到所有标签和计数获取的顶点?
我想按标签列出获取的顶点。
如何找到所有标签和提取顶点的计数?
postgresql - 可变长度路径查询永远运行,但当边缘是双向时立即执行
问题
我们有一个图表,其中位置由服务连接。具有公共键值的服务通过服务路径连接。我们想找到从位置 A 到位置 Z 的所有服务路径。
以下查询匹配直接从 A 到 Z 的服务和从 A 到 Z 需要一跳的服务路径:
并且运行良好。
但是,如果我们将搜索扩展到可能在 A 和 Z 之间经过两跳的服务路径:
查询永远运行。
它永远不会超时或崩溃服务器 - 它只是连续运行。
但是,如果我们将查询的可变长度部分设为双向:
永远运行的相同查询现在立即执行(在具有默认 Postgres 配置的开发数据库上大约 30 毫秒)。
更多信息
- 不同版本中的行为
此问题出现在 AgensGraph 2.2dev(从 GitHub 克隆)中。在Agens 2.1.0中,第一个查询-[:service_path*0..1]->
仍然可以正常工作,但是损坏的查询-[:service_path*0..2]->
和在 2.2dev 中工作的版本会-[:service_path*0..2]-
导致错误:
这使我们相信问题与此提交有关,该提交已作为错误修复包含在Agens 2.1.1中
修复:使重新扫描内部扫描工作
VLE 抛出“btree 索引键必须按属性排序”,因为在某些情况下重新扫描内部扫描未正确完成。添加了回归测试来检查它。
- 重复的路径返回,无休止
在 AgensBrowser v1.0 中,我们能够LIMIT
在损坏的查询结束时获取结果。查询总是返回最大行数,但结果图非常稀疏。直接路径和一跳路径出现,但只出现一条较长的路径。
在结果集中,较短的路径按预期在单个记录中返回,但对于其余行,第一次出现的两跳路径是重复的。
如果我们返回一些集合以及路径,例如RETURN p, nodes(p) LIMIT 100
,查询再次无限运行。
(有趣的是,这种行重复也发生在我们使用双向修复的稍微不同的查询中,但返回了整个预期的图。这可能值得单独发布。)
- 一跳和两跳查询的 EXPLAIN 计划是相同的
我们无法比较 EXPLAIN ANALYZE(因为您无法 ANALYZE 永远不会完成运行的查询),但查询计划在所有查询之间完全相同 - 那些已运行和未运行的查询。
- 增加的记录显示什么
我们将 Postgres 的日志记录级别设置为最高级别 DEBUG5,然后运行无限运行的查询。日志显示没有任何问题。
这是我们的数据模型的错误还是问题?
cypher - AgensGraph 社区版中使用的 Cypher 版本是什么?
每个人
我在 AgensGraph 中找不到有关 Cypher 版本使用的信息
有人能告诉我 AgnsGraph 社区版中使用的是哪个版本吗?
cypher - 如何在深度遍历中对沿边缘的属性求和
我有一个部分顶点和一个 used_by 边,其属性称为数量。
我目前从以下内容开始
数组理解返回一个数量数组。从 a-[*]->b 有一条路径,但有多个跃点。从匹配返回的 u 边适用于各种跳跃路径中的每一个,而不仅仅是连接 a 到 b(最长路径)的那个。
一旦我有了数组,我需要对其中的值求和。
我不确定这在agensgraph中是否可行
neo4j - Cypher 将多个节点关联到一个节点
假设我在图表中有所有这些对象:
我想将它们与单个节点相关联:
我特别想:
无论如何要遍历对象列表,所以我可以说(Object)-[CREATEDBY]->(David)
cypher - 如何在 AgnsGraph 中搜索没有传入边/关系的节点?
我尝试了一堆密码查询,大部分来自这个问题,但没有一个有效。
例如:
我尝试的最后一个是这样的:
获得语法错误:
我终于启动了 Neo4j,发现上面提到的密码查询在那里工作。
AgensGraph (2.1.3) Cypher 中的等价物是什么?
笔记
在等待正确的解决方案时,我使用以下查询序列解决了这个问题:
- 将所有具有传出关系的节点标记为子节点
match (a)<-[]-(b) SET b.child=true;
- 查找所有非子节点
match(a) where a.child is null return a;
- 删除子标记
match(a) where a.child is not null remove a.child;
最终包装在事务中,以免更改图形属性。