2016-07-07 5 views
0

다음 SPARQL 쿼리는 20 개의 결과를 반환합니다. 나는 내가 오픈 링크 거장 서버의 SPARQL 엔드 포인트에서 코드를 실행 OFFSETLIMITOpenlink Virtuoso SPARQL OFFSET 및 LIMIT 동작

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX dbpedia:<http://dbpedia.org/resource/> 
PREFIX dbpedia-owl:<http://dbpedia.org/ontology/> 
PREFIX dbpprop: <http://dbpedia.org/property/> 
SELECT ?person_id ?person2_id 
WHERE { 
    { 
     SELECT DISTINCT ?person_id ?person2_id WHERE { 
      ?person rdf:type dbpedia-owl:Person . 
      ?person2 rdf:type dbpedia-owl:Person . 
      ?person ?link ?person2 . 
      ?person dbpedia-owl:wikiPageID ?person_id . 
      ?person2 dbpedia-owl:wikiPageID ?person2_id . 
      FILTER (?link = dbpedia-owl:wikiPageWikiLink) . 
     } ORDER BY ?link 
    } 
} OFFSET 10 LIMIT 10 

주어진 10 기다리고 있었다.

쿼리의 문제점은 무엇입니까?

+3

소리가 버그와 같습니다. "LIMIT 10"이라고 말하면 10 개의 결과 만 가져야합니다. 그러나 ORSER BY가 없으면 OFFSET은 의미가 없습니다. (하위 쿼리에는 ORDER BY가 있지만 바깥 쿼리에 대해서는 중요하지 않습니다.) –

+2

Virtuoso 메일 링리스트에보고해야하지만 Virtuoso의 버전과 더 많은 통계와 같은 추가 정보가 있어야합니다. – AKSW

+2

@AKSW가 암시 하듯이 버전 정보는 유용한 응답에 중요합니다. 또한 Virtuoso 관련 리소스는 Virtuoso 관련 질문에 가장 적합합니다. 예를 들어 [Virtuoso Users 메일 링리스트] (https://sourceforge.net/p/virtuoso/mailman/virtuoso-users/), [OpenLink 지원 포럼] (http://boards.openlinksw.com/support/index) .php), [OpenLink 지원 사례] (http://support.openlinksw.com/support/online-support.vsp)를 참조하십시오. (ObDisclaimer : 저는 [Virtuoso] (http://virtuoso.openlinksw.com/)의 제작자 인 [OpenLink Software] (http://www.openlinksw.com/)에서 일하고 있습니다. – TallTed

답변

0

쿼리가 이상하게 동작하도록하는 절은 ORDER BY ?link입니다. ORDER BY ?person_id으로 바꾸면 모두 예상대로 작동합니다. 그것은 나에게 여전히 의미가 없지만 나는 SPARQL을 사용하는 초보자이다.