2016-05-21 34 views
0

我在Jena模型中加載了本體。在Jena代碼中,在創建模型並加載本體之後,我想要對本體運行多個Sparql查詢。 所以在main()方法中,我將創建模型並讀取本體,然後如何運行多個查詢。 我會爲每個sparql查詢有一個單獨的方法()嗎? 請引導我如何模塊化代碼?如何在不同的方法中分離Jena模型和SPARQL查詢()

關於

回答

0

您可以簡單地使方法接受模型作爲參數,然後傳遞生成的模型。例如:

 public static void execQ(String queryString, Model model) { 
    Query query = QueryFactory.create(queryString); 
    try (QueryExecution qexec = QueryExecutionFactory.create(query, model)) { 
     ResultSet results = qexec.execSelect(); 
     for (; results.hasNext();) { 
      QuerySolution soln = results.nextSolution(); 
      RDFNode x = soln.get("varName"); // Get a result variable by name. 
      Resource r = soln.getResource("VarR"); // Get a result variable - must be a resource 
      Literal l = soln.getLiteral("VarL"); // Get a result variable - must be a literal 
     } 
    } 
} 
+0

謝謝djodjo,你能用一個簡短的例子嗎?我會非常感激,因爲我對環境很陌生,只需要一點線索就可以開始。 –

+0

我編輯了我的答案。它非常簡單,相當一般,但您可以根據您的查詢管理不同的抽象級別。 – djodjo

+0

非常感謝djodjo,我會嘗試一下。希望它會起作用 –

相關問題