2017-02-02 23 views

回答

1

在Eclipse RDF4J中,Model是Java Collection(类似于SetList)。所以你可以使用标准的Java收集操作。要附加两个模型,只需执行:

model1.addAll(model2); 

请注意,此操作只附加语句。如果model2包含您希望复制的任何名称空间声明,则必须单独执行该操作。例如,有model2空间声明简单复制,在model1覆盖任何现有的宣言:

model2.getNamespaces().stream().forEach(model1::setNamespace); 

或者,如果你只是想对那些前缀这model1没有申报尚未复制:

model2.getNamespaces().stream() 
     .filter(ns -> !model1.getNamespace(ns.getPrefix()).isPresent()) 
     .forEach(model1::setNamespace);