Использование Jena для десериализации RDF, содержащего пустые узлы, приводит к получению уникальных идентификаторов для этих узлов каждый раз при десериализации одного и того же RDF. Если один и тот же RDF несколько раз десериализуется и объединяется, пустые узлы дублируются. Есть ли способ избежать или удалить дублирование?
static final String RDF =
"<http://www.foo.com/subject>" +
"<http://www.foo.com/predicate>" +
"[ a <http://www.foo.com/bar> , <http://www.foo.com/baz> ] .";
public static void main(String... args) {
Model m1 = ModelFactory.createDefaultModel().read(new StringReader(RDF), null, "ttl");
Model m2 = ModelFactory.createDefaultModel().read(new StringReader(RDF), null, "ttl");
Model m3 = m1.union(m2);
RDFDataMgr.write(System.out, m3, Lang.TURTLE);
}
//<http://www.foo.com/subject>
// <http://www.foo.com/predicate> [ a <http://www.foo.com/bar> , <http://www.foo.com/baz> ] ;
// <http://www.foo.com/predicate> [ a <http://www.foo.com/bar> , <http://www.foo.com/baz> ] .
Этот надуманный пример немного глуп, но учтите, что я пытаюсь объединить RDF-файлы, которые могут быть, а могут и не быть идентичными.