2014-02-17 42 views
-1

我想簡單地問一下,如果有人知道java中的庫函數將字符串轉換爲SPARQL URI。 我剛發現org.openrdf.ValueFactory,但是這個函數需要有一個連接(Repository) 參數和我不能這樣做,因爲需要很多時間。我需要一個函數來刪除特殊字符,unicode(全部替換(「\ P {Print}」))...以在SPARQL更新中插入字符串作爲URI,請求或查詢;類似於* .string_To_URI(String string_URI); 謝謝你失去的時間,祝你有美好的一天。將字符串強制轉換爲sparql URI

回答

1

您可以使用Java URL或URI類來創建URI。如果URI無效,它會引發異常。

您應該查看JENA庫以創建SPARQL查詢。 (http://jena.apache.org/documentation/javadoc/arq/com/hp/hpl/jena/query/ParameterizedSparqlString.html

例如,你可以創建一個SPARQL查詢是這樣的:

public static String getAllTriplesOfContext(URL context) throws IOException { 

      String query = new String("SELECT ?x ?y ?z \n" + "FROM ?context \n" 
          + "WHERE {?x ?y ?z}"); 

      ParameterizedSparqlString queryString = new ParameterizedSparqlString(
          query); 

      queryString.setIri("?context", context); 

      return queryString.toString(); 

    } 
+0

非常感謝mr.hibe有一個愉快的一天! –

+1

org.apache.commons.httpclient.util.URIUtil.encodeQuery()我認爲是最好的方法 –