2

クエリの最終結果にとってエンドポイントがそれほど重要なのはなぜですか。

このクエリの場合:


SELECT ?episode,?chalkboard_gag WHERE {
  ?episode skos:subject 
    http://dbpedia.org/resource/Category:The_Simpsons_episodes%2C_season_12.
  ?episode dbpedia2:blackboard ?chalkboard_gag
}

エンドポイント「OpenLink Virtuoso SPARQL プロトコル」は 1 件の結果を返します。
" http://dbpedia.org/snorql " (" http://dbpedia.org/sparql "、私は jena も使用しています) は 4 つの結果を生成します。これは、4 つのエピソードだけで黒板情報が作成されているため、正しい結果です。

なぜ違いがあるのですか?

4

1 に答える 1

1

最初のエンドポイントはhttp://lod.openlinksw.com/sparqlですか? それと http://dbpedia.org/sparqlの間で異なる結果は見られません。たとえば、このクエリは、あなたのものを拡張すると、両方のエンドポイントから同じものを返すようです (実際にそれらが実際に異なるサーバーである場合、私にはわかりません)。

prefix skos: <http://www.w3.org/2004/02/skos/core#>
prefix category: <http://dbpedia.org/resource/Category:>
prefix dbpedia2: <http://dbpedia.org/property/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT DISTINCT ?airdate ?chalkboard_gag ?episode
WHERE {
  ?episode skos:subject ?cat .
  ?cat skos:broader category:The_Simpsons_episodes .
  ?episode dbpedia2:airdate ?airdate .
  ?episode dbpedia2:blackboard ?chalkboard_gag .
  FILTER langMatches( lang(?chalkboard_gag), 'en') .
  FILTER xsd:dateTime(?airdate)
}
ORDER BY ?airdate

私が知っていることの 1 つは、異なる結果を生成することであり、クエリのタイムアウトです。Virtuoso は、クエリが一定時間実行された後にクエリを切断することができます。また、さまざまなエンドポイントを試したときにさまざまな負荷がかかっていたり、さまざまなタイムアウトで構成されていたりする可能性があります。


 
このデータがNeedleにあり、SPARQL ではなく Thread でクエリを実行した場合、このクエリは次のように単純になります。

Episode:(.Subject:<~The Simpsons)^Airdate|Airdate,Blackboard

Needle を除いて、一般的な SKOS サブジェクト/より広い抽象化のレベルに依存するのではなく、実際には TV 番組のように TV 番組をモデル化するので、実際には次のようになる可能性があります。

Show:=The Simpsons.Season.Episode|Airdate,Blackboard
于 2010-06-02T14:43:33.807 に答える