>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 쿼리 DBpedia 작은 응용 사례 학습_자바스크립트 기술

자바스크립트 쿼리 DBpedia 작은 응용 사례 학습_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 17:40:501264검색

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#을 정의합니다.
그런 다음 다음을 충족하는 다음과 같은 악기 변수를 선택합니다.
주제는 http://aabs.purl.org/music#andrew이고 술어는 http://aabs.purl.org/music#playsInstrument입니다. , 객체는 악기입니다.


bif:contains() bif:contains()는 이름에서 알 수 있듯이 포함 여부를 결정하는 함수입니다. .
이를 사용하여 필요한 데이터를 쿼리할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
접두사 foaf:
고유한 ?url ?alma ?comment
여기서 {
?s foaf:name ?sname
?sname bif:contains '중국'. 🎜>? s foaf:depiction ?url .
?s dbpedia-owl:wikiPageExternalLink ?alma .
?s rdfs:comment ?comment .


this SPARQL 문은 중국 이름이 포함된 항목을 쿼리한 다음 해당 항목의 사진 URL, 홈페이지 URL 및 소개를 반환하는 것입니다.
전체 프로그램 작성을 마치겠습니다.

코드 완성



코드 복사
SPARQL DEMO<br><script src="SPARQLWrapper.js"><script> <BR>var $ = function(id){ <BR>return document.getElementById(id), <BR>sparql = new SPARQLWrapper("http://dbpedia.org/sparql"), <BR>results = []; <BR>function getInfo(name){ <BR>name = name.replace(/s/g, "_" ); <BR>var command = "접두사 foaf: <http://xmlns.com/foaf/0.1/> " <BR> "고유한 ?url ?alma ?comment 선택 " <BR> "여기서 { " <BR> "?s foaf:name ?sname . " <BR> "?sname bif:contains '" 이름 "'. " <BR> "?s foaf:depiction ?url . dbpedia-owl :wikiPageExternalLink ?alma . " <BR> "?s rdfs:comment ?comment . " <BR> "} " <BR> "limit 10"; <BR>sparql.setQuery(command); <BR>sparql .query( function(json){ <BR>showInfo((eval("(" json ")")).results.bounds); <BR>}) <BR>} <BR>function showInfo(results){ <BR> var text = ""; <BR>if(results.length !== 0){ <BR>for(var i = 0; i < results.length; i ){ <BR>text = "&lt ;img src = '" 결과[i].url.value "' /><br />"; <BR>text = "홈페이지:" "<a href = '" 결과[i].alma .value " ' >" 결과[i].alma.value "</a><br />" <BR>text = "<p>" 결과[i].comment.value "&lt ;/p&gt ;<br /><br /><br />"; <BR>$("result").innerHTML = text; <BR>} <BR>}else{ <BR>$( "result").innerHTML = "관련 정보가 없습니다! "; <BR>} <BR>} <BR></script> <BR></head> <BR><body> <BR><p>현재 영어 쿼리만 지원됩니다.</p> ; <BR><input type="text" id="name"/> <BR><input type="button" onclick="getInfo(document.getElementById('name').value);" ="위키 검색" /> <BR><div id="result"></p> <BR></body> <BR><BR> <BR><BR>남은 문제<BR> <BR>중국어로 쿼리하는 방법을 모르겠습니다. 아시는 분은 알려주세요. <BR><BR></script>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.