是否有一种方法可以覆盖Jena生成匿名节点ID的默认方法?
理想情况下,我希望传递给Jena一个函数,它将生成I,以便使它们在全局上是唯一的(而不仅仅是机器上唯一的)。在构造AnonId时,应使用函子。
public interface IdGenerator {
public String createId() {
// create a globally unique ID
...
return uid;
}
}这在某种程度上与my previous question有关。
编辑:我知道AnonId有一个接受id参数的构造函数。我希望避免在所有地方调用这个构造函数,而只是告诉Jena (一次)如何生成ID。
编辑2:即使我不介意在各地调用该构造函数,也可能不可能,因为匿名节点可能是由我无法访问的库代码创建的。
发布于 2010-06-05 12:41:19
耶拿没有任何钩子插入一个不同的AnonId生成器。AnonId的创建也不是集中在一个地方,因此也没有一种简单的方法来强制使用new AnonId(String)。实现目标的最佳方法是修补AnonId源代码,这是非常简单的。
FWIW,AnonId代码已经有两种不同的方法来生成ID,因此将其抽象到Jena代码库可能是一个合理的想法。
https://stackoverflow.com/questions/728025
复制相似问题