最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript查詢DBpedia小應(yīng)用實(shí)例學(xué)習(xí)

 更新時(shí)間:2013年03月07日 15:41:20   作者:  
本文則嘗試?yán)肧PARQLWrapper.js來(lái)讀取DBpedia的數(shù)據(jù),并顯示出來(lái),感興趣的你可以參考下,或許對(duì)你有所幫助

Javascript查詢DBpedia小應(yīng)用
上一篇文章中,我們了解了SPARQL、SPARQL Endpoint,并簡(jiǎn)單做了一個(gè)SPARQLWrapper.js,來(lái)從DBpedia中查詢了一些數(shù)據(jù)。
本文則嘗試?yán)肧PARQLWrapper.js來(lái)讀取DBpedia的數(shù)據(jù),并顯示出來(lái)。

目標(biāo)
通過(guò)輸入一個(gè)英文單詞,然后返回WIKI中相關(guān)的信息。
那么主要要解決的問(wèn)題就是怎樣的SPARQL語(yǔ)句能夠查詢到我們需要的東西。

先看一段簡(jiǎn)單的SPARQL查詢語(yǔ)句

復(fù)制代碼 代碼如下:

PREFIX : <http://aabs.purl.org/music#>
SELECT ?instrument
WHERE {
:andrew :playsInstrument ?instrument .
}

首先定義一個(gè)域名空間http://aabs.purl.org/music#。
然后選擇這樣子的instrument變量,他滿足:
主語(yǔ)是http://aabs.purl.org/music#andrew,謂語(yǔ)是http://aabs.purl.org/music#playsInstrument,賓語(yǔ)是該instrument。

bif:contains()
bif:contains()是contains()函數(shù)的變種函數(shù),顧名思義是判斷是否包含的函數(shù)。
利用這個(gè)我們能查詢到我們需要的數(shù)據(jù)了。
復(fù)制代碼 代碼如下:

prefix foaf: <http://xmlns.com/foaf/0.1/>
select distinct ?url ?alma ?comment
where {
?s foaf:name ?sname .
?sname bif:contains 'China'.
?s foaf:depiction ?url .
?s dbpedia-owl:wikiPageExternalLink ?alma .
?s rdfs:comment ?comment .
}
limit 10

這段SPARQL語(yǔ)句是查詢包含China的名字的詞條,然后將其圖片的url、homepage的url,以及簡(jiǎn)介返回回來(lái)。
下面讓我們把整個(gè)程序?qū)懲辍?

完整代碼
復(fù)制代碼 代碼如下:

<html>
<head>
<meta charset="utf-8">
<title>SPARQL DEMO</title>
<script src="SPARQLWrapper.js"></script>
<script>
var $ = function(id){
return document.getElementById(id);
},
sparql = new SPARQLWrapper("http://dbpedia.org/sparql"),
results = [];
function getInfo(name){
name = name.replace(/\s/g, "_");
var command = "prefix foaf: <http://xmlns.com/foaf/0.1/> "
+ "select distinct ?url ?alma ?comment "
+ "where { "
+ "?s foaf:name ?sname . "
+ "?sname bif:contains '" + name + "'. "
+ "?s foaf:depiction ?url . "
+ "?s dbpedia-owl:wikiPageExternalLink ?alma . "
+ "?s rdfs:comment ?comment . "
+ "} "
+ "limit 10";
sparql.setQuery(command);
sparql.query(function(json){
showInfo((eval("(" + json + ")")).results.bindings);
});
}
function showInfo(results){
var text = "";
if(results.length !== 0){
for(var i = 0; i < results.length; i++){
text += "<img src = '" + results[i].url.value + "' /><br />";
text += "homepage:" + "<a href = '" + results[i].alma.value + "' >" + results[i].alma.value + "</a><br />";
text += "<p>" + results[i].comment.value + "</p><br /><br /><br />";
$("result").innerHTML = text;
}
}else{
$("result").innerHTML = "沒有任何相關(guān)信息!";
}
}
</script>
</head>
<body>
<p>目前只支持英文查詢。</p>
<input type="text" id="name"/>
<input type="button" onclick="getInfo(document.getElementById('name').value);" value="Wiki Search" />
<div id="result"></p>
</body>
</html>

遺留問(wèn)題
不太清楚中文怎么查詢,如有知道的朋友,麻煩告知一下,謝謝。

例子

相關(guān)文章

最新評(píng)論

无锡市| 南阳市| 游戏| 习水县| 南江县| 侯马市| 马公市| 广丰县| 连云港市| 格尔木市| 乾安县| 梧州市| 鱼台县| 合山市| 南平市| 涞水县| 南川市| 长沙县| 吴堡县| 甘洛县| 颍上县| 大港区| 竹山县| 错那县| 太谷县| 平乐县| 克山县| 大渡口区| 三原县| 苍山县| 拉萨市| 贵溪市| 修武县| 墨脱县| 昆明市| 泰安市| 肥乡县| 饶河县| 蓬溪县| 开阳县| 巩义市|