http://git-wip-us.apache.org/repos/asf/asterixdb-site/blob/444ca1b3/docs/0.9.2/aql/js-sdk.html
----------------------------------------------------------------------
diff --git a/docs/0.9.2/aql/js-sdk.html b/docs/0.9.2/aql/js-sdk.html
new file mode 100644
index 0000000..aa6d633
--- /dev/null
+++ b/docs/0.9.2/aql/js-sdk.html
@@ -0,0 +1,1001 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 2017-07-27
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta name="Date-Revision-yyyymmdd" content="20170727" />
+ <meta http-equiv="Content-Language" content="en" />
+ <title>AsterixDB – AsterixDB Javascript SDK</title>
+ <link rel="stylesheet" href="../css/apache-maven-fluido-1.3.0.min.css" />
+ <link rel="stylesheet" href="../css/site.css" />
+ <link rel="stylesheet" href="../css/print.css" media="print" />
+
+
+ <script type="text/javascript"
src="../js/apache-maven-fluido-1.3.0.min.js"></script>
+
+
+
+<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new
Date();a=s.createElement(o),
+
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-41536543-1', 'uci.edu');
+ ga('send', 'pageview');</script>
+
+ </head>
+ <body class="topBarDisabled">
+
+
+
+
+ <div class="container-fluid">
+ <div id="banner">
+ <div class="pull-left">
+ <a href=".././"
id="bannerLeft">
+
<img src="../images/asterixlogo.png" alt="AsterixDB"/>
+ </a>
+ </div>
+ <div class="pull-right"> </div>
+ <div class="clear"><hr/></div>
+ </div>
+
+ <div id="breadcrumbs">
+ <ul class="breadcrumb">
+
+
+ <li id="publishDate">Last Published: 2017-07-27</li>
+
+
+
+ <li id="projectVersion" class="pull-right">Version:
0.9.2-SNAPSHOT</li>
+
+ <li class="divider
pull-right">|</li>
+
+ <li class="pull-right"> <a href="../index.html"
title="Documentation Home">
+ Documentation Home</a>
+ </li>
+
+ </ul>
+ </div>
+
+
+ <div class="row-fluid">
+ <div id="leftColumn" class="span3">
+ <div class="well sidebar-nav">
+
+
+ <ul class="nav nav-list">
+ <li class="nav-header">Get Started - Installation</li>
+
+ <li>
+
+ <a href="../ncservice.html" title="Option 1: using
NCService">
+ <i class="none"></i>
+ Option 1: using NCService</a>
+ </li>
+
+ <li>
+
+ <a href="../ansible.html" title="Option 2: using
Ansible">
+ <i class="none"></i>
+ Option 2: using Ansible</a>
+ </li>
+
+ <li>
+
+ <a href="../aws.html" title="Option 3: using Amazon
Web Services">
+ <i class="none"></i>
+ Option 3: using Amazon Web Services</a>
+ </li>
+
+ <li>
+
+ <a href="../yarn.html" title="Option 4: using YARN">
+ <i class="none"></i>
+ Option 4: using YARN</a>
+ </li>
+
+ <li>
+
+ <a href="../install.html" title="Option 5: using
Managix (deprecated)">
+ <i class="none"></i>
+ Option 5: using Managix (deprecated)</a>
+ </li>
+ <li class="nav-header">AsterixDB Primer</li>
+
+ <li>
+
+ <a href="../sqlpp/primer-sqlpp.html" title="Option
1: using SQL++">
+ <i class="none"></i>
+ Option 1: using SQL++</a>
+ </li>
+
+ <li>
+
+ <a href="../aql/primer.html" title="Option 2: using
AQL">
+ <i class="none"></i>
+ Option 2: using AQL</a>
+ </li>
+ <li class="nav-header">Data Model</li>
+
+ <li>
+
+ <a href="../datamodel.html" title="The Asterix Data
Model">
+ <i class="none"></i>
+ The Asterix Data Model</a>
+ </li>
+ <li class="nav-header">Queries - SQL++</li>
+
+ <li>
+
+ <a href="../sqlpp/manual.html" title="The SQL++
Query Language">
+ <i class="none"></i>
+ The SQL++ Query Language</a>
+ </li>
+
+ <li>
+
+ <a href="../sqlpp/builtins.html" title="Builtin
Functions">
+ <i class="none"></i>
+ Builtin Functions</a>
+ </li>
+ <li class="nav-header">Queries - AQL</li>
+
+ <li>
+
+ <a href="../aql/manual.html" title="The Asterix
Query Language (AQL)">
+ <i class="none"></i>
+ The Asterix Query Language (AQL)</a>
+ </li>
+
+ <li>
+
+ <a href="../aql/builtins.html" title="Builtin
Functions">
+ <i class="none"></i>
+ Builtin Functions</a>
+ </li>
+ <li class="nav-header">API/SDK</li>
+
+ <li>
+
+ <a href="../api.html" title="HTTP API">
+ <i class="none"></i>
+ HTTP API</a>
+ </li>
+
+ <li>
+
+ <a href="../csv.html" title="CSV Output">
+ <i class="none"></i>
+ CSV Output</a>
+ </li>
+ <li class="nav-header">Advanced Features</li>
+
+ <li>
+
+ <a href="../aql/fulltext.html" title="Support of
Full-text Queries">
+ <i class="none"></i>
+ Support of Full-text Queries</a>
+ </li>
+
+ <li>
+
+ <a href="../aql/externaldata.html" title="Accessing
External Data">
+ <i class="none"></i>
+ Accessing External Data</a>
+ </li>
+
+ <li>
+
+ <a href="../feeds/tutorial.html" title="Support for
Data Ingestion">
+ <i class="none"></i>
+ Support for Data Ingestion</a>
+ </li>
+
+ <li>
+
+ <a href="../udf.html" title="User Defined Functions">
+ <i class="none"></i>
+ User Defined Functions</a>
+ </li>
+
+ <li>
+
+ <a href="../aql/filters.html" title="Filter-Based
LSM Index Acceleration">
+ <i class="none"></i>
+ Filter-Based LSM Index Acceleration</a>
+ </li>
+
+ <li>
+
+ <a href="../aql/similarity.html" title="Support of
Similarity Queries">
+ <i class="none"></i>
+ Support of Similarity Queries</a>
+ </li>
+ </ul>
+
+
+
+ <hr class="divider" />
+
+ <div id="poweredBy">
+ <div class="clear"></div>
+ <div class="clear"></div>
+ <div class="clear"></div>
+
<a href=".././" title="AsterixDB"
class="builtBy">
+ <img class="builtBy" alt="AsterixDB" src="../images/asterixlogo.png"
/>
+ </a>
+ </div>
+ </div>
+ </div>
+
+
+ <div id="bodyColumn" class="span9" >
+
+ <!-- ! 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.
+ ! --><h1>AsterixDB Javascript SDK</h1>
+<div class="section">
+<h2><a name="Obtaining_and_Including"></a>Obtaining and Including</h2>
+<p><a class="externalLink"
href="http://asterixdb.ics.uci.edu/download/bindings/asterix-sdk-stable.js">Download</a>
the javascript SDK and include it like any other javascript library by adding
the following line in the appropriate HTML file:</p>
+
+<div class="source">
+<div class="source">
+<pre><script
src="path/to/asterix-sdk-stable.js"></script>
+</pre></div></div></div>
+<div class="section">
+<h2><a name="Interactive_Demos"></a>Interactive Demos</h2>
+<p>There are two interactive demos that are available for download. Both of
the demos illustrate how the javascript API would be used in an application:</p>
+
+<ul>
+
+<li><a class="externalLink"
href="http://asterixdb.ics.uci.edu/download/demos/tweetbook-demo.zip">Tweetbook
Demo</a>: a contrived geo-spatial application dealing with artificial Tweets
allowing spatial, temporal, and keyword-based filtering.</li>
+
+<li><a class="externalLink"
href="http://asterixdb.ics.uci.edu/download/demos/admaql101-demo.zip">ADM/AQL
101 Demo</a>: an interactive version of all of the examples that are provided
in the following section.</li>
+</ul></div>
+<div class="section">
+<h2><a name="The_javascript_SDK:_by_example"></a>The javascript SDK: by
example</h2>
+<p>In this section, we explore how to form AQL queries using the javascript
SDK. The queries from <a href="primer.html">AsterixDB 101: An ADM and AQL
Primer</a> are used as examples here. For each AQL statement, the equivalent
javascript expression is shown below it, followed by the results of executing
the query.</p>
+<div class="section">
+<h3><a name="Query_0-A_-_Exact-Match_Lookup"></a>Query 0-A - Exact-Match
Lookup</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+where $user.id = 8
+return $user;
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression0a = new FLWOGRExpression()
+ .ForClause("$user", new AExpression("dataset
FacebookUsers"))
+ .WhereClause(new AExpression("$user.id = 8"))
+ .ReturnClause("$user");
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 8 } , "alias": "Nila",
"name": "NilaMilliron", "user-since": { datetime:
1199182200000}, "friend-ids": { unorderedlist: [{ int32: 3 } ]},
"employment": { orderedlist: [{ "organization-name":
"Plexlane", "start-date": { date: 1267315200000},
"end-date": null } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_0-B_-_Range_Scan"></a>Query 0-B - Range Scan</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+where $user.id >= 2 and $user.id <= 4
+return $user;
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression0b = new FLWOGRExpression()
+ .ForClause("$user", new AExpression("dataset
FacebookUsers"))
+ .WhereClause().and(new AExpression("$user.id >= 2"), new
AExpression("$user.id <= 4"))
+ .ReturnClause("$user");
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 2 } , "alias": "Isbel",
"name": "IsbelDull", "user-since": { datetime:
1295691000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 4 } ]}, "employment": { orderedlist: [{
"organization-name": "Hexviafind", "start-date":
{ date: 1272326400000}, "end-date": null } ]} }
+{ "id": { int32: 3 } , "alias": "Emory",
"name": "EmoryUnk", "user-since": { datetime:
1341915000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 5 } , { int32: 8 } , { int32: 9 } ]}, "employment": {
orderedlist: [{ "organization-name": "geomedia",
"start-date": { date: 1276732800000}, "end-date": { date:
1264464000000} } ]} }
+{ "id": { int32: 4 } , "alias": "Nicholas",
"name": "NicholasStroh", "user-since": {
datetime: 1293444600000}, "friend-ids": { unorderedlist: [{ int32: 2
} ]}, "employment": { orderedlist: [{ "organization-name":
"Zamcorporation", "start-date": { date: 1275955200000},
"end-date": null } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_1_-_Other_Query_Filters"></a>Query 1 - Other Query
Filters</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+where $user.user-since >= datetime('2010-07-22T00:00:00')
+and $user.user-since <= datetime('2012-07-29T23:59:59')
+return $user;
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression1 = new FLWOGRExpression()
+ .ForClause("$user", new AExpression("dataset
FacebookUsers"))
+ .WhereClause().and(
+ new AExpression("$user.user-since >=
datetime('2010-07-22T00:00:00')"),
+ new AExpression("$user.user-since <=
datetime('2012-07-29T23:59:59')")
+ ).ReturnClause("$user");
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 2 } , "alias": "Isbel",
"name": "IsbelDull", "user-since": { datetime:
1295691000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 4 } ]}, "employment": { orderedlist: [{
"organization-name": "Hexviafind", "start-date":
{ date: 1272326400000}, "end-date": null } ]} }
+{ "id": { int32: 10 } , "alias": "Bram",
"name": "BramHatch", "user-since": { datetime:
1287223800000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 5 } , { int32: 9 } ]}, "employment": { orderedlist: [{
"organization-name": "physcane", "start-date": {
date: 1181001600000}, "end-date": { date: 1320451200000} } ]} }
+{ "id": { int32: 3 } , "alias": "Emory",
"name": "EmoryUnk", "user-since": { datetime:
1341915000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 5 } , { int32: 8 } , { int32: 9 } ]}, "employment": {
orderedlist: [{ "organization-name": "geomedia",
"start-date": { date: 1276732800000}, "end-date": { date:
1264464000000} } ]} }
+{ "id": { int32: 4 } , "alias": "Nicholas",
"name": "NicholasStroh", "user-since": {
datetime: 1293444600000}, "friend-ids": { unorderedlist: [{ int32: 2
} ]}, "employment": { orderedlist: [{ "organization-name":
"Zamcorporation", "start-date": { date: 1275955200000},
"end-date": null } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_2-A_-_Equijoin"></a>Query 2-A - Equijoin</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+for $message in dataset FacebookMessages
+where $message.author-id = $user.id
+return {
+ "uname": $user.name,
+ "message": $message.message
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression2a = new FLWOGRExpression()
+ .ForClause ("$user", new AExpression("dataset
FacebookUsers"))
+ .ForClause ("$message", new AExpression("dataset
FacebookMessages"))
+ .WhereClause(new AExpression("$message.author-id = $user.id"))
+ .ReturnClause({
+ "uname" : "$user.name",
+ "message" : "$message.message"
+ });
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "uname": "MargaritaStoddard", "message":
" dislike x-phone its touch-screen is horrible" }
+{ "uname": "MargaritaStoddard", "message":
" like ccast the 3G is awesome:)" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand product-w the touch-screen is terrible" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand acast the network is horrible:(" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand acast its plan is terrible" }
+{ "uname": "IsbelDull", "message": " like
product-y the plan is amazing" }
+{ "uname": "IsbelDull", "message": " like
product-z its platform is mind-blowing" }
+{ "uname": "WoodrowNehling", "message": "
love acast its 3G is good:)" }
+{ "uname": "BramHatch", "message": "
dislike x-phone the voice-command is bad:(" }
+{ "uname": "BramHatch", "message": " can't
stand product-z its voicemail-service is OMG:(" }
+{ "uname": "EmoryUnk", "message": " love
product-b its shortcut-menu is awesome:)" }
+{ "uname": "EmoryUnk", "message": " love
ccast its wireless is good" }
+{ "uname": "WillisWynne", "message": " love
product-b the customization is mind-blowing" }
+{ "uname": "SuzannaTillson", "message": "
like x-phone the voicemail-service is awesome" }
+{ "uname": "VonKemble", "message": "
dislike product-b the speed is horrible" }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_2-B_-_Index_join"></a>Query 2-B - Index join</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+for $message in dataset FacebookMessages
+where $message.author-id /*+ indexnl */ = $user.id
+return {
+ "uname": $user.name,
+ "message": $message.message
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression2b = new FLWOGRExpression()
+ .ForClause ("$user", new AExpression("dataset
FacebookUsers"))
+ .ForClause ("$message", new AExpression("dataset
FacebookMessages"))
+ .WhereClause(new AExpression("$message.author-id /*+ indexnl */ =
$user.id"))
+ .ReturnClause({
+ "uname" : "$user.name",
+ "message" : "$message.message"
+ });
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "uname": "MargaritaStoddard", "message":
" dislike x-phone its touch-screen is horrible" }
+{ "uname": "MargaritaStoddard", "message":
" like ccast the 3G is awesome:)" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand product-w the touch-screen is terrible" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand acast the network is horrible:(" }
+{ "uname": "MargaritaStoddard", "message":
" can't stand acast its plan is terrible" }
+{ "uname": "IsbelDull", "message": " like
product-y the plan is amazing" }
+{ "uname": "IsbelDull", "message": " like
product-z its platform is mind-blowing" }
+{ "uname": "WoodrowNehling", "message": "
love acast its 3G is good:)" }
+{ "uname": "BramHatch", "message": "
dislike x-phone the voice-command is bad:(" }
+{ "uname": "BramHatch", "message": " can't
stand product-z its voicemail-service is OMG:(" }
+{ "uname": "EmoryUnk", "message": " love
product-b its shortcut-menu is awesome:)" }
+{ "uname": "EmoryUnk", "message": " love
ccast its wireless is good" }
+{ "uname": "WillisWynne", "message": " love
product-b the customization is mind-blowing" }
+{ "uname": "SuzannaTillson", "message": "
like x-phone the voicemail-service is awesome" }
+{ "uname": "VonKemble", "message": "
dislike product-b the speed is horrible" }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_3_-_Nested_Outer_Join"></a>Query 3 - Nested Outer Join</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $user in dataset FacebookUsers
+return {
+ "uname": $user.name,
+ "messages": for $message in dataset FacebookMessages
+ where $message.author-id = $user.id
+ return $message.message
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression3messages = new FLWOGRExpression()
+ .ForClause("$message", new AExpression("dataset
FacebookMessages"))
+ .WhereClause(new AExpression("$message.author-id = $user.id"))
+ .ReturnClause("$message.message");
+
+var expression3 = new FLWOGRExpression()
+ .ForClause ("$user", new AExpression("dataset
FacebookUsers"))
+ .ReturnClause({
+ "uname": "$user.name",
+ "messages" : expression3messages
+ });
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "uname": "MargaritaStoddard", "messages":
{ orderedlist: [" dislike x-phone its touch-screen is horrible",
" like ccast the 3G is awesome:)", " can't stand product-w the
touch-screen is terrible", " can't stand acast the network is
horrible:(", " can't stand acast its plan is terrible" ]} }
+{ "uname": "IsbelDull", "messages": {
orderedlist: [" like product-y the plan is amazing", " like
product-z its platform is mind-blowing" ]} }
+{ "uname": "NilaMilliron", "messages": {
orderedlist: [ ]} }
+{ "uname": "WoodrowNehling", "messages": {
orderedlist: [" love acast its 3G is good:)" ]} }
+{ "uname": "BramHatch", "messages": {
orderedlist: [" dislike x-phone the voice-command is bad:(", "
can't stand product-z its voicemail-service is OMG:(" ]} }
+{ "uname": "EmoryUnk", "messages": {
orderedlist: [" love product-b its shortcut-menu is awesome:)",
" love ccast its wireless is good" ]} }
+{ "uname": "WillisWynne", "messages": {
orderedlist: [" love product-b the customization is mind-blowing" ]} }
+{ "uname": "SuzannaTillson", "messages": {
orderedlist: [" like x-phone the voicemail-service is awesome" ]} }
+{ "uname": "NicholasStroh", "messages": {
orderedlist: [ ]} }
+{ "uname": "VonKemble", "messages": {
orderedlist: [" dislike product-b the speed is horrible" ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_4_-_Theta_Join"></a>Query 4 - Theta Join</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $t in dataset TweetMessages
+return {
+ "message": $t.message-text,
+ "nearby-messages": for $t2 in dataset TweetMessages
+ where spatial-distance($t.sender-location,
$t2.sender-location) <= 1
+ return { "msgtxt":$t2.message-text}
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression4messages = new FLWOGRExpression()
+ .ForClause( "$t2", new AExpression("dataset
TweetMessages"))
+ .WhereClause( new AExpression("spatial-distance($t.sender-location,
$t2.sender-location) <= 1"))
+ .ReturnClause({ "msgtxt" : "$t2.message-text" });
+
+var expression4 = new FLWOGRExpression()
+ .ForClause( "$t", new AExpression("dataset
TweetMessages"))
+ .ReturnClause({
+ "message" : "$t.message-text",
+ "nearby-messages" : expression4messages
+ });
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "message": " hate ccast its voice-clarity is
OMG:(", "nearby-messages": { orderedlist: [{ "msgtxt":
" hate ccast its voice-clarity is OMG:(" }, { "msgtxt":
" like product-w the speed is good:)" } ]} }
+{ "message": " like x-phone the voice-clarity is good:)",
"nearby-messages": { orderedlist: [{ "msgtxt": " like
x-phone the voice-clarity is good:)" } ]} }
+{ "message": " like product-y the platform is good",
"nearby-messages": { orderedlist: [{ "msgtxt": " like
product-y the platform is good" } ]} }
+{ "message": " love product-z its customization is
good:)", "nearby-messages": { orderedlist: [{
"msgtxt": " love product-z its customization is good:)" }
]} }
+{ "message": " like product-y the voice-command is
amazing:)", "nearby-messages": { orderedlist: [{
"msgtxt": " like product-y the voice-command is amazing:)"
} ]} }
+{ "message": " like product-w the speed is good:)",
"nearby-messages": { orderedlist: [{ "msgtxt": " hate
ccast its voice-clarity is OMG:(" }, { "msgtxt": " like
product-w the speed is good:)" } ]} }
+{ "message": " love ccast its voicemail-service is
awesome", "nearby-messages": { orderedlist: [{
"msgtxt": " love ccast its voicemail-service is awesome" }
]} }
+{ "message": " can't stand product-w its speed is
terrible:(", "nearby-messages": { orderedlist: [{
"msgtxt": " can't stand product-w its speed is terrible:("
} ]} }
+{ "message": " like product-z the shortcut-menu is
awesome:)", "nearby-messages": { orderedlist: [{
"msgtxt": " like product-z the shortcut-menu is awesome:)"
} ]} }
+{ "message": " can't stand x-phone its platform is
terrible", "nearby-messages": { orderedlist: [{
"msgtxt": " can't stand x-phone its platform is terrible" }
]} }
+{ "message": " like ccast its shortcut-menu is awesome:)",
"nearby-messages": { orderedlist: [{ "msgtxt": " like
ccast its shortcut-menu is awesome:)" } ]} }
+{ "message": " like product-b the voice-command is
mind-blowing:)", "nearby-messages": { orderedlist: [{
"msgtxt": " like product-b the voice-command is
mind-blowing:)" } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_5_-_Fuzzy_Join"></a>Query 5 - Fuzzy Join</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+<p>use dataverse TinySocial;</p>
+
+<div class="source">
+<div class="source">
+<pre>set simfunction "edit-distance";
+set simthreshold "3";
+
+for $fbu in dataset FacebookUsers
+return {
+ "id": $fbu.id,
+ "name": $fbu.name,
+ "similar-users": for $t in dataset TweetMessages
+ let $tu := $t.user
+ where $tu.name ~= $fbu.name
+ return {
+ "twitter-screenname": $tu.screen-name,
+ "twitter-name": $tu.name
+ }
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var similarUsersExpression = new FLWOGRExpression()
+ .ForClause("$t", new AExpression("dataset
TweetMessages"))
+ .LetClause ("$tu", new AExpression("$t.user"))
+ .WhereClause(new AExpression("$tu.name ~= $fbu.name"))
+ .ReturnClause({
+ "twitter-screenname": "$tu.screen-name",
+ "twitter-name": "$tu.name"
+ });
+
+var expression5 = new FLWOGRExpression()
+ .ForClause ("$fbu", new AExpression("dataset
FacebookUsers"))
+ .ReturnClause(
+ {
+ "id" : "$fbu.id",
+ "name" : "$fbu.name",
+ "similar-users" : similarUsersExpression
+ }
+ );
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 1 } , "name":
"MargaritaStoddard", "similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 2 } , "name": "IsbelDull",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 8 } , "name": "NilaMilliron",
"similar-users": { orderedlist: [{ "twitter-screenname":
"NilaMilliron_tw", "twitter-name": "Nila
Milliron" } ]} }
+{ "id": { int32: 9 } , "name": "WoodrowNehling",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 10 } , "name": "BramHatch",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 3 } , "name": "EmoryUnk",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 6 } , "name": "WillisWynne",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 7 } , "name": "SuzannaTillson",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 4 } , "name": "NicholasStroh",
"similar-users": { orderedlist: [ ]} }
+{ "id": { int32: 5 } , "name": "VonKemble",
"similar-users": { orderedlist: [ ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_6_-_Existential_Quantification"></a>Query 6 - Existential
Quantification</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $fbu in dataset FacebookUsers
+where (some $e in $fbu.employment satisfies is-null($e.end-date))
+return $fbu;
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression6 = new FLWOGRExpression()
+ .ForClause ("$fbu", new AQLClause().set("dataset
FacebookUsers"))
+ .WhereClause(
+ new QuantifiedExpression (
+ "some" ,
+ {"$e" : new AExpression("$fbu.employment") },
+ new FunctionExpression("is-null", new
AExpression("$e.end-date"))
+ )
+ )
+ .ReturnClause("$fbu");
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 1 } , "alias":
"Margarita", "name": "MargaritaStoddard",
"user-since": { datetime: 1345457400000}, "friend-ids": {
unorderedlist: [{ int32: 2 } , { int32: 3 } , { int32: 6 } , { int32: 10 } ]},
"employment": { orderedlist: [{ "organization-name":
"Codetechno", "start-date": { date: 1154822400000},
"end-date": null } ]} }
+{ "id": { int32: 2 } , "alias": "Isbel",
"name": "IsbelDull", "user-since": { datetime:
1295691000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 4 } ]}, "employment": { orderedlist: [{
"organization-name": "Hexviafind", "start-date":
{ date: 1272326400000}, "end-date": null } ]} }
+{ "id": { int32: 8 } , "alias": "Nila",
"name": "NilaMilliron", "user-since": { datetime:
1199182200000}, "friend-ids": { unorderedlist: [{ int32: 3 } ]},
"employment": { orderedlist: [{ "organization-name":
"Plexlane", "start-date": { date: 1267315200000},
"end-date": null } ]} }
+{ "id": { int32: 6 } , "alias": "Willis",
"name": "WillisWynne", "user-since": { datetime:
1105956600000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 3 } , { int32: 7 } ]}, "employment": { orderedlist: [{
"organization-name": "jaydax", "start-date": {
date: 1242345600000}, "end-date": null } ]} }
+{ "id": { int32: 7 } , "alias": "Suzanna",
"name": "SuzannaTillson", "user-since": {
datetime: 1344334200000}, "friend-ids": { unorderedlist: [{ int32: 6
} ]}, "employment": { orderedlist: [{ "organization-name":
"Labzatron", "start-date": { date: 1303171200000},
"end-date": null } ]} }
+{ "id": { int32: 4 } , "alias": "Nicholas",
"name": "NicholasStroh", "user-since": {
datetime: 1293444600000}, "friend-ids": { unorderedlist: [{ int32: 2
} ]}, "employment": { orderedlist: [{ "organization-name":
"Zamcorporation", "start-date": { date: 1275955200000},
"end-date": null } ]} }
+{ "id": { int32: 5 } , "alias": "Von",
"name": "VonKemble", "user-since": { datetime:
1262686200000}, "friend-ids": { unorderedlist: [{ int32: 3 } , {
int32: 6 } , { int32: 10 } ]}, "employment": { orderedlist: [{
"organization-name": "Kongreen", "start-date": {
date: 1290816000000}, "end-date": null } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_7_-_Universal_Quantification"></a>Query 7 - Universal
Quantification</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $fbu in dataset FacebookUsers
+where (every $e in $fbu.employment satisfies not(is-null($e.end-date)))
+return $fbu;
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression7 = new FLWOGRExpression()
+ .ForClause("$fbu", new AExpression("dataset
FacebookUsers"))
+ .WhereClause(
+ new QuantifiedExpression (
+ "every" ,
+ {"$e" : new AExpression("$fbu.employment") },
+ new FunctionExpression("not", new
FunctionExpression("is-null", new
AExpression("$e.end-date")))
+ )
+ )
+ .ReturnClause("$fbu");
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "id": { int32: 9 } , "alias": "Woodrow",
"name": "WoodrowNehling", "user-since": {
datetime: 1127211000000}, "friend-ids": { unorderedlist: [{ int32: 3
} , { int32: 10 } ]}, "employment": { orderedlist: [{
"organization-name": "Zuncan", "start-date": {
date: 1050969600000}, "end-date": { date: 1260662400000} } ]} }
+{ "id": { int32: 10 } , "alias": "Bram",
"name": "BramHatch", "user-since": { datetime:
1287223800000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 5 } , { int32: 9 } ]}, "employment": { orderedlist: [{
"organization-name": "physcane", "start-date": {
date: 1181001600000}, "end-date": { date: 1320451200000} } ]} }
+{ "id": { int32: 3 } , "alias": "Emory",
"name": "EmoryUnk", "user-since": { datetime:
1341915000000}, "friend-ids": { unorderedlist: [{ int32: 1 } , {
int32: 5 } , { int32: 8 } , { int32: 9 } ]}, "employment": {
orderedlist: [{ "organization-name": "geomedia",
"start-date": { date: 1276732800000}, "end-date": { date:
1264464000000} } ]} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_8_-_Simple_Aggregation"></a>Query 8 - Simple
Aggregation</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+count(for $fbu in dataset FacebookUsers return $fbu);
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression8 = new FunctionExpression(
+ "count",
+ new FLWOGRExpression()
+ .ForClause("$fbu", new AExpression("dataset
FacebookUsers"))
+ .ReturnClause("$fbu")
+);
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ int64: 10 }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_9-A_-_Grouping_and_Aggregation"></a>Query 9-A - Grouping
and Aggregation</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $t in dataset TweetMessages
+group by $uid := $t.user.screen-name with $t
+return {
+ "user": $uid,
+ "count": count($t)
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression9a = new FLWOGRExpression()
+ .ForClause("$t", new AExpression("dataset
TweetMessages"))
+ .GroupClause("$uid", new
AExpression("$t.user.screen-name"), "with", "$t")
+ .ReturnClause(
+ {
+ "user" : "$uid",
+ "count" : new FunctionExpression("count", new
AExpression("$t"))
+ }
+ );
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "user": "ColineGeyer@63", "count": {
int64: 3 } }
+{ "user": "OliJackson_512", "count": { int64: 1
} }
+{ "user": "NilaMilliron_tw", "count": { int64: 1
} }
+{ "user": "ChangEwing_573", "count": { int64: 1
} }
+{ "user": "NathanGiesen@211", "count": { int64:
6 } }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_9-B_-_Hash-Based_Grouping_and_Aggregation"></a>Query 9-B -
(Hash-Based) Grouping and Aggregation</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $t in dataset TweetMessages
+/*+ hash*/
+group by $uid := $t.user.screen-name with $t
+return {
+ "user": $uid,
+ "count": count($t)
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression9b = new FLWOGRExpression()
+ .ForClause("$t", new AExpression("dataset
TweetMessages"))
+ .AQLClause("/*+ hash*/")
+ .GroupClause("$uid", new
AExpression("$t.user.screen-name"), "with", "$t")
+ .ReturnClause(
+ {
+ "user" : "$uid",
+ "count" : new FunctionExpression("count", new
AExpression("$t"))
+ }
+ );
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "user": "ColineGeyer@63", "count": {
int64: 3 } }
+{ "user": "OliJackson_512", "count": { int64: 1
} }
+{ "user": "NilaMilliron_tw", "count": { int64: 1
} }
+{ "user": "ChangEwing_573", "count": { int64: 1
} }
+{ "user": "NathanGiesen@211", "count": { int64:
6 } }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_10_-_Grouping_and_Limits"></a>Query 10 - Grouping and
Limits</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+for $t in dataset TweetMessages
+group by $uid := $t.user.screen-name with $t
+let $c := count($t)
+order by $c desc
+limit 3
+return {
+ "user": $uid,
+ "count": $c
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression10 = new FLWOGRExpression()
+ .ForClause("$t", new AExpression("dataset
TweetMessages"))
+ .GroupClause("$uid", new
AExpression("$t.user.screen-name"), "with", "$t")
+ .LetClause("$c", new FunctionExpression("count", new
AExpression("$t")))
+ .OrderbyClause( new AExpression("$c"), "desc" )
+ .LimitClause(new AExpression("3"))
+ .ReturnClause(
+ {
+ "user" : "$uid",
+ "count" : "$c"
+ }
+ );
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "user": "NathanGiesen@211", "count": {
int64: 6 } }
+{ "user": "ColineGeyer@63", "count": { int64: 3
} }
+{ "user": "NilaMilliron_tw", "count": { int64: 1
} }
+</pre></div></div></div></div></div></div>
+<div class="section">
+<h3><a name="Query_11_-_Left_Outer_Fuzzy_Join"></a>Query 11 - Left Outer Fuzzy
Join</h3>
+<div class="section">
+<div class="section">
+<div class="section">
+<h6><a name="AQL"></a>AQL</h6>
+
+<div class="source">
+<div class="source">
+<pre>use dataverse TinySocial;
+
+set simfunction "jaccard";
+set simthreshold "0.3";
+
+for $t in dataset TweetMessages
+return {
+ "tweet": $t,
+ "similar-tweets": for $t2 in dataset TweetMessages
+ where $t2.referred-topics ~= $t.referred-topics
+ and $t2.tweetid != $t.tweetid
+ return $t2.referred-topics
+};
+</pre></div></div></div>
+<div class="section">
+<h6><a name="JS"></a>JS</h6>
+
+<div class="source">
+<div class="source">
+<pre>var expression11 = new FLWOGRExpression()
+ .ForClause( "$t", new AExpression("dataset
TweetMessages"))
+ .ReturnClause({
+ "tweet" : new AExpression("$t"),
+ "similar-tweets": new FLWOGRExpression()
+ .ForClause( "$t2", new
AExpression("dataset TweetMessages"))
+ .WhereClause().and(
+ new AExpression("$t2.referred-topics ~=
$t.referred-topics"),
+ new AExpression("$t2.tweetid !=
$t.tweetid")
+ )
+ .ReturnClause("$t2.referred-topics")
+ });
+</pre></div></div></div>
+<div class="section">
+<h6><a name="Results"></a>Results</h6>
+
+<div class="source">
+<div class="source">
+<pre>{ "tweet": { "tweetid": "10",
"user": { "screen-name": "ColineGeyer@63",
"lang": "en", "friends_count": { int32: 121 } ,
"statuses_count": { int32: 362 } , "name": "Coline
Geyer", "followers_count": { int32: 17159 } },
"sender-location": { point: [29.15, 76.53]}, "send-time": {
datetime: 1201342200000}, "referred-topics": { unorderedlist:
["ccast", "voice-clarity" ]}, "message-text":
" hate ccast its voice-clarity is OMG:(" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["x-phone", "voice-clarity" ]}, { unorderedlist:
["ccast", "shortcut-menu" ]}, { unorderedlist:
["ccast", "voicemail-service" ]} ]} }
+{ "tweet": { "tweetid": "6", "user": {
"screen-name": "ColineGeyer@63", "lang":
"en", "friends_count": { int32: 121 } ,
"statuses_count": { int32: 362 } , "name": "Coline
Geyer", "followers_count": { int32: 17159 } },
"sender-location": { point: [47.51, 83.99]}, "send-time": {
datetime: 1273227000000}, "referred-topics": { unorderedlist:
["x-phone", "voice-clarity" ]}, "message-text":
" like x-phone the voice-clarity is good:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["ccast", "voice-clarity" ]}, { unorderedlist:
["x-phone", "platform" ]} ]} }
+{ "tweet": { "tweetid": "7", "user": {
"screen-name": "ChangEwing_573", "lang":
"en", "friends_count": { int32: 182 } ,
"statuses_count": { int32: 394 } , "name": "Chang
Ewing", "followers_count": { int32: 32136 } },
"sender-location": { point: [36.21, 72.6]}, "send-time": {
datetime: 1314267000000}, "referred-topics": { unorderedlist:
["product-y", "platform" ]}, "message-text":
" like product-y the platform is good" }, "similar-tweets":
{ orderedlist: [{ unorderedlist: ["x-phone", "platform" ]},
{ unorderedlist: ["product-y", "voice-command" ]} ]} }
+{ "tweet": { "tweetid": "1", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [47.44, 80.65]}, "send-time": {
datetime: 1209204600000}, "referred-topics": { unorderedlist:
["product-z", "customization" ]}, "message-text":
" love product-z its customization is good:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["product-z", "shortcut-menu" ]} ]} }
+{ "tweet": { "tweetid": "12", "user":
{ "screen-name": "OliJackson_512", "lang":
"en", "friends_count": { int32: 445 } ,
"statuses_count": { int32: 164 } , "name": "Oli
Jackson", "followers_count": { int32: 22649 } },
"sender-location": { point: [24.82, 94.63]}, "send-time": {
datetime: 1266055800000}, "referred-topics": { unorderedlist:
["product-y", "voice-command" ]}, "message-text":
" like product-y the voice-command is amazing:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["product-y", "platform" ]}, { unorderedlist:
["product-b", "voice-command" ]} ]} }
+{ "tweet": { "tweetid": "3", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [29.72, 75.8]}, "send-time": {
datetime: 1162635000000}, "referred-topics": { unorderedlist:
["product-w", "speed" ]}, "message-text": "
like product-w the speed is good:)" }, "similar-tweets": {
orderedlist: [{ unorderedlist: ["product-w", "speed" ]} ]} }
+{ "tweet": { "tweetid": "9", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [36.86, 74.62]}, "send-time": {
datetime: 1342865400000}, "referred-topics": { unorderedlist:
["ccast", "voicemail-service" ]}, "message-text":
" love ccast its voicemail-service is awesome" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["ccast", "voice-clarity" ]}, { unorderedlist:
["ccast", "shortcut-menu" ]} ]} }
+{ "tweet": { "tweetid": "5", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [40.09, 92.69]}, "send-time": {
datetime: 1154686200000}, "referred-topics": { unorderedlist:
["product-w", "speed" ]}, "message-text": "
can't stand product-w its speed is terrible:(" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["product-w", "speed" ]} ]} }
+{ "tweet": { "tweetid": "8", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [46.05, 93.34]}, "send-time": {
datetime: 1129284600000}, "referred-topics": { unorderedlist:
["product-z", "shortcut-menu" ]}, "message-text":
" like product-z the shortcut-menu is awesome:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["ccast", "shortcut-menu" ]}, { unorderedlist:
["product-z", "customization" ]} ]} }
+{ "tweet": { "tweetid": "11", "user":
{ "screen-name": "NilaMilliron_tw", "lang":
"en", "friends_count": { int32: 445 } ,
"statuses_count": { int32: 164 } , "name": "Nila
Milliron", "followers_count": { int32: 22649 } },
"sender-location": { point: [37.59, 68.42]}, "send-time": {
datetime: 1205057400000}, "referred-topics": { unorderedlist:
["x-phone", "platform" ]}, "message-text": "
can't stand x-phone its platform is terrible" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["x-phone", "voice-clarity" ]}, { unorderedlist:
["product-y", "platform" ]} ]} }
+{ "tweet": { "tweetid": "2", "user": {
"screen-name": "ColineGeyer@63", "lang":
"en", "friends_count": { int32: 121 } ,
"statuses_count": { int32: 362 } , "name": "Coline
Geyer", "followers_count": { int32: 17159 } },
"sender-location": { point: [32.84, 67.14]}, "send-time": {
datetime: 1273745400000}, "referred-topics": { unorderedlist:
["ccast", "shortcut-menu" ]}, "message-text":
" like ccast its shortcut-menu is awesome:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["product-z", "shortcut-menu" ]}, { unorderedlist:
["ccast", "voice-clarity" ]}, { unorderedlist:
["ccast", "voicemail-service" ]} ]} }
+{ "tweet": { "tweetid": "4", "user": {
"screen-name": "NathanGiesen@211", "lang":
"en", "friends_count": { int32: 39339 } ,
"statuses_count": { int32: 473 } , "name": "Nathan
Giesen", "followers_count": { int32: 49416 } },
"sender-location": { point: [39.28, 70.48]}, "send-time": {
datetime: 1324894200000}, "referred-topics": { unorderedlist:
["product-b", "voice-command" ]}, "message-text":
" like product-b the voice-command is mind-blowing:)" },
"similar-tweets": { orderedlist: [{ unorderedlist:
["product-y", "voice-command" ]} ]} }
+</pre></div></div></div></div></div></div></div>
+ </div>
+ </div>
+ </div>
+
+ <hr/>
+
+ <footer>
+ <div class="container-fluid">
+ <div class="row span12">Copyright © 2017
+ <a href="https://www.apache.org/">The Apache Software
Foundation</a>.
+ All Rights Reserved.
+
+ </div>
+
+ <?xml
version="1.0" encoding="UTF-8"?>
+<div class="row-fluid">Apache AsterixDB, AsterixDB, Apache, the Apache
+ feather logo, and the Apache AsterixDB project logo are either
+ registered trademarks or trademarks of The Apache Software
+ Foundation in the United States and other countries.
+ All other marks mentioned may be trademarks or registered
+ trademarks of their respective owners.</div>
+
+
+ </div>
+ </footer>
+ </body>
+</html>