http://dbpedia.org/page/FranceのようなDBPediaで国のプロファイルを照会し、言語のようなプロパティを取得するにはどうすればよいですか?
3 に答える
何を試したかは言わないので、最初から始めましょう。
DBpedia は、いわゆるリソースに関する情報のデータベースです。つまり、RDF トリプルとして保存されたウィキペディアの記事から派生した事実です。リソースは URI によって識別されます。DBpedia は、 と同じ形式http://dbpedia.org/resource/*
を使用します。*
*
http://en.wikipedia.org/wiki/*
したがって、DBpedia にはリソースhttp://dbpedia.org/resource/Franceに関する事実があります。このリソースをブラウザーで検索すると、http://dbpedia.org/page/Franceにリダイレクトされます。フランスという国はブラウザーに表示できませんが、フランスの説明は表示できるからです。
DBpediaが知っている事実の中には
<http://dbpedia.org/resource/France> <http://dbpedia.org/ontology/language> <http://dbpedia.org/resource/French_language>
これは基本的に「フランス[の]言語[は]フランス語です」と言っています。
この事実を API 経由で取得するには、標準の RDF クエリ言語とプロトコルSPARQLを使用できます。DBpedia に SPARQL クエリを送信するDBpedia SPARQL エンドポイントには、クエリを入力して送信できる Web フォームがあります。フランスで話されている言語を示す HTML テーブルのみが必要な場合は、フォームの設定をデフォルトのままにして、次を使用します。
select ?language ?languageName
where {
dbpedia:France dbpedia-owl:language ?language .
?language rdfs:label ?languageName .
}
これは、「フランスが言語として使用しているリソースと名前を教えてください」という意味です。
dbpedia:France
の略で<http://dbpedia.org/resource/France>
、 のdbpedia-owl:language
略です<http://dbpedia.org/ontology/language>
。
国とその国で話されている言語が必要な場合は、次を使用します。
select distinct ?country ?language
where {
?country a dbpedia-owl:Country .
?country dbpedia-owl:language ?language .
}
LIMIT 100
これは、「国であるリソースと、これらの国が言語として使用するリソースの組み合わせを 100 個ください」という意味です。
省略したニュアンスがありますが、これで始められるはずです。
@Bergiがコメントで指摘しているように、可能なオンラインアクセス方法のリストについてはhttp://wiki.dbpedia.org/OnlineAccessを参照してください。
彼らが何らかの API を提供しない限り、あなたの唯一の選択肢はページを「スクリーン スクレイピング」することです。つまり、curl (または他の方法) を使用してページをロードし、「dbpedia-owl:language」を検索して文字列を取得します。それは (dbpedia:French_language) に続き、それを解析して見栄えを良くします。