blob: 01c49d3423ecb0c41870c2b3dafdf22123bbb53c [file] [log] [blame]
Ian Maxon857dc132015-09-25 17:13:19 -07001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
vinayakb38b7ca42012-03-05 05:44:15 +000019drop dataverse events if exists;
20create dataverse events;
21use dataverse events;
22
23
24create type AddressType as closed {
25 street: string,
26 city: string,
27 zip: string
28 //, latlong: point
29}
30
31create type EventType as closed {
32 name: string,
33 location: AddressType ?,
34 organizers: {{
35 {
36 name: string,
37 role: string
38 }
39 }},
40 sponsoring_sigs: [
41 {
42 sig_name: string,
43 chapter_name: string
44 }
45 ],
46 interest_keywords: {{string}},
47 price: double?,
48 start_time: datetime,
49 end_time: datetime
50}
51
52
Ian Maxonf7b64532015-12-09 17:28:18 -080053create nodegroup group1 if not exists on asterix_nc1, asterix_nc2;
vinayakb38b7ca42012-03-05 05:44:15 +000054
ramangrover29669d8f62013-02-11 06:03:32 +000055create dataset Event(EventType) primary key name on group1;
vinayakb38b7ca42012-03-05 05:44:15 +000056
Ian Maxonf7b64532015-12-09 17:28:18 -080057write output to asterix_nc1:"/tmp/q2.adm";
vinayakb38b7ca42012-03-05 05:44:15 +000058
59for $event in dataset('Event')
60for $sponsor in $event.sponsoring_sigs
61let $es := { "event": $event, "sponsor": $sponsor }
62group by $sig_name := $sponsor.sig_name with $es
63let $sig_sponsorship_count := count($es)
64let $by_chapter :=
65 for $e in $es
66 group by $chapter_name := $e.sponsor.chapter_name with $e
67 return { "chapter_name": $chapter_name, "escount" : count($e) }
68order by $sig_sponsorship_count desc
69limit 5
70return { "sig_name": $sig_name, "total_count": $sig_sponsorship_count, "chapter_breakdown": $by_chapter }