3

こんにちは、昨日まで機能していたクエリがあります。

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
    PREFIX foaf: <http://xmlns.com/foaf/0.1/>
    SELECT DISTINCT(?film_link) ?film_abstract ?film_name ?wikipage
    WHERE {
    ?film_link rdf:type <http://dbpedia.org/ontology/Film> .
    ?film_link rdfs:comment ?film_abstract 
    FILTER (langMatches( lang(?film_abstract), "EN")) .
    ?film_link  foaf:name ?film_name .
    ?film_title foaf:page ?wikipage .

    }

Virtuoso 42000 エラー 推定実行時間 99232592 (秒) が制限の 1500 (秒) を超えています。このエラーも以前に見たことがありますが、しばらくしてからそのようなクエリを再度実行すると、実行されます..誰かがエラーの意味を説明できますか?

4

1 に答える 1

3

これは、Virtuoso のクエリ プランナー (Virtuoso は DBPedia が実行されるトリプルストアです) が、クエリの評価にかかる時間を見積もり、時間がかかりすぎると判断したため、クエリの実行を拒否したことを意味します。

問題は、クエリの最後のトリプル パターンにあると思われます。

?film_title foaf:page ?wikipage

その時点まではこれらの変数のいずれも使用しないため、Virtuoso に依頼しfoaf:pageたのは、述語の位置にあるすべての可能なトリプルをクエリの残りの結果とクロス積することです。

これを次のように変更すると、正常に動作するはずです。

?film_link foaf:page ?wikipage

とにかくこれはあなたが書くつもりだったのではないかと思いますが、これはうまくいきますが、クエリがかなり広く、FILTER句の評価が非常に遅いことが多いため、まだかなり遅いです。

于 2011-12-20T00:05:29.940 に答える