実現したいこと
- Turtle形式のファイルをrdflib(ライブラリ)を用いずに目的語だけを取り出したい
- 目的語の中のリテラルのみを取り出したい
前提
PythonでTurtle形式のデータを処理するコードを書いています。
rdflibというライブラリを用いればsparqlで主語・述語・目的語を取り出すことができるのですが、rdflibはすべてのデータを読み込んでから処理を行うという特性上、メモリの制限からデータを1行ずつ読み込みながら処理を行うという手法を作ろうとしています。
open()を用いてファイルをオープンしfor文で処理を行っているのですが、目的語だけを取り出す処理がうまく書けません。
最終的には目的語の中のリテラルだけを取り出したいと考えています。
発生している問題・エラーメッセージ
主語・述語・目的語を指定して取り出すという処理が手についていません。
リテラルか否かを判別する方法についてもわかっていません。
該当のソースコード
Python
1path = "/home/code/labels.ttl" 2 3f = open(path) 4 5for row in f: 6 print(row)
試したこと
print(row[0])のような形にしても、単に文字列として認識するため、1文字目が表示されてしまいました。
データによって変わるので、文字数での処理はできません。
補足情報(FW/ツールのバージョンなど)
処理対象のデータ例は以下の通りです。
2つのトリプルを示しています。
<http://ja.dbpedia.org/resource/%22愛しい人よ%22Good_Night... ><http://www.w3.org/2000/01/rdf-schema#label> ""愛しい人よ"Good Night..."@ja .
<http://ja.dbpedia.org/resource/%22文学少女%22と死にたがりの道化 ><http://www.w3.org/2000/01/rdf-schema#label >""文学少女"と死にたがりの道化"@ja .

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。