4

我尝试修改本体模型的现有资源的 uri。我想创建一个新模型、新资源(包括新的所需 uri)并复制旧资源的内容。

通过迭代和添加语句不能正常工作。还有另一种解决方法吗?

我正在使用 java 和 RDF/XML 模型中的 jena。

4

3 回答 3

5

正如您所发现的,资源是不可变的。您可以使用ResourceUtils.renameResource(resource, newName). 这将通过您的模型删除提及旧资源的语句并添加新资源的等价物,这与您将要重命名一样接近。

例子:

Resource renamed = 
  ResourceUtils.renameResource(originalResource, "http://example.com/new");
于 2012-10-16T13:04:16.797 回答
2

使用ResourceUtils.renameResource(oldResource, newURI)。它为您完成所有三元组的迭代。

于 2012-10-16T13:05:29.050 回答
0

如果您在大型数据库上执行此操作,最好将数据库转储到 Turtle 或 N-Triples,运行文本更改脚本,然后重新加载数据库。

于 2016-05-22T09:46:57.420 回答