gpt4 book ai didi

python - 在 rdflib 中批量编辑三元组的主题

转载 作者:太空宇宙 更新时间:2023-11-04 03:14:20 25 4
gpt4 key购买 nike

我通过使用 rdflib-jsonld 解析数据库中的记录来创建 rdflib 图。但是,三元组的主题在 url 中缺少 /。要添加它,我使用以下代码:

for s,p,o in graph1:
print 'parsing to graph2. next step - run query on graph2'
pprint.pprint((s,p,o))
s = str(s)
s1 =s.replace('https:/w','https://w')
s = URIRef(s1)
graph2.add((s,p,o))

由于图中有大量的三元组,此步骤需要很长时间(几个小时)才能运行。我怎样才能减少花费的时间?与其遍历每个元素,不如如何批量更改主题?

最佳答案

首先,要进行适当的时间测量,请删除与替换本身无关的任何内容,特别是普通打印和精美打印,您不需要它们。如果您需要一些进度指示器,请每 N 步将一条短消息(例如一个点)写入日志文件。

避免内存过度消耗。我不知道你的图在内部看起来如何,但最好就地进行替换,而不创建并行图结构。在此过程中检查内存使用情况,如果程序用完可用 RAM,您就有麻烦了,所有进程都会减慢速度。如果您无法修改现有图形并且内存不足,出于测量目的,只需避免创建第二个图形,即使这样的替换丢失并因此无用也是如此。

如果没有任何帮助,请退后一步。您可以在尚未使用 python re 解析文件或使用专用于批处理文本的文本工具(如 sed)时在某个阶段执行替换处理。

关于python - 在 rdflib 中批量编辑三元组的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com