簡體   English   中英

在耶拿創建命名模型

[英]Creating a named model in Jena

鑒於此介紹指出使用命名模型比使用默認模型更好的做法,因此我嘗試將命名模型添加到數據集:

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

(因此顯然不添加模型!)。 我看了看文檔 ,有一個createMethod(String name) method 我嘗試使用此方法,但是因為它在接口中,所以當我嘗試實例化ModelMaker時Java會抱怨( Cannot instantiate the type ModelMakerModelMaker Cannot instantiate the type ModelMaker )-並且文檔未顯示哪個類實現了哪個接口。

這導致了兩個問題:

  1. 實際上是在數據集中使用命名模型而不是默認模型的最佳實踐嗎?
  2. 如何調用createModel方法? 在更詳細的文檔中,它說ModelFactory包含方法createFileModelMaker(String) -但是java docs未提及此方法,並且可預期地調用它會導致The method createFileModelMaker(String) is undefined for the type ModelFactory

MyNewModel為空,因此沒有要添加的內容。 addNamedModel意味着將一個圖的內容復制到數據集中的一個命名為on的位置。

在TDB中,一個命名的圖被保存為四邊形(圖,主題,謂詞,賓語)。 沒有單獨的圖形管理。 如果命名圖沒有四邊形,則它不在數據集中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM