获取一个顶点及其标签、属性和 in/out 个顶点及其属性?
Get a vertex with its label, properties and in/out vertices and their properties?
如何通过 name
属性 找到一个顶点并得到:
1. 入射到该顶点的边上的顶点(带有标签和属性)?
2. 入射到该顶点的出边上的顶点(带有标签和属性)?
在单个查询中。
我知道 .both()
和 .otherV()
这样做,我可以使用 .valueMap()
和 .label()
来获取元数据和属性,但是结果(响应从服务器接收)的 .both()
或 .otherV()
没有清楚地指示和识别什么是 传入 顶点以及什么是 传出 个顶点。
为了能够区分两者,我调用:
* g.V().has('name', 'abcd').in().values('name')
对于 indegrees
* g.V().has('name', 'abcd').out().values('name')
出度
和
* g.V().has('name', 'abcd').union(label(),valueMap())
用于元数据
清楚地知道什么响应属于什么集合,特别是在入度和出度的情况下。但这是低效的,会导致对服务器进行 3 次单独调用。
在这种情况下,您应该使用 project
:
g.V().has('name', 'josh').
project('properties', 'out', 'in').
by(valueMap().
with(WithOptions.tokens)).
by(out().values('name').fold()).
by(__.in().values('name').fold())
如何通过 name
属性 找到一个顶点并得到:
1. 入射到该顶点的边上的顶点(带有标签和属性)?
2. 入射到该顶点的出边上的顶点(带有标签和属性)?
在单个查询中。
我知道 .both()
和 .otherV()
这样做,我可以使用 .valueMap()
和 .label()
来获取元数据和属性,但是结果(响应从服务器接收)的 .both()
或 .otherV()
没有清楚地指示和识别什么是 传入 顶点以及什么是 传出 个顶点。
为了能够区分两者,我调用:
* g.V().has('name', 'abcd').in().values('name')
对于 indegrees
* g.V().has('name', 'abcd').out().values('name')
出度
和
* g.V().has('name', 'abcd').union(label(),valueMap())
用于元数据
清楚地知道什么响应属于什么集合,特别是在入度和出度的情况下。但这是低效的,会导致对服务器进行 3 次单独调用。
在这种情况下,您应该使用 project
:
g.V().has('name', 'josh').
project('properties', 'out', 'in').
by(valueMap().
with(WithOptions.tokens)).
by(out().values('name').fold()).
by(__.in().values('name').fold())