g.addV('l1').
property(id, 12347).
property('submit_time', new Date('Wed May14 10:00:00 PDT 2019')).
addV('l1').
property(id, 4522323).
property('submit_time', new Date('Wed May15 11:00:00 PDT 2019')).
addV('l1').
property(id, 2355208312).
property('submit_time', new Date('Wed May15 11:00:00 PDT 2019')).
addV('l3').
property(id, 45678).
property('start_time', new Date('Fri Apr 24 07:01:36 PDT 2019')).
addV('l3').
property(id, 67892).
property('start_time', new Date('Fri Apr 24 07:01:36 PDT 2019')).
addV('l3').
property(id, 678954).
property('start_time', new Date('Fri Apr 26 23:01:36 PDT 2019')).
property('condition', "somevalue").
addE('e1').
from(V(12347)).
to(V(45678)).
addE('e1').
from(V(12347)).
to(V(67892)).
addE('e1').
from(V(4522323)).
to(V(678954)).
addE('e1').
from(V(2355208312)).
to(V(45678)).
iterate()
1 l1
顶点可以与边关联( e1
)到多个不同的 l3
顶点。我正试图根据以下几点来综合上述情况: submit_time
财产来源 l1
. 我试过下面的查询。
g.V().hasLabel("l1").
group().
by(map {(it.get().value("submit_time").getYear() + 1900) + "/" +
(it.get().value("submit_time").getMonth() + 1) + "/" +
it.get().value("submit_time").getDate()}).
unfold().
project('submitdate','job','jobdesc').
by(keys).
by(values).
by(select(values).unfold().out('e1').has("condition","somevalue").fold()).
order(local).
by(keys, incr)
它给了我下面的结果。
==>[job:[v[12347]],jobdesc:[],submitdate:2019/5/14]
==>[job:[v[2355208312],v[4522323]],jobdesc:[v[678954]],submitdate:2019/5/15]
在上面的结果中,它是基于 submitdate
给我它对应的 l1
顶点组件 job
然而,在聚合之后 jobdesc
是空的,因为它不满足“has”条件 .has("condition","somevalue")
.
在第一个结果中,即使顶点 v[12347]
在聚合中被考虑,并且有优势 v[45678]
以及 v[67892]
它们不满足“has条件”,所以我的 jobdesc
是空的。类似地,在第二个结果中,我的一个顶点( v[678954]
)满足上述条件。
有人能帮我得到一些默认值吗,比如一个空数组 jobdesc
对于每个作业顶点,如果它不满足条件并且在聚合中被考虑?
预期产量
==>[job:[v[12347]],jobdesc:[[]],submitdate:2019/5/14]
==>[job:[v[2355208312],v[4522323]],jobdesc:[[],v[678954]],submitdate:2019/5/15]
如: v[2355208312]
在聚合中考虑
submitdate 2019/5/14
但是没有 jobdesc
因此,我无法Map每个作业的索引及其对应的索引 jobdesc
.
1条答案
按热度按时间khbbv19g1#
所有的查询都丢失了,是一个附加的
map()
和一个fold()
步骤。