dbpedia使い方 ほしい情報を絞り込み |python

wikipediaから上手に情報抽出する方法

DBPedia からの情報抽出

 

dbpediaとは

DBpediaは、wikipediaの情報を構造化データ(RDF)で構成されている
実際の抽出についてはSQLの代わりに、下記のページでsparqlを使用する
http://ja.dbpedia.org/sparql

**SQLとの違いは、 RDFの構造化データの抽出のためカラムの構成からデータまですべてURIで設定されている。

ex) Sparqlの例文

上記を公式ページ http://ja.dbpedia.org/sparql のクエリエディタで実行すると

後述のラッパー等使用して、スクリプトでapiを使用するとjson形式にて結果が返ってきます。

dbpedia 攻略のコツ

上記のSparqlのクエリ文の組み立て方のコツ。
解説文になりますが、 一番混乱する原因はこれでした。
[可変するカラムへのクエリの組み立て]
select文にて指定した*アスタリスクが返すカラムは、 where句内で指定したものになります。

というわけで、絞り込みに使えるカテゴリ、label等を記述後、
連結して、ほしい情報部分を記述すればいいわけです。

では、上記のクエリから[しまじろう]のページからしまじろうの概要文を抽出してみます。

手順、まず概要を示すURIを探します。

ブラウザでhttp://ja.dbpedia.org/resource/ガリガリ君を開きます。
リダイレクトされてhttp://ja.dbpedia.org/page/ガリガリ君が開きます。概要分に当たる部分がdbpedia-owl:abstractであることがわかります。 さらにクリックしてURIの表記がhttp://dbpedia.org/ontology/abstractであることがわかります。 これを追加のクエリとして記入していきます。

最初のクエリの文章の 中括弧内の
<http://ja.dbpedia.org/resource/ガリガリ君> rdfs:label ?label.
最後をピリオド[.]から、セミコロン[;]へ書き換えます。(where内の最後はピリオド、続けて述語、目的語を記入するにはセミコロンを記述します)
先程の概要部分を <>で囲って述語<http://dbpedia.org/ontology/abstract> 最後に?oとします。 ?o
これで、?oのカラム部分に概要部分が格納されます。

今回使用した言語
python
使用したラッパー
https://github.com/RDFLib/sparqlwrapper

参考サイト
https://hironsan.hatenablog.com/entry/python-dbpedia-sparql

koo

Java,PHP,Ruby,android,ios,C#,C++,python,vba,unity,sqlなんでも手を出しては挫折する系。電子工作はじめました。

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です