如何将Pandas DataFrame转换为RDF(资源描述框架)?

时间:2019-01-21 15:36:58

标签: python pandas rdf rdflib

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

1 个答案:

答案 0 :(得分:1)

较新版本的 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,因此您可以直接使用它作为灵感来创建您自己的转换逻辑。