亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript實(shí)現(xiàn)關(guān)聯(lián)數(shù)據(jù)(Linked Data)查詢及注意細(xì)節(jié)

2019-11-20 22:59:18
字體:
供稿:網(wǎng)友
前言
自由百科全書不僅僅應(yīng)當(dāng)可以自由編寫,而更應(yīng)該可以自由獲得。
DBpedia對(duì)Wikipedia的數(shù)據(jù)變成Linked Data形式,使得機(jī)器也能讀懂并自由獲得這些數(shù)據(jù)。
本文的主要目的是利用Javascript從DBpedia中獲取我們想要的數(shù)據(jù)。
對(duì)Linked Data不太了解的請(qǐng)參考:關(guān)聯(lián)數(shù)據(jù)入門――RDF

SPARQL
Trying to use the Semantic Web without SPARQL is like trying to use a relational database without SQL.
―― Tim Berners-Lee
SPARQL是Semantic Web(語義網(wǎng))的SQL,用于數(shù)據(jù)查詢的語言。

SPARQL Endpoint
SPARQL查詢終端,是一種HTTP綁定協(xié)議,用于通過HTTP進(jìn)行SPARQL查詢,并返回相應(yīng)數(shù)據(jù)。
DBpedia的SPARQL Endpoint地址是:http://dbpedia.org/sparql
大家可以通過瀏覽器打開這個(gè)頁面,進(jìn)行SPARQL查詢(最好翻墻,沒翻墻查詢經(jīng)常失敗,不太明白為什么= =)。
不過這種查詢最終返回結(jié)果是HTML頁面,并不是我們想要的,我們可以通過設(shè)置Request Header的Accept屬性來指定返回?cái)?shù)據(jù)類型。
例如如果指定為:text/xml,那么返回的便是RDF格式數(shù)據(jù)。
那么我們?nèi)绾屋斎隨PARQL查詢代碼呢?
只需通過get或者post方法用參數(shù)query,將代碼傳過去。例如:
如果想查詢:select distinct ?Concept where {[] a ?Concept} LIMIT 100
則可利用該鏈接得到數(shù)據(jù):
http://dbpedia.org/sparql?query=select%20distinct%20?Concept%20where%20{[]%20a%20?Concept}%20LIMIT%20100
其中空格被轉(zhuǎn)成%20。

實(shí)現(xiàn)細(xì)節(jié)
•跨域
我們可以通過AJAX實(shí)現(xiàn)這一功能,但是AJAX在部分瀏覽器中無法跨域,然而很顯然我們想要的Linked Data幾乎都是跨域的。
實(shí)際上,在一些較老版本的瀏覽器,我們沒有不改變其數(shù)據(jù)形式的方法在前端進(jìn)行動(dòng)態(tài)跨域異步讀取。
不過我們可以通過服務(wù)器代理的方法來解決跨域問題。
•GET or POST
使用GET還POST呢?
這個(gè)可能出于很多方面考慮,但是考慮到GET可能被緩存,所以我們使用POST來避免數(shù)據(jù)被緩存。
•以什么形式返回?cái)?shù)據(jù)
前面我們說到用text/xml可以返回RDF數(shù)據(jù),但是RDF在Javascript中并不好處理,所以我們使用json方式返回,也就是需要將Accept設(shè)置成application/sparql-results+json。

實(shí)現(xiàn)
接口參考Python的SPARQL Wrapper
復(fù)制代碼 代碼如下:

(function(root, factory) {
if(typeof define === "function"){
define("SPARQLWrapper", factory); // AMD || CMD
}else{
root.SPARQLWrapper = factory(); // <script>
}
}(this, function(){
'use strict'
function SPARQLWrapper(endpoint){
this.endpoint = endpoint;
this.queryPart = "";
this.type = "json";
}
SPARQLWrapper.prototype = {
constructor: SPARQLWrapper,
setQuery: function(query){
this.queryPart = "query=" + encodeURI(query);
},
setType: function(type){
this.type = type.toLowerCase();
},
query: function(type, callback){
callback = callback === undefined ? type : this.setType(type) || callback;
var xhr = new XMLHttpRequest();
xhr.open('POST', this.endpoint, true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
switch(this.type){
case "json":
type = "application/sparql-results+json";
break;
case "xml":
type = "text/xml";
break;
case "html":
type = "text/html";
break;
default:
type = "application/sparql-results+json";
break;
}
xhr.setRequestHeader("Accept", type);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
var sta = xhr.status;
if(sta == 200 || sta == 304){
callback(xhr.responseText);
}else{
console && console.error("Sparql query error: " + xhr.status + " " + xhr.responseText);
}
window.setTimeout(function(){
xhr.onreadystatechange= new Function();
xhr = null;
},0);
}
}
xhr.send(this.queryPart);
}
}
return SPARQLWrapper;
}));

使用方法,例如需要查詢:
select distinct ?Concept where {[] a ?Concept} LIMIT 100
則該頁面為:
復(fù)制代碼 代碼如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script src="SPARQLWrapper.js" type="text/javascript"></script>
</head>
<body>
<script>
var sparql = new SPARQLWrapper("http://dbpedia.org/sparql");
sparql.setQuery('select distinct ?Concept where {[] a ?Concept} LIMIT 100');
sparql.query(function(json){
console.log(eval('(' + json + ')');
});
</script>
</body>
</html>

小例子:下載
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产特级黄色录像| 小荡货+程雪柔| 久久综合五月| 一区二区三区丝袜| 羞羞免费视频| 免费看成年视频网页| 免费短视频成人日韩| 极品白嫩少妇无套内谢| 国产精品欧美久久久久天天影视| 永久免费毛片在线播放不卡| 欧美成免费一区二区视频| 亚洲国产另类久久久精品极度| 99精品免费观看| 正在播放日韩精品| 亚洲三级网站| 少妇精品无码一区二区三区| 日本黄色三级网站| 久久久亚洲国产美女国产盗摄| 亚洲欧洲免费无码| 天天色天天看| 制服丝袜激情欧洲亚洲| 成人国产精品久久久久久亚洲| 亚洲一区二区中文| 欧美一区二区三区思思人| 亚洲精品性视频| 66国产精品| www视频在线观看com| 国产精品天美传媒沈樵| 成人系列视频| 国产亚洲美女精品久久久| 欧美激情视频一区二区三区不卡| 国产福利精品一区| 欧美激情性做爰免费视频| 午夜免费视频在线国产| 国产精品你懂的在线欣赏| 亚洲精品18p| 高清在线观看av| 色偷偷91综合久久噜噜| 欧美撒尿777hd撒尿| 曰本一区二区三区视频| 在线播放av更多| 日本在线不卡一区| 亚洲伦片免费看| 久久亚洲电影天堂| 91麻豆免费视频| 快播电影网址老女人久久| 亚洲国产欧洲综合997久久| 日本国产一区二区三区| 蜜桃一区二区三区在线观看| 免费看日本毛片| 国产午夜在线| 特黄特色大片免费视频大全| 亚洲精品乱码久久久久久久| 国产视频一区二区在线播放| 国产精品蜜臀| av中文资源在线资源免费观看| 亚洲欧美综合一区| 精品国产一区二区三区2021| 日韩av不卡一区二区| 中文字幕精品在线不卡| 欧美少妇激情| 欧美一区二区福利视频| 亲爱的老师6电影韩剧| 四季av一区二区三区免费观看| 欧美电影免费网站| 国内自拍在线观看| 亚州精品国产精品乱码不99按摩| **女人18毛片一区二区| 久久午夜羞羞影院免费观看| 国产黄色网址在线观看| 加勒比一区二区三区在线| 国产乱对白刺激视频不卡| 国产国语**毛片高清视频| 国产精品va在线观看无码| 成人短视频在线观看免费| 国产欧美一区二区三区四区| 国产最顶级的黄色片在线免费观看| 极品白浆推特女神在线观看| 国产乱码精品一区二区三区中文| 国产一区二区视频免费| 免费看片黄色| 亚洲国产免费| 欧美综合社区国产| 日韩美女福利视频| 嫩草影院入口一二三| 婷婷另类小说| av网页在线观看| 又大又长粗又爽又黄少妇视频| 国产人妻777人伦精品hd| 成a人片在线观看| 美国一级片在线免费观看视频| av电影中文字幕| 影音先锋男士资源站| 欧美另类videoxo高潮| 看高清中日韩色视频| 九九视频精品全部免费播放| 久久bbxx| 91国产中文字幕| 一区二区三区四区五区视频| 国产精品久久久久久影院8一贰佰| 久久青草视频| 欧美在线一级片| 国产经品一区二区| 欧美精品人人做人人爱视频| 国产嫩草影院久久久久| 国产精品嫩草影院久久久| 超碰激情在线| 亚洲午夜色婷婷在线| 国产成人精品免费网站| 日韩精品亚洲一区二区三区免费| 欧美在线不卡一区| 欧美久久久久久久久久久久久久| 青青草原网站在线观看| 国产精品自拍毛片| 国产精品国产亚洲精品| 99精品一区| 精品国产一区二区三区不卡蜜臂| www国产亚洲精品久久麻豆| 黄色片子在线观看| 国产日韩欧美精品一区二区三区| 日韩伦理片在线观看| 天天干天天插天天操| 韩国av永久免费| 中文字幕在线视频一区二区三区| 浓精h攵女乱爱av| 欧美日韩 一区二区三区| 91精品国产91久久久久久不卡| 欧美成免费一区二区视频| 婷婷在线免费视频| 午夜在线播放| 波多野在线播放| 在线视频国产区| 日韩视频免费观看高清完整版| 国产精品国产三级国产专播品爱网| 久久久999| 天海翼精品一区二区三区| 久久久夜色精品| 免费福利电影| 精品无码国产一区二区三区51安| 亚洲成人a级片| 91影视免费在线观看| 午夜在线视频一区二区区别| 婷婷久久国产对白刺激五月99| 国产91色综合久久免费分享| 日本欧美在线视频免费观看| 国产剧情在线一区| 黄色动漫在线免费观看| 麻豆影视国产在线观看| 精品国产一二三区| 亚洲按摩av| 啪啪一区二区三区| 2019中文字幕在线| 在线不卡a资源高清| 国产精品第一第二| 日本精品国语自产拍在线观看| 四虎影视成人永久免费观看视频| 国产一级免费在线观看| 国内拍拍自拍视频在线观看| 精品资源在线| 伊人色综合久久天天五月婷| 欧美特大特白屁股xxxx| 国模私拍一区二区国模曼安| 污污视频在线免费观看| 色噜噜夜夜夜综合网| 一区二区成人国产精品| 青草青草久热精品视频在线网站| av手机免费在线观看| 91欧美精品成人综合在线观看| 久久久久亚洲蜜桃| 久久精品99无色码中文字幕| 九热爱视频精品视频| 国产日韩久久久| 日韩制服丝袜先锋影音| 国产在线播放一区三区四| 中文视频在线| 国产中文字字幕乱码无限| 国产欧美精品va在线观看| 97视频精彩视频在线观看| 不卡av免费在线观看| 国产乱子伦三级在线播放| 99热这里只有精品8| 久草精品电影| 亚洲综合图片区| 一区二区不卡视频在线观看| av在线影视| 久久影院在线观看| 337p粉嫩色噜噜噜大肥臀| 潘金莲一级淫片aaaaa| 少妇一级黄色片| 亚洲欧洲美洲综合色网| 亚洲欧美一区二区三区极速播放| 毛片一区二区| 国产在线日韩在线| 欧美肥妇bbwbbw| 淫片在线观看| 一区二区三区精品视频| 精品卡1卡2卡三卡免费网站| 国产精品欧美亚洲| 国产精品1区在线| 久久人妻无码aⅴ毛片a片app| 神马午夜dy888| 精品一区二区三区在线观看| 91精品国产成人| 日本少妇高清视频| 影音先锋中文字幕在线观看| 久久久视频6r| 99re亚洲国产精品| 国产精品久久精品国产| 欧美成人免费大片| a视频在线播放| 老司机激情视频| 亚洲欧美国产另类| 中文字幕成人乱码在线电影| 麻豆精品视频在线| 色综合伊人色综合网站| 国产精品影片在线观看| 日韩成人中文电影| 成人免费不卡视频| 久久精品男人天堂av| 久久黄色免费视频| 不卡免费追剧大全电视剧网站| 韩国av一区二区三区| 手机看片一区二区三区| 欧美magnet| 中文字幕一区二区三| 三级a在线观看| 成人福利视频| 亚洲第一网站免费视频| 自拍偷拍亚洲精品| 久久www人成免费看片中文| 日韩美女毛茸茸| 精品一区二区三区免费毛片爱| 自拍偷拍中文字幕| 久久久久久久久中文字幕| 国产精品精华液网站| 老司机久久99久久精品播放免费| 三级成人在线视频| 国产精品老熟女视频一区二区| 国外色69视频在线观看| 成人国产网站| 国产乱码久久久| 国产乱国产乱老熟300部视频| 欧美性受xxx| 性xx色xx综合久久久xx| 精品小视频在线观看| 刘亦菲毛片一区二区三区| 岛国在线最新| 国产成人精品无码免费看夜聊软件| 国产麻豆91视频| 在线观看免费视频a| 国产又黄又猛又粗又爽| 日韩亚洲色图| 7777精品久久久久久| 欧美大黄免费观看| 色妞在线综合亚洲欧美| 欧美主播一区二区三区美女 久久精品人| 五月天婷婷久久| 一区在线播放视频| 蜜桃视频在线观看www| 国产美女精品一区二区三区| 国产一区久久久| 男人通一通女人的下水道| 欧美精品一区二区三区很污很色的| 成人知道污网站| 亚洲色偷偷色噜噜狠狠99网| 欧美影院午夜播放| 久久免费国产精品1| 在线观看91精品国产入口| 高清美女视频一区| 精品国产一区二区三| 日韩在线你懂得| 欧美videos粗暴高清性| 精品福利久久久| 日韩在线观看成人| 亚洲成人五区| 国产福利一区二区| 黄色在线免费播放| 男人搞女人网站| 天堂视频在线观看免费| 亚洲男人的天堂在线播放| 久久99精品一区二区三区三区| 9.1人成人免费视频网站| 亚洲码国产岛国毛片在线| 国产高清大尺度一区二区不卡| 午夜福制92视频| 91中文精品字幕在线视频| 大胸美女被爆操| 97福利网站在线观看视频| 日韩性xxxx| 中文字幕网站在线观看| 亚洲女同ⅹxx女同tv| 国模无码大尺度一区二区三区| 国产a级免费视频| 欧美伦理影院| 97精品人妻一区二区三区香蕉| 在线国产中文字幕| 欧美色播在线播放| 91超碰在线免费观看| 日韩视频在线观看免费视频| 一级黄色小视频| 成人av小说网| wwwwww欧美| 欧美性bbwbbwbbwhd| 亚洲免费资源在线播放| 加勒比精品视频| 亚洲天堂精品一区| 亚洲精品一区二区在线观看| 免费无码一区二区三区| 国产99视频精品免费视频36| 日本少妇做爰全过程毛片| 国产乱码精品一区二区| 亚洲第一区第二区| 亚洲另类激情图| 欧美成人三级视频| yw视频在线观看| 国产手机在线观看| 亚洲精品黑牛一区二区三区| 91国模大尺度私拍在线视频| 中文字幕 国产精品| 亚洲精品久久久久久一区二区| 国产精品久久久久久久久久东京| free性中国hd国语露脸| 欧美高清性xxxxhd| 国产福利一区二区三区在线播放| 国产精品99久久久久久宅男| 亚洲 日本 欧美 中文幕| 亚洲人成在线一二| 青青影院一区二区三区四区|