blob: 6ef16b5daa063861a8bb1a29e3f81c7dcbad8bf5 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
drop dataverse rares03 if exists;
create dataverse rares03;
use dataverse rares03;
create type UserType as open {
uid: int32,
name: string,
lottery_numbers: {{int32}}
}
create type VisitorType as open {
vid: int32,
name: string,
lottery_numbers: {{int32}}
}
create nodegroup group1 if not exists on asterix_nc1, asterix_nc2;
create dataset Users(UserType)
primary key uid on group1;
create dataset Visitors(VisitorType)
primary key vid on group1;
// set simfunction "jaccard";
// set simthreshold ".8";
write output to asterix_nc1:"/tmp/rares03.adm";
for $user in dataset('Users')
let $tokens :=
for $lottery_number in $user.lottery_numbers
for $token at $i in
for $user in dataset('Users')
for $lottery_number in $user.lottery_numbers
group by $item := $lottery_number with $user
let $count := count($user)
order by $count desc
return $item
where $lottery_number = $token
order by $token
return $i
return {"uid": $user.uid, "tokens": $tokens}