2
在Apache Jena中,例如,只需調用model1.add(model2)
就可以將一個模型追加到另一個模型。如何在RDF4J(以前稱爲芝麻)中合併兩個或更多模型?
如果您將模型解釋爲一組語句,RDF4J也可以這樣做嗎?
在Apache Jena中,例如,只需調用model1.add(model2)
就可以將一個模型追加到另一個模型。如何在RDF4J(以前稱爲芝麻)中合併兩個或更多模型?
如果您將模型解釋爲一組語句,RDF4J也可以這樣做嗎?
在Eclipse RDF4J中,Model是Java Collection(類似於Set
或List
)。所以你可以使用標準的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);