目前,我们正在使用Virtuoso来存储RDF三元组。我们想要一种自动方式将RDF文件加载到数据库。数据可能非常大,因此目前我们依靠Virtuoso bulk data loader来加载数据;但是,未来我们可能会切换到其他三重存储,所以我不想依赖于这样的平台特定解决方案。是否有更通用的跨平台方式将大型RDF文件加载到三重存储中?
我们的大多数编程都是用Python完成的,因此最好使用Python绑定的解决方案。
我是语义网络技术的新手,所以如果我的问题不够详细,请告诉我,我会尝试提供更多信息。谢谢!
答案 0 :(得分:1)
http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFInsert详细介绍了许多Virtuoso RDF插入方法,其中大部分都是Virtuoso特有的,部分原因在于像WebDAV& Sirt等Virtuoso所特有的功能。 ODS或功能在其他商店中实现不同或根本不实现。
在您的情况下,最通用的方法可能是将数据集读入Python并使用SPARQL 1.1更新(http://www.w3.org/TR/sparql11-update/)命令将数据插入/加载到Virtuoso或支持SPARQL 1.1更新的任何其他三重存储中,我想大多数人现在会这样做。这种方法的主要缺点是必须在Python中管理插入过程,以确保数据被一致地加载,处理死锁,回滚等,这将使这种方法更慢,并且对于非常大的数据集可能是不可忍受的。这就是为什么大多数供应商提供他们自己的“批量加载器”方法,其中数据一致性和死锁等在内部处理得更快。