Jena TDB

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();

TDB 查询:这里是使用Model来进行查询,也可以获取DataSet来进行,首先利用TDBFactory获取Dataset:dataset=TDBFactory.createDataset("Name");
之后执行查询:QueryExecution queryExecution=QueryExecutionFactory.create(queryString,DataSet);后面的操作就一样了。。。
                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("变量名"));
		}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值