首页 > 解决方案 > RDFlib 解析大乌龟文件内存错误

问题描述

我正在尝试借助 Python 中的 rdflib 解析 1,4 Gb 的大型 .ttl 文件并出现内存错误。我已经尝试在 rdflib 中打开三重存储g.open("store", create=True),但是解析永远不会结束。

import rdflib
from rdflib import Graph, Literal, Namespace, URIRef, BNode
from rdflib.namespace import OWL, RDF, RDFS, XSD, SKOS


g = rdflib.Graph()
g.open("store", create=True)
g.parse("C:/Users/tim/Desktop/MEDCT.ttl", format='ttl')

这是在 rdflib 中打开本地三重商店的正确方法还是缺少某些东西?

我知道对于如此大的 .ttl 文件,建议将Raptor 与 Redland Python Bindings一起使用,但我什至无法在 Python 中安装和导入这个 RDF 库,因为它根本找不到。

您能分享一下您是如何解析大型海龟文件的经验吗?

标签: pythonparsingrdflibturtle-rdf

解决方案


这是一个具有 Python3 + Redland 的 docker 镜像。我们在生产中使用它,这是一个使用它的例子。

对于大文件,最好使用 StarDog、GarphDB、Virtuoso 等三重存储。


推荐阅读