首页 > 解决方案 > 如何将 Pandas DataFrame 转换为 RDF(资源描述框架)?

问题描述

我正在寻找在 Python 中将 Pandas DataFrames 转换为 RDF 数据的方法。我知道以下 Python 模块(我知道如何使用 Google!),但它们对我不起作用: rdfpandas pandasrdf 两者似乎都不成熟。我两个都有问题。在 rdfpandas 的情况下,我无法安装,并且没有示例且文档不足。对于 pandasrdf,该示例不起作用并崩溃。我可以修复它,但是 RDF 文件的三元组为零,所以结果没有用。我宁愿不必将数据写到一些我以后必须注入的中间数据文件中。我猜 Pandas->numpy->RDF 没问题。有没有人有一个将 Pandas DataFrame 转换为 RDF 的工作示例,其中一种常见的序列化格式不涉及手工黑魔法包安装?

标签: pythonpandasrdfrdflib

解决方案


更新版本的 RdfPandas 已经发布,因此您可以尝试一下,看看它是否涵盖了您的用例:https ://rdfpandas.readthedocs.io/en/1.0.0/

基于https://github.com/cadmiumkitty/capability-models/blob/master/notebooks/investment_management_capabilities.csv的示例如下

import pandas as pd
import rdfpandas

df = pd.read_csv('investment_management_capabilities.csv', index_col = '@id', keep_default_na = True)
g = rdfpandas.to_graph(df)
ttl = g.serialize(format = 'turtle')
with open('investment_management_capabilities.ttl', 'wb') as file:
   file.write(ttl)

进行转换的代码非常少,在这里(只需查看 to_graph 方法)https://github.com/cadmiumkitty/rdfpandas/blob/master/rdfpandas/graph.py,因此您可以直接将其用作创建自己的转换逻辑的灵感。


推荐阅读