上記日本語WikipediaオントロジーのデータをPythonから弄くり回したかったのでrdflibを使いました。最終的にはファイルサイズが大きすぎて直接的な使用を断念したのですが......。データの検索部分のみ備忘録的に軽くメモ。rdfへの要素追加等の操作は特に使用していないので書きません。インストールインストールはpipから。Graph()g.parse('jwo_instance_rdf.rdf')グラフの種類は何種類かあるみたいだけれども、とりあえず標準スタイルで。parseメソッドで読み込むrdfのパスを指定。loadというメソッドも用意されているようだけど、リファレンスに記述が無いのでparseとの違いはよくわからない。検索では、取得したいデータによっていくつかの異なるメソッドが用意されている。原則としてはどれも同じような使い方をする。subject,predicate,objectの全てが欲しい場合はtriplesメソッドを使用する。rdflib内に定数が用意されているため、それらを適宜インポートしながら検索条件を指定する。o)検索条件を指定したい項目のみ引数に値を入れ、他はNoneを指定する。上記例はsubject,objectは指定無しで、predicateがRDFのtype(http://www.w3.org/1999/02/22-rdf-syntax-ns#type)であるものを条件としている。引数はsubject,predicate,objectの順にtupleで指定。subject_objects)と、いくつかの検索メソッドが用意されている。subjectにURIを指定したい場合や、objectに文字を指定したい場合は下記のようにする。o)また、独自のpredicateがrdfデータ内で使用されている場合などは、Namespaceの利用が効率的なようである。例として、最初に提示した日本語Wikipediaオントロジーで定義されているjwoでの検索を試してみる。print(o)このようにすると、subjectがhttp://www.wikipediaontology.org/instance/ファイナルファンタジーで、predicateがjwo:hyperの要素が抽出される。結果はhttp://www.wikipediaontology.org/class/『ファイナルファンタジー』となる。まとめrdfの仕組み等を理解していれば容易に利用できるようになっていると思われる。個人的には、今回初めてrdfデータを扱ったため、最初は勝手がよくわからなかった。利用してみて、非常に便利な形式だなあと感じた次第。今回は使わなかったが、rdfの生成の方でも利便性が高そうなので、機会があればまた触ってみようと思う。Meスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。