2

動作する次のクエリがあります。

SELECT ?page ?lat ?long (bif:st_distance(?geo, bif:st_point(42.883, -72.8981)))
WHERE{
?m foaf:page ?page.
?m geo:geometry ?geo.
?m geo:lat ?lat.
?m geo:long ?long.
FILTER (bif:st_intersects (?geo, bif:st_point(42.883, -72.8981), 300))
}
ORDER BY ASC 4 LIMIT 5

ただし、結果セットからも情報を取得したいと思います。特に、上記の 5 つの結果のそれぞれからhttp://dbpedia.org/ontology/abstract ?abstract コンテンツを取得します。

また、上記の結果セットに「アトラクション」または「観光」のタグを指定することはできますか? つまり、結果セットには、上記の地域の「観光」関連の結果のみが含まれている可能性があります。

私は遊んでいます: ?txt bif:contains "Tourism" 。運がない。

事前に感謝します。

4

1 に答える 1

1

プロパティを追加し、dbo:abstract英語の値のみをフィルタリングします (同じエンティティに対して異なる言語で複数の要約を取得しないようにするため):

SELECT ?page ?lat ?long (bif:st_distance(?geo, bif:st_point(42.883, -72.8981))) ?abstract
WHERE{
  ?m foaf:page ?page.
  ?m geo:geometry ?geo.
  ?m geo:lat ?lat.
  ?m geo:long ?long.
  ?m <http://dbpedia.org/ontology/abstract> ?abstract.
  FILTER (bif:st_intersects (?geo, bif:st_point(42.883, -72.8981), 300))
  FILTER (LANG(?abstract) = "en")
}
ORDER BY ASC 4 LIMIT 5

タグ付けに関しては本当に助かりません。

于 2012-03-26T23:38:32.917 に答える