Есть ли способ переопределить метод по умолчанию для создания анонимных идентификаторов узлов Jena?Создание идентификаторов Jena Bnode
В идеале я хотел бы передать Jena функтору, который будет генерировать идентификаторы, чтобы я мог сделать их глобально уникальными (а не просто уникальными для машины). Функтор следует использовать при создании AnonId.
public interface IdGenerator {
public String createId() {
// create a globally unique ID
...
return uid;
}
}
Это несколько связано с my previous question.
Редактировать: Я понимаю, что AnonId имеет конструктор, который принимает параметр id. Я надеюсь избежать использования этого конструктора повсюду, а вместо этого просто скажу Йене (однажды), как генерировать идентификаторы.
Редактировать 2: Даже если я не возражал против вызова этого конструктора повсюду, это может быть невозможно, поскольку анонимные узлы могут быть созданы с помощью кода библиотеки, к которому у меня нет доступа.
Почему вы хотите это сделать? Если вы действительно хотите это сделать, почему бы не пройти весь путь и не дать URI узлов (что упрощает их глобальное единство)? – DNA
@DNA. Мой конкретный случай использования имел отношение к синхронизации моделей на разных машинах (см. [Этот вопрос] (http://stackoverflow.com/questions/727449/synchronizing-jena-ontmodels-with-bnodes)). Мне нужно было убедиться, что анонимные узлы, созданные на разных машинах, будут иметь разные идентификаторы. –