TDB 建立:看了许多材料,大家都是直接把DataSet获得的DefaultModel来进行填充内容,但是一直出错,不知道为什么。。。所有我先把内容放入另一个Model中,之后将其加入到DefaultModel中。
//create the DataSet
Dataset dataSet=TDBFactory.createDataset("Name");
Model mainModel1=ModelFactory.createDefaultModel();
//to fill model
InputStream inFoafInstance = new FileInputStream("carontology0120101total-1280.rdf");
mainModel.read(inFoafInstance,null,"Turtle");
Model model=dataSet.getDefaultModel();
mainModel.union(mainModel1);
model.add(mainModel);
model.commit();
dataSet.close();
Location location =new Location("Name");
Model model2=TDBFactory.createModel(location);
//query String
String string=“select * where{...}”;
Query query = QueryFactory.create(string);
// Execute the query and obtain results
QueryExecution queryExecution = QueryExecutionFactory.create(query,model2);
ResultSet results = queryExecution.execSelect();
while(results.hasNext())
{
QuerySolution querySolution=results.nextSolution();
System.out.println(querySolution.get("变量名"));
}