鉴于this introduction表明使用命名模型比使用默认模型更好,我试图将命名模型添加到数据集中:
Dataset dataset = TDBFactory.createDataset("MyDataset");
System.out.println(dataset.containsNamedModel("MyNewModel"));
Model MyNewModel = ModelFactory.createDefaultModel();
dataset.begin(ReadWrite.WRITE);
dataset.addNamedModel("MyNewModel", MyNewModel);
dataset.commit();
System.out.println(dataset.containsNamedModel("MyNewModel"));
但是会返回
false
false
(所以显然没有添加模型!)。我查看了the docs,并且有一个createMethod(String name)
method。我尝试过使用它,但因为它在接口中,当我尝试实例化ModelMaker
(Cannot instantiate the type ModelMaker
)时,java会抱怨 - 并且文档没有显示哪个类实现了哪个接口。
这导致了几个问题:
createModel
方法?在更多verbose documentation中,它表示ModelFactory
包含方法createFileModelMaker(String)
- 但java docs
没有提及此方法,并且尝试调用它可预测导致{{1 }} <!/ LI>
醇>
答案 0 :(得分:1)
MyNewModel
为空,因此无需添加任何内容。 addNamedModel
表示将一个图的内容复制到数据集中的命名为。
在TDB中,命名图被保存为四边形(图形,主题,谓词,对象)。没有单独的图表管理。如果命名图没有四边形,则它不在数据集中。