2

D2R サーバーを使用して、約 130 万件のレコードを保持するデータベースを Rdfize しました。変換ではすべてがうまくいきましたが、SPARQL エンドポイントの速度は非常に遅く、ほとんどの場合、500 の不明なエラーが発生します。クエリ実行プロセスを高速化できるソリューションを探しています。例があります。dbpedia snorqlで確認してください。クエリを実行すると、数秒で結果が得られます。しかし、エンドポイントで同じ種類のクエリを実行しようとすると、結果が非​​常に遅くなり、ほとんどの場合エラーは発生しません (Java ヒープ タイプまたは不明な 500)。DBpedia snorql http://dbpedia.org/snorql . このクエリを試してください

SELECT カウント(*) WHERE { ?s ?p ?o }

私のsnorql http://cbakerlab.unbsj.ca:8080/liapibackup/snorql/

アドバイス/提案は大歓迎です。Ps サーバーには約 42 GB の RAM があるため、メモリは問題になりません。ありがとう

4

1 に答える 1

2

これは、D2R を使用しているためです。考えられるすべてのトリプルに一致するクエリを実行する場合、これはすべてのマッピングを解決する必要があることを意味します。これにより、大量の SQL (または使用しているリレーション データベース) クエリが発生します。

考えられる解決策は 2 つあります。

特定のクエリのみを実行し、制限を使用します。

SELECT ?s ?p ?o WHERE {
  ?s ?p ?o
} LIMIT 10

SELECT ?s WHERE {
  ?s a uysie:DocumentFigures
} LIMIT 100

または、d2r rdf-dump ツールを使用して、結果を rdf ストアに入れます

于 2013-11-01T06:48:40.567 に答える