추상을 얻기 위해 2010 대 dbpedia에 대한 자바 스크립트에서 sparql 쿼리를 실행하는 방법은 무엇입니까?

Murtaza Sanjeliwala

sparql을 사용하여 dbpedia에서 추상을 얻고 싶습니다. Visual Studio C #의 ASP .NET에서 아래 쿼리를 실행하고 싶습니다. 여기 내가 한 일이 있습니다.

<script>
var query= "\
PREFIX dbpedia: <http://dbpedia.org/resource/>\
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>\
SELECT ?abstract\
 WHERE {\
 ?s dbpedia:Junagadh 
 dbpedia-owl:abstract ?abstract\
 }";


var queryUrl = url + "?query=" + encodeURIComponent(query) + "&format=json";
  $.ajax({
      dataType: "jsonp",
      url: queryUrl,
      success: function (_data) {
          var results = _data.results.bindings;

          for (var i in results) {
              var src = results[i].abstract.value;
              $('body').append(src);


          }
      }
  });

브라우저에 입력 한 검색어를 요약하고 싶습니다. 여기에 "인도"를 입력했습니다. 이 코드를 실행할 때 브라우저에 출력이 표시되지 않습니다.

그래서 내 질문은 자바 스크립트 에서이 쿼리를 실행하고 브라우저에서 결과를 얻는 방법입니다.

도와주세요, 감사합니다.

편집 # 1 :

나는 당신이 sparql 쿼리를 실행하기 위해 예제 링크를 제안하면서 시도했습니다. 예제에서 주어진 코드를 시도했지만 17 행에서 아래와 같은 오류가 발생합니다.

 Version number '1.1' is invalid. Line 1, position 16.
 Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Exception Details: System.Xml.XmlException: Version number '1.1' is invalid. Line 1, position 16.
source Error: 

Line 16:         //Make a SELECT query against the Endpoint
Line 17:         SparqlResultSet results = endpoint.QueryWithResultSet("SELECT DISTINCT ?Concept WHERE {[] a ?Concept}");
Line 18:         foreach (SparqlResult result in results)
Line 19:         {


Stack Trace: 
[XmlException: Version number '1.1' is invalid. Line 1, position 16.]
System.Xml.XmlTextReaderImpl.Throw(Exception e) +76
System.Xml.XmlTextReaderImpl.Throw(String res, String arg) +126
System.Xml.XmlTextReaderImpl.ParseXmlDeclaration(Boolean isTextDecl)      +3983351
System.Xml.XmlTextReaderImpl.Read() +239
VDS.RDF.Parsing.SparqlXmlParser.Parse(SparqlXmlParserContext context) in e:\mercurial\dotnetrdf\Libraries\core\net40\Parsing\SPARQLXMLParser.cs:376
VDS.RDF.Parsing.SparqlXmlParser.Load(ISparqlResultsHandler handler, TextReader input) in e:\mercurial\dotnetrdf\Libraries\core\net40\Parsing\SPARQLXMLParser.cs:101
VDS.RDF.Parsing.SparqlXmlParser.Load(ISparqlResultsHandler handler, StreamReader input) in e:\mercurial\dotnetrdf\Libraries\core\net40\Parsing\SPARQLXMLParser.cs:124
VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(ISparqlResultsHandler handler, String sparqlQuery) in e:\mercurial\dotnetrdf\Libraries\core\net40\Query\SPARQLRemoteEndpoint.cs:309
VDS.RDF.Query.SparqlRemoteEndpoint.QueryWithResultSet(String sparqlQuery) in e:\mercurial\dotnetrdf\Libraries\core\net40\Query\SPARQLRemoteEndpoint.cs:284
test.Page_Load(Object sender, EventArgs e) in c:\Users\MKS\Documents\Visual Studio 2010\WebSites\WebSite3\test.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

도와주세요, 감사합니다.

아르테미스

귀하의 쿼리가 완전히 잘못되었습니다. SPARQL 쿼리를 작성할 때 트리플에 대해 물어볼 필요가 ?s ?p ?o있습니다. 검색어를 보면 4 개의 항목이 있습니다. 따라서 모든 언어로 된 초록이 필요하면 다음을 요청해야합니다.

SELECT ?abstract
WHERE {
    dbpedia:Junagadh dbpedia-owl:abstract ?abstract.
}

초록에 특정 언어가 필요한 경우 그에 따라 필터링해야합니다. 예를 들어 영어 초록은 다음과 같습니다.

SELECT ?abstract
WHERE {
    dbpedia:Junagadh dbpedia-owl:abstract ?abstract.
    filter(lang(?abstract)='en')
}

.net 환경에서 SPARQL을 작성하는 방법을 알고 싶다면이 예제 를 읽어보십시오 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관