當我在模型中創建資源並打印URI時,我得到了正確的名稱空間。例如,URI是Jena模型中RDF資源的URI
http://www.somesite1.com/rdfdump/resources/resourceid-1
然而,當我的資源導出爲RDF file (link to the file),我導入它,我得到的URI指向該文件在磁盤上的物理位置,如
file:///D:/somefolder/resources/resourceid-1
資源
我使用com.hp.hpl.jena.rdf.model.Model
與com.hp.hpl.jena.ontology.OntModel
一起使用。 RDF模型存儲資源,我使用OntModel
來定義一個本體。按以下方式初始化它們。
com.hp.hpl.jena.rdf.model.Model model = ModelFactory.createDefaultModel();
OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM, model);
NS = "http://www.somesite2.com/ontology"
BASE_URL = "http://www.somesite1.com/rdfdump/"
OntClass ocResource = ontModel.createClass(NS + "#RESOURCE");
//read an RDF file into the model
RDFDataMgr.read(model, file.toURI().toString());
這是我創建資源的方式。
String uri = BASE_URL + "resources/resourceid-1";
com.hp.hpl.jena.rdf.model.Resource rdfResource = model.createResource(uri, ocResource);
能不能請指出我哪裏是我錯了,爲什麼它說我沒有得到正確的URI,當我導入文件?
有一件事我注意到,如果我有兩個耶拿RDF模型和OntModel,即說http://www.somesite.com/...
,那麼我不能檢索模型中的資源使用
ocResource.listInstances()
相同的基本URL它給我0資源儘管有資源。
哪裏是將模型寫入磁盤的代碼?另外,請在問題中顯示(至少一個樣本)輸出結果;我們需要看到問題的數據是否合理。 –