最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Javascript查询DBpedia小应用实例学习_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 21:07:37
文档

Javascript查询DBpedia小应用实例学习_javascript技巧

Javascript查询DBpedia小应用实例学习_javascript技巧:Javascript查询DBpedia小应用 上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。 本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。 目标 通过输入一个英文单
推荐度:
导读Javascript查询DBpedia小应用实例学习_javascript技巧:Javascript查询DBpedia小应用 上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。 本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。 目标 通过输入一个英文单
 Javascript查询DBpedia小应用
上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。
本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。

目标
通过输入一个英文单词,然后返回WIKI中相关的信息。
那么主要要解决的问题就是怎样的SPARQL语句能够查询到我们需要的东西。

先看一段简单的SPARQL查询语句
代码如下:
PREFIX :
SELECT ?instrument
WHERE {
:andrew :playsInstrument ?instrument .
}

首先定义一个域名空间http://aabs.purl.org/music#。
然后选择这样子的instrument变量,他满足:
主语是http://aabs.purl.org/music#andrew,谓语是http://aabs.purl.org/music#playsInstrument,宾语是该instrument。

bif:contains()
bif:contains()是contains()函数的变种函数,顾名思义是判断是否包含的函数。
利用这个我们能查询到我们需要的数据了。
代码如下:
prefix foaf:
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语句是查询包含China的名字的词条,然后将其图片的url、homepage的url,以及简介返回回来。
下面让我们把整个程序写完。

完整代码
代码如下:



SPARQL DEMO


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: "
+ "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 += "
";
text += "homepage:" + "" + results[i].alma.value + "
";
text += "

" + results[i].comment.value + "


";
$("result").innerHTML = text;
}
}else{
$("result").innerHTML = "没有任何相关信息!";
}
}



目前只支持英文查询。








遗留问题
不太清楚中文怎么查询,如有知道的朋友,麻烦告知一下,谢谢。

例子

文档

Javascript查询DBpedia小应用实例学习_javascript技巧

Javascript查询DBpedia小应用实例学习_javascript技巧:Javascript查询DBpedia小应用 上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。 本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。 目标 通过输入一个英文单
推荐度:
标签: 查询 js javascript
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top