gpt4 book ai didi

sparql - 将 Sesame 存储库复制到新存储库

转载 作者:行者123 更新时间:2023-12-05 05:25:24 24 4
gpt4 key购买 nike

我想将现有 Sesame 存储库中的所有数据复制到新存储库中。我需要迁移,以便在我的三重存储上使用 OWL 推理,这在内存存储库(我现有存储库的类型)中使用 OWLIM 是不可能的。

将所有三元组从存储库复制到新存储库的最有效方法是什么?

更新 1:

我很想知道为什么使用 SPARQL INSERT 不是一种有效的方法。我在新存储库的 SPARQL 更新部分下尝试了这段代码:

PREFIX : <http://dbpedia.org/resource/>
INSERT{?s ?p ?o}
WHERE
{
SERVICE <http://my.ip.ad.here:8080/openrdf-workbench/repositories/rep_name>
{
?s ?p ?o
}
}

我收到以下错误:

org.openrdf.query.UpdateExecutionException: org.openrdf.sail.SailException: org.openrdf.query.QueryEvaluationException:

这样查询是不是有错误或者数据不能插入?我使用类似结构的查询从 DBpedia 插入数据。

最佳答案

手动(工作台)

  1. 打开您要复制的存储库。
  2. 选择“导出”。
  3. 选择合适的导出格式(“TriG”或“BinaryRDF”是不错的选择,因为它们都保留上下文信息),然后点击“下载”按钮将数据导出保存到本地磁盘。
  4. 打开您要复制的存储库。
  5. 选择“添加”。
  6. 选择“选择包含您要上传的 RDF 数据的文件”
  7. 单击“浏览”在本地磁盘上查找数据导出文件。
  8. 确保选择“使用基本 URI 作为上下文标识符”。
  9. 点击“上传”,然后坐下来。

程序化

首先,打开两个存储库的RepositoryConnection:

RepositoryConnection source = sourceRepo.getConnection();
RepositoryConnection target = targetRepo.getConnection();

然后,从source中读取所有语句并立即插入到target中:

target.add(source.getStatements(null, null, null, true)); 

任何一种基本方法都应该适用于任何规模高达数百万个三元组的存储库。当然,对于更大的批量大小,还有许多更高级的方法。

关于sparql - 将 Sesame 存储库复制到新存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31284464/

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