👋

「ARC2によるRDFグラフの視覚化」をPythonで利用する

2024/06/07に公開

概要

神崎正英氏が公開する「ARC2によるRDFグラフの視覚化」をPythonで利用させていただく機会がありましたので、備忘録です。

「ARC2によるRDFグラフの視覚化」の公開ページは以下です。

https://www.kanzaki.com/works/2009/pub/graph-draw

Turtle、RDF/XML、JSON-LD、TriGもしくはMicrodataで記述したRDFを入力として、可視化結果をpngやsvgファイルで取得することができます。

Pythonでの利用例

import requests

text = "@prefix ns1: <http://example.org/propery/> .\n\n<http://example.org/bbb> ns1:aaa \"ccc\" ."

output_path = "./graph.png"

# POSTリクエストに必要なデータ
url = "https://www.kanzaki.com/works/2009/pub/graph-draw"

data = {
    "RDF": text,
    "rtype": "turtle",
    "gtype": "png",
    "rankdir": "lr",
    "qname": "on",
}

# POSTリクエストを送信
response = requests.post(url, data=data)

# 応答がPNG画像でない場合、内容を確認
if response.headers['Content-Type'] != 'image/png':
    print("応答はPNG画像ではありません。内容を表示します:")
    # print(response.text[:500])  # 最初の500文字を表示 # [:500]
else:
    os.makedirs(os.path.dirname(output_path), exist_ok=True)
    # 応答をPNGファイルとして保存
    with open(output_path, 'wb') as f:
        f.write(response.content)

まとめ

RDFデータの可視化にあたり、参考になりましたら幸いです。

Discussion