"for" gives you the flattening power in AQL :-)
(no function needed, you unnest using for)
On 12/9/15 10:34 AM, Jianfeng Jia wrote:
Hi devs,
Here is my use case, each tweets has a set of hashtags. Here is the hashtags
example for the first five tweets:
[ {{ "Samibeigi" }}, {{ "LeadwithGiants" }}, {{ "MountainView", "Healthcare", "Job" }}, {{ "SanFrancisco", "job",
"NettempsJobs", "IT", "Hiring", "CareerArc" }}, {{ "BeGreat" }} ]
I want to calculate the most frequent hashtag in all tweets.
I could generate a internal group count as following
let $inner := for $x in $hashtags
return
for $xx in $x
group by $xx with $xx
return { "g": $xx[0], "c": count($xx)}
It will return a list of list,
[ { "g": "Samibeigi", "c": 1 } ]
[ { "g": "LeadwithGiants", "c": 1 } ]
[ { "g": "Healthcare", "c": 1 }, { "g": "Job", "c": 1 }, { "g": "MountainView",
"c": 1 } ]
[ { "g": "CareerArc", "c": 1 }, { "g": "Hiring", "c": 1 }, { "g": "IT", "c": 1 }, { "g": "NettempsJobs", "c": 1 }, { "g":
"SanFrancisco", "c": 1 }, { "g": "job", "c": 1 } ]
[ { "g": "BeGreat", "c": 1 } ]
I would expect to add a flatten function to the list which will give me a list of
record, then I can groupby the “g". Do we have such AQL functions? Thank you.
Best,
Jianfeng Jia
PhD Candidate of Computer Science
University of California, Irvine