【发布时间】:2009-04-07 23:48:00
【问题描述】:
有没有办法覆盖 Jena 生成匿名节点 ID 的默认方法?
理想情况下,我想向 Jena 传递一个能生成 ID 的函子,这样我就可以使它们全局唯一(而不仅仅是机器唯一)。构造 AnonId 时应使用仿函数。
public interface IdGenerator {
public String createId() {
// create a globally unique ID
...
return uid;
}
}
这和my previous question有点关系。
编辑:我意识到 AnonId 有一个带有 id 参数的构造函数。我希望避免到处调用这个构造函数,而是简单地告诉 Jena(一次)如何生成 ID。
编辑 2:即使我不介意到处调用该构造函数,这也可能是不可能的,因为匿名节点可能是由我无权访问的库代码创建的.
【问题讨论】:
-
为什么要这样做?如果您确实想这样做,为什么不一直这样做并提供节点 URI(这样更容易确保它们在全球范围内是唯一的)?
-
@DNA 我的具体用例与跨不同机器同步模型有关(请参阅this question)。我需要确保在不同机器上创建的匿名节点具有不同的 ID。