2016-07-07 17 views
0

次のSPARQLクエリは20個の結果を返します。私はオープンリンクのVirtuosoサーバーの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 Support Forums](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も使っている初心者です。

関連する問題