python - 如何使用 Python 中的 RDFLIB 库从 pandas 数据帧创建知识图

标签 python pandas owl rdflib knowledge-graph

我有一个 df,我需要使用 Python 中的 RDFlib 库创建知识图。 这样我就可以在Protege、Webowl等各种可视化工具中可视化创建的知识图。如何做到这一点? enter image description here

最佳答案

这是我基于 this answer 的方法。另请参阅this notebook用于输出。


import pandas as pd
from rdflib import Graph, URIRef, Namespace

d = {
    "source": pd.Series(["Edwin", "Reema", "Ron", "Tomorrow"]),
    "target": pd.Series(["football", "karate", "singer", "holiday"]),
    "edge": pd.Series(["plays", "plays", "is", "is"]),
}

df = pd.DataFrame(d)

g = Graph()
n = Namespace('http://example.org/foo/')

for inded, row in df.iterrows():
    # add triple to rdf-graph
    g.add((URIRef(n+row["source"]), URIRef(n+row["edge"]), URIRef(n+row["target"])))

print(g.serialize(format='turtle'))

通过一些额外的可视化代码(基于 https://stackoverflow.com/a/61483971/333403 ),您将得到: visualization of rdf graph

关于python - 如何使用 Python 中的 RDFLIB 库从 pandas 数据帧创建知识图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70875222/

相关文章:

uml - 软件工程过程中OWL和UML有什么区别

python - 如何创建具有可调参数的 numba 可调用对象?

python - 为什么使用列表推导式创建元组列表需要括号?

python - 优化 groupby 聚合 pandas

java - 从文件名生成唯一的 IRI

rdf - 如何在 Sparql 中查询具有对象属性的类

Python 脚本作为子进程调用时无法导入已安装的模块

python - 不支持身份验证插件 'caching_sha2_password'

python - 将时间序列组合成具有不同时间实例的单个图

python - 如何绘制 DataFrame 中包含的特定日期的时间序列数据,可能会产生单个记录