1

すべての山についてウィキペディアからコンテンツを取得する必要があるとします。私の目標は、最初の段落と、それぞれの記事の画像を表示することです (例: Monte Rosa and Vincent Pyramid .

私は dbpedia について知るようになり、いくつかの調査により、wiki データベースへのライブ クエリを直接提供することがわかりました。

2 つの質問があります。

1 - クエリをどのように作成すればよいかわかりません。iSPARQLをいじることができません。次のクエリを試しましたが、無効な xml というエラーがスローされます。

SELECT DISTINCT ?Mountain FROM <http://dbpedia.org> WHERE {
  [] rdf:type ?Mountain 
}

2 - 私の要件は、少なくとも 1 つの画像がある山のみを表示することです (この画像も表示する必要があります)。上にリストしたものには画像がありますが、どうすれば確認できますか? また、両方の例を見ると、wiki 記事では多くのフィールドが異なっていることがわかります。そのため、将来の拡張のためにそれらを取得するのは非常に難しいかもしれません。

十分なデータや説明がないものは却下したいだけです。

存在する写真に基づいて山を除外するにはどうすればよいですか?

アップデート:

私の最初の問題を解決する私の修正されたクエリ:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT DISTINCT ?name ?description
WHERE {
?name rdf:type <http://dbpedia.org/ontology/Mountain>;
dbpedia-owl:abstract ?description .
}
4

1 に答える 1

3

また、 SPARQL エンドポイントを使用して dbpedia にクエリを実行することもできます(iSPARQL ほど派手ではありません)。作成するクエリについて詳しくは、DBpedia のデータセット ページをご覧ください。そこにある例は、ウィキペディアのカテゴリに基づいてページを選択する方法を示しています。ウィキペディアの山脈カテゴリのリソースを選択するには、次のクエリを使用できます。

select ?mountain where {
  ?mountain a dbpedia-owl:Mountain .
}

SPARQLの結果

これらのリンクの一部を入手したら、それらを Web ブラウザーで表示し、それらに関連付けられたデータを確認できます。たとえば、エベレスト山のページには多くのプロパティが表示されます。結果を画像のあるページに限定するには、dbpedia-owl:thumbnailプロパティに興味があるかもしれませんfoaf:depiction。導入段落については、おそらくdbpedia-owl:abstract. それらを使用して、以前からクエリを拡張できます。次のクエリは、抄録と描写を含む成層火山のカテゴリ内のものを検索します。StackOverflow は英語のサイトなので、抄録は英語のものに限定しています。

select * where {
  ?mountain a dbpedia-owl:Mountain ;
            dbpedia-owl:abstract ?abstract ;
            foaf:depiction ?depiction .
  FILTER(langMatches(lang(?abstract),"EN"))
}
LIMIT 10

SPARQLの結果

于 2013-05-23T18:50:50.140 に答える