我有一個本地版本的LinkedMDB,它是N-Triples格式並且想查詢它。現在,我想要使用Jena TDB,它可以存儲稍後可用於查詢的數據。我檢查了documentation for TDB Java API,但無法加載N-Triples文件,然後使用SPARQL進行查詢。我用下面的代碼:如何使用Jena TDB存儲本地版本的鏈接電影數據庫
String directory = "E:\\Applications\\tdb-0.8.9\\TDB-0.8.9\\bin\\tdb";
Dataset dataset = TDBFactory.createDataset(directory);
// assume we want the default model, or we could get a named model here
Model tdb = dataset.getDefaultModel();
// read the input file - only needs to be done once
String source = "E:\\Applications\\linkedmdb-18-05-2009-dump.nt";
FileManager.get().readModel(tdb, source, "N-TRIPLES");
,並得到下面的異常
Exception in thread "main" com.hp.hpl.jena.tdb.base.file.FileException: Not a directory: E:\Applications\tdb-0.8.9\TDB-0.8.9\bin\tdb
at com.hp.hpl.jena.tdb.base.file.Location.<init>(Location.java:83)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:79)
at tutorial.Temp.main(Temp.java:14)
如果E:\ Applications \ tdb-0.8.9 \ TDB-0.8.9 \ bin \ tdb目錄尚不存在,您必須先創建它。但是,您可能應該將數據存儲在TDB安裝位置以外的其他目錄(即與您的應用程序相關的某個目錄)中。例如,考慮下載未來版本的TDB時會發生什麼。 – 2011-04-13 09:40:06