"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



Reply via email to