freebase
Version:
a very masculine way to work with data from freebase.com
143 lines (117 loc) • 3.68 kB
HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="./freebase.js"></script>
<style>
h2{color:grey;}
.c{color:#858585; font-size:15px;}
a{color:steelblue;}
.r{color:steelblue; position:relative; left:70px;}
</style>
<script>
$(window).load(function(){
window.freebase=$.freebase
window.callback= function(r){console.log(r)}
$("#search").keypress(_.debounce(function() {
var el=$(this)
el.siblings('.c').html("$.freebase.description(\""+el.val()+"\", {}, callback)")
$.freebase.description(el.val(), {}, function(r){
el.parent().find('.r').text(r)
})
}, 300))
$("#search").keypress()
$("#search2").keypress(_.debounce(function() {
var el=$(this)
el.siblings('.c').html("$.freebase.translate(\""+el.val()+"\", {lang:\"/lang/ja\"}, callback)")
$.freebase.translate(el.val(), {lang:"/lang/ja"}, function(r){
el.siblings('.r').text(r)
})
}, 300))
$("#search2").keypress()
$("#search3").keypress(_.debounce(function() {
var el=$(this)
el.siblings('.c').html("$.freebase.wordnet(\""+el.val()+"\", {}, callback)")
$.freebase.wordnet(el.val(), {}, function (r){
el.siblings('.r').html(
r.map(function(s){return "<li><b>"+s.syntactic_category+"</b>: "+s.gloss+"</li>"}).join("")
)
})
}, 300))
$("#search3").keypress()
$("#search4").keypress(_.debounce(function() {
var el=$(this)
var t=el.val()
var q=$('#search42').val()
el.siblings('.c').html("$.freebase.question(\""+t+"\", {property:\""+q+"\"}, callback)")
$.freebase.question(t, {property:q}, function (r){
el.siblings('.r').html(
r.map(function(s){return s.text || s.name}).join(", ")
)
})
}, 300))
$("#search42").keypress(_.debounce(function() {$("#search4").keypress() }))
$("#search4").keypress()
$("#list").keypress(_.debounce(function() {
var el=$(this)
el.siblings('.c').html("$.freebase.list(\""+el.val()+"\", {max:30}, callback)")
$.freebase.list(el.val(), {max:30}, function(r){
var html=r.map(function(a){return "<li>"+a.name+"</li>"}).join('')
el.parent().find('.r').html(html)
})
}, 300))
$("#list").keypress()
$("#image").keypress(_.debounce(function() {
var el=$(this)
el.siblings('.c').html("$.freebase.image(\""+el.val()+"\", {}, callback)")
$.freebase.image(el.val(), {}, function(r){
var html="<img src='"+r+"'/>"
el.parent().find('.r').html(html)
})
}, 300))
$("#image").keypress()
})
</script>
<h1><a href="https://github.com/spencermountain/Freebase.js">Freebase.js demo</a></h1>
<ul>
<h2>freebase.list</h2>
<input id="list" value="planets"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>
<ul>
<h2>freebase.question</h2>
<input id="search4" value="bill murray"/>
<input id="search42" value="birthday"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>
<ul>
<h2>freebase.image</h2>
<input id="image" value="nina simone"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>
<ul>
<h2>freebase.description</h2>
<input id="search" value="tony hawk"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>
<ul>
<h2>freebase.translate</h2>
<input id="search2" value="pulp fiction"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>
<ul>
<h2>freebase.wordnet</h2>
<input id="search3" value="creep"/>
<ul class="c" ></ul>
<div class="r" ></div>
</ul>
<hr/>