2016-05-21 33 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,我会尝试一下。希望它会起作用 –

相关问题