Gli*_*ide 0 gremlin tinkerpop datastax-enterprise-graph
我写了下面的简单查询来遍历 Person 到 Country,但它没有返回任何结果。
g.V().hasLabel("Person").as("p").out("from").hasLabel("Country").as("c").select("p", "c")
Run Code Online (Sandbox Code Playgroud)
在实际数据中,只Person存在顶点,不存在Country顶点或from边。我预计至少会回来p- 基本上我想做一个左外连接。但是,如果我有Country和from数据,以及,查询返回结果。
我也尝试了另一个查询match,但除非有实际数据,否则仍然没有结果:
g.V().hasLabel("Person").has("name","bob").match(__.as("p").out("from").hasLabel("Country").as("c")).select("p", "c")
Run Code Online (Sandbox Code Playgroud)
我正在对 Datastax Enterprise Graph 运行这些查询。
知道为什么它没有返回任何结果吗?
你得到的结果是预期的。如果没有“从”边,那么遍历器基本上就死了,不再继续前进。也许你可以考虑使用project():
g.V().hasLabel("Person").
project('name','country').
by('name')
by(out('from').hasLabel('Country').values('name').fold())
Run Code Online (Sandbox Code Playgroud)
使用 TinkerPop 中的“现代”玩具图,输出如下所示:
gremlin> g.V().hasLabel('person').project('name','knows').by().by(out('knows').values('name').fold())
==>[name:v[1],knows:[vadas,josh]]
==>[name:v[2],knows:[]]
==>[name:v[4],knows:[]]
==>[name:v[6],knows:[]]
Run Code Online (Sandbox Code Playgroud)
将来,当您提交有关 Gremlin 的问题时,请包含一个可以粘贴到 Gremlin 控制台的 Gremlin 脚本,以便更轻松地尝试更直接地回答您的特定问题。
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |