blob: 1b27653d20e2e762ef93840d15cd594b95222226 [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 TinySocial if exists;
create dataverse TinySocial;
use TinySocial;
create type TinySocial.EmploymentType as
{
`organization-name` : string,
`start-date` : date,
`end-date` : date?
}
create type TinySocial.FacebookUserType as
closed {
id : int32,
alias : string,
name : string,
`user-since` : datetime,
`friend-ids` : {{int32}},
employment : [EmploymentType]
}
create dataset FacebookUsers(FacebookUserType) primary key id;
with lonelyusers as (
select element d
from FacebookUsers as d
where (TinySocial.coll_count(d.`friend-ids`) < 2)
),
lonelyusers2 as (
select element d
from FacebookUsers as d
where (TinySocial.coll_count(d.`friend-ids`) < 2)
)
select element {'user1':{'id':l1.id,'name':l1.name},'user2':{'id':l2.id,'name':l2.name}}
from lonelyusers as l1,
lonelyusers2 as l2
where (l1.id < l2.id)
order by l1.id,l2.id
;