<!DOCTYPE html>

<html>
<head>
    <title>AsterixDB TinySocial Demo</title>

    <style>
        .pretty-printed {
            background-color: #eeeeee;
            margin-bottom: 1em;
        }

        .how-to-run {
            background-color: #c8c8c8;
            margin-bottom: 1em;
        }

        body {
            font-family : "Helvetica";
            margin-bottom: 1em;
        }
    </style>

    <script src="../js/jquery.min.js"></script>
    <script src="../core/js/easyXDM/easyXDM.debug.js"></script>
    <script src="http://localhost:19101/sdk/static/js/asterix-api-core.js"></script>
    <script src="js/tinysocial.js"></script>
</head>
<body>
    <h1>AQL: Querying TinySocial AsterixDB</h1>
    
    <h2>Query 0-A - Exact-Match Lookup</h2>
    <div class="sample-query">

        <div class="pretty-printed">
            use dataverse TinySocial;<br/><br/>

            for $user in dataset FacebookUsers<br/>
            where $user.id = 8<br/>
            return $user;<br/>
        </div>

        <div class="how-to-run">
            javascript here
        </div>

        <button id="run0a">Run #0-A</button>
    </div>
    <hr/>
    <h2>Query 0-B - Range Scan</h2>
    <div class="sample-query">
        
        <div class="pretty-printed">
            use dataverse TinySocial;<br/><br/>

            for $user in dataset FacebookUsers<br/>
            where $user.id >= 2 and $user.id <= 4<br/>
            return $user;<br/>
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run0b">Run #0-B</button>
    </div>
    <hr/>

    <h2>Query 1 - Other Query Filters</h2>
    <div class="sample-query">
        <div class="pretty-printed">
            use dataverse TinySocial;<br/><br/>

            for $user in dataset FacebookUsers<br/>
            where $user.user-since >= datetime('2010-07-22T00:00:00')<br/>
            and $user.user-since <= datetime('2012-07-29T23:59:59')<br/>
            return $user;<br/>
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run1">Run #1</button>
    </div>
    <hr/>

    <h2>Query 2-A - Equijoin</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <button id="run2a">Run #2-A</button>
    </div>
    <hr/>

    <h2>Query 2-B - Index join</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run2b">Run #2-B</button>
    </div>
    <hr/>

    <h2>Query 3 - Nested Outer Join</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run3">Run #3</button>
    </div>
    <hr/>

    <h2>Query 4 - Theta Join</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run4">Run #4</button>
    </div>
    <hr/>

    <h2>Query 5 - Fuzzy Join</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run5">Run #5</button>
    </div>
    <hr/>

    <h2>Query 6 - Existential Quantification</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run6">Run #6</button>
    </div>
    <hr/>

    <h2>Query 7 - Universal Quantification</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run7">Run #7</button>
    </div>
    <hr/>

    <h2>Query 8 - Simple Aggregation</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run8">Run #8</button>
    </div>
    <hr/>

    <h2>Query 9-A - Grouping and Aggregation</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run9a">Run #9-A</button>
    </div>
    <hr/>

    <h2>Query 9-B - (Hash-Based) Grouping and Aggregation</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run9b">Run #9-B</button>
    </div>
    <hr/>

    <h2>Query 10 - Grouping and Limits</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run10">Run #10</button>
    </div>
    <hr/>

    <h2>Query 11 - Left Outer Fuzzy Join</h2>
    <div class="sample-query">
        <div class="pretty-printed">
        </div>
        
        <div class="how-to-run">
        </div>

        <button id="run11">Run #11</button>
    </div>

</body>
</html>
