Gremlin(海王星)价值的选择性展开
Selective unfolding of values from Gremlin (Neptune)
我有一个顶点,说:
Vertex vertex = g.addV("person")
.property("name", "x")
.property(VertexProperty.Cardinality.list, "email", "x@yahoo.com")
.property(VertexProperty.Cardinality.list, "email", "x@gmail.com")
.next();
我正在使用以下方法从顶点获取值:
g.V(vertex).valueMap(true).by(unfold()).next();
我得到:
{id=f862aa64-70d3-4c85-9bd0-1c938fdc2dc8, label=person, name=x, email=x@yahoo.com}
我希望提取 属性 电子邮件的所有值,因此我不想单独将 unfold() 应用于 属性,我该如何添加此条件?
此外,我希望在一个查询本身中执行此操作。
您可以 unfold
valueMap
按值的数量:
g.V().valueMap().by(choose(
count(local).is(eq(1)),
unfold()
identity()
))
示例:https://gremlify.com/bpy7apfj4yncr
或者您可以使用简单的 project
:
g.V().project('name', 'email').
by(values('name')).
by(values('email').fold())
我有一个顶点,说:
Vertex vertex = g.addV("person")
.property("name", "x")
.property(VertexProperty.Cardinality.list, "email", "x@yahoo.com")
.property(VertexProperty.Cardinality.list, "email", "x@gmail.com")
.next();
我正在使用以下方法从顶点获取值:
g.V(vertex).valueMap(true).by(unfold()).next();
我得到:
{id=f862aa64-70d3-4c85-9bd0-1c938fdc2dc8, label=person, name=x, email=x@yahoo.com}
我希望提取 属性 电子邮件的所有值,因此我不想单独将 unfold() 应用于 属性,我该如何添加此条件?
此外,我希望在一个查询本身中执行此操作。
您可以 unfold
valueMap
按值的数量:
g.V().valueMap().by(choose(
count(local).is(eq(1)),
unfold()
identity()
))
示例:https://gremlify.com/bpy7apfj4yncr
或者您可以使用简单的 project
:
g.V().project('name', 'email').
by(values('name')).
by(values('email').fold())