gremlin - Gremlin 查询以获取带有子顶点的顶点,即使它没有任何子顶点
问题描述
假设我有这张图(链接到 Gremlify):
我需要一个查询来获取一个顶点及其所有子顶点(达到一定深度)。我们已经有一个似乎可以工作的:
g.V("4840")
.repeat(outE().inV().simplePath())
.times(5)
.emit()
.path()
.by(valueMap(true))
结果是:
[
[
{
"id": 4840,
"label": "Vertex"
},
{
"id": 4842,
"label": "child"
},
{
"id": 4838,
"label": "Vertex"
}
]
]
所以我现在有了带边的顶点和子顶点。伟大的。但是如果我使用 id 4836 呢?然后我得到一个空数组。这是因为该顶点没有任何出边。有没有办法构造一个查询,它会给我一个带有链接顶点的顶点,如果它没有任何边,也可以给我一个顶点本身?
你可以在这里玩这个。
解决方案
您只需要将repeat()
from移动while..do
到的前面来切换:do..while
emit()
repeat()
g.V("4840")
.emit()
.repeat(outE().inV().simplePath())
.times(5)
.path()
.by(elementMap())
推荐阅读
- azure - Azure ML Studio 中的字母识别错误
- java - 不等待线程池上可用线程的任务
- python - Python Pandas 将列截断为特定长度而不剪切最后一个单词
- spring-boot - 部分更新而不从数据库中检索对象
- ubuntu - 为什么我来自 Docker Hub 的 ubuntu 映像附带 4.19 Linux 内核?
- visual-studio-2019 - 视觉工作室 2019 16.7.3
- python - 使用 redis 进行 Plotly Dash 服务器端缓存
- android - 如何在 Android 中访问 RecyclerView 之外的 TextView?
- angular - 我可以从事件绑定到自定义组件输出吗
- python - 如何从python中的列表中打印文本文件中的输出?