- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Parse large RDF in Python 中的代码解析一个相当大的 NTriples 文件
我为 python 安装了 raptor 和 redland-bindings。
import RDF
parser=RDF.Parser(name="ntriples") #as name for parser you can use ntriples, turtle, rdfxml, ...
model=RDF.Model()
stream=parser.parse_into_model(model,"file:./mybigfile.nt")
for triple in model:
print triple.subject, triple.predicate, triple.object
但是程序挂起,我怀疑它正在尝试将整个文件加载到内存或其他东西中,因为它没有立即启动。
有人知道怎么解决吗?
最佳答案
它很慢,因为您正在读入没有索引的内存存储(默认为 RDF.Model())。所以它变得越来越慢。 N-Triples 的解析确实从文件中流出,它永远不会将其全部吸入内存。
参见 Redland storage modules documentation有关存储模型的概述。在这里你可能想要存储type
'hashes' 和hash-type
内存。
s = RDF.HashStorage("abc", options="hash-type='memory'")
model = RDF.Model(s)
(未测试)
关于python - 解析大型 NTriples 文件 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14597122/
我的项目的一部分是在 ntriples 中索引 s-p-o,我需要一些帮助来弄清楚如何通过 Java(或其他语言,如果可能的话)来准确地做到这一点。 问题陈述:我们有大约 10 个扩展名为“. ntr
我正在尝试使用 Parse large RDF in Python 中的代码解析一个相当大的 NTriples 文件 我为 python 安装了 raptor 和 redland-bindings。
我在我的项目中使用 Dbpedia,我想创建一个本地 sparql 端点,因为在线端点不可靠。我下载了数据转储(大型 NT 文件)并决定使用 Jena TDB。使用 NetBeans IDE,我使用输
在this endpoint 有一个选项可以获取 N-triples 格式的查询结果。我想在连接到端点时对 rdf4j 库执行相同的操作,并将结果保存在 ntriples 格式的文件中。 到目前为止,
我一直在尝试使用 raptor2 C 库解析一些 RDF/XML 文件。此示例代码将读取 NTriples 文件并打印它,但不会读取 RDF/XML。 来自 the raptor tutorial :
我是一名优秀的程序员,十分优秀!