> 데이터 베이스 > MySQL 튜토리얼 > 【Sesame】查询与修改数据

【Sesame】查询与修改数据

WBOY
풀어 주다: 2016-06-07 15:28:37
원래의
1379명이 탐색했습니다.

Sesame数据库利用Java API查询数据与修改数据。 1. 查询数据 获取查询数据(通过SPARQL) public static void testQuery() {try { RepositoryConnection con = repo.getConnection(); try { String queryString = PREFIX rk:http://rk.com/test/ + SELECT ?s

Sesame数据库利用Java API查询数据与修改数据。

1. 查询数据

获取查询数据(通过SPARQL)
	public static void testQuery() {
		try {
			   RepositoryConnection con = repo.getConnection();
			   try {
				  String queryString = "PREFIX rk:<http://rk.com/test/> " +
				  		"SELECT ?s ?o " +
				  		"WHERE { " +
				  		"?s rk:type rk:CreativeWork ." +
				  		"?s ?p ?o ." +
				  		"} ";
				  TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
				  long startTime = System.currentTimeMillis();
				  TupleQueryResult result = tupleQuery.evaluate();
				  long secondTime = System.currentTimeMillis();
				  
				  List<String> bindingNames = result.getBindingNames(); //get the name of binded variables
				  while (result.hasNext()) {
				     BindingSet bindingSet = result.next();
				     Value firstValue = bindingSet.getValue("s"); //bindingSet.getValue(bindingNames.get(0));
				     Value secondValue = bindingSet.getValue("o"); //bindingSet.getValue(bindingNames.get(1));
				     System.out.println(firstValue);
				     System.out.println(secondValue);
				     // do something interesting with the values here...
				  }
				  long endTime = System.currentTimeMillis();
				  System.out.println("evaluation time = "+(secondTime-startTime));
				  System.out.println("fetch time = "+(endTime-secondTime));
			   }
			   finally {
			      con.close();
			   }
			}
			catch (OpenRDFException e) {
			    // handle exception
				e.printStackTrace();
			}
	}
로그인 후 복사

2. 修改数据

	public static void updateQuery() {
		String updateQuery = "PREFIX rk:<http://rk.com/test/> " +
				"DELETE { " +
				"?creativeWork rk:type ?type ." +
				"} " +
				"INSERT { " +
				"?creativeWork rk:type ?typeUri ." +
				"} " +
				"WHERE { " +
				"?creativeWork rk:type ?type ." +
				"BIND( URI(?type) AS ?typeUri ) " +
				"} ";
		RepositoryConnection conn;
		try {
			conn = repo.getConnection();
			Update update = conn.prepareUpdate(QueryLanguage.SPARQL, updateQuery);
			update.execute();
			conn.commit();
			conn.close();
		} catch (RepositoryException e) {
			e.printStackTrace();
		} catch (MalformedQueryException e) {
			e.printStackTrace();
		} catch (UpdateExecutionException e) {
			e.printStackTrace();
		}
		
	}
로그인 후 복사

具体SPARQL语言可以参考书籍《Learning SPARQL》。
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿