2

sparqlクエリを実行しています

    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

    SELECT DISTINCT(?film_link) ?film_name ?wikipage
    WHERE {
    ?film_link rdf:type <http://dbpedia.org/ontology/Film> .
    ?film_link foaf:name ?film_name .
    ?film_link foaf:page ?wikipage .

    } LIMIT 10000 OFFSET  num

このクエリはforループ[0,9999,19999,29999,39999,49999]で実行されており、
結果= sparql.query()。convert()が例外をスローすることがあります。
結果を出すものと与えないものがあります。Virtuoso SPARQLクエリエディターでこれらのクエリを実行すると、すべてのクエリがデータを返しますが、誰かアイデアがありますか?

4

1 に答える 1

1

問題はDistinctにあります。

Distinctクエリのショートカット/最適化を使用する場合は制限があり、結果が多い場合はクエリがタイムアウトする可能性があります(サーバーの負荷によって異なります)

他の代替案/最適化については、このDBpediaスレッドを調べることができます http://sourceforge.net/mailarchive/message.php?msg_id=28653250

また、distinctにはより多くのサーバーリソースが必要です。クエリによっては、制限を要求した場合でも、すべての結果を評価する必要があり、クエリのタイムアウトが発生する可能性があります(現在のサーバーの負荷によって異なります)。これがあなたの質問に当てはまるかどうかはわかりません...

于 2012-01-23T15:41:48.717 に答える