Jena/Fuseki ストアに小さなグラフがあり、CONSTRUCT 経由で rdflib/SPARQLWrapper を使用してクエリを実行し、必要なすべての情報を含む小さなグラフを作成します。
結果のグラフは、合計で 56 個のトリプルを持つ RDFLib グラフです。Jena のログを見ると、グラフを作成するためのクエリに数ミリ秒以上かかることはありません。
このグラフでさらにクエリを実行すると、最初のクエリは非常に遅くなります。たとえば、この単純な SELECT:
SELECT DISTINCT ?o
WHERE {
?f threems:predicate ?o .
}
1秒以上かかります。後続の同様のクエリは、これの一部を使用します... rdflib.objects()
メソッドを試しましたが、同じパフォーマンスでした。
1 秒は大したことではありませんが、この小さなグラフをリクエストの範囲内で数回使用する必要があることを考えると、喜んで削除します。
クエリが関連しているとは思わないため、これを最適化する方法がわかりません。プリロードまたは解析に関係している場合、ここでのボトルネックは明らかではありません。多分誰かがアイデア/提案を持っていますか?