Ajax JSONP request to DBPedia.
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/dot-luv/jquery-ui.css">
<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyD7O9D4uEFyEexRPtxaU1fCsh0yu5leum4&sensor=false"></script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
<div id="map_canvas" style="width:100%; height:100%"></div>
JavaScript
/*To get list of Companies across the World and autopopulate using SPARQL with DBPedia.*/
var companyListSPARQL = "PREFIX db: <http://dbpedia.org/ontology/> PREFIX property: <http://dbpedia.org/property/> PREFIX position:<http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT DISTINCT ?Company_Name WHERE { ?Company_URI a db:Company .?Company_URI property:name ?Company_Name .}";
var progress=10;
//Preparing SPARQL query against DBPedia
var companyNameQuery = "http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=" + escape(companyListSPARQL) + "&format=json";
var progress=20;
$.ajax({
url: companyNameQuery,
dataType: 'jsonp',
jsonp: 'callback',
success: function(data) {
var companyArr = [];
for (var i = 0; i < data.results.bindings.length; i++) {
companyArr.push(data.results.bindings[i].Company_Name.value);
}
var progress=30;
$('#tags').autocomplete({
source: companyArr,
delay: 30
});
},
error: function(e) {
alert(e);
}
});
//Google Maps Processing
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
}
// Demo to make an Ajax request to DBPedia with SPARQL using JSON-P to reference the cross domain resource.
var sparql = "select distinct ?Concept where {[] a ?Concept} LIMIT 10";
var query = "http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=" + escape(sparql) + "&format=json";
$.ajax({
url: query,
dataType: 'jsonp',
jsonp: 'callback',
success: function(data) {
alert(data.results.bindings[0].Concept.value);
$('#resultData').append(data.results.bindings[0].Concept.value);
}
});