Jena TDB中的GRAPH查询:CLI工作/代码失败

时间:2018-05-10 09:58:40

标签: sparql jena

我创建了一个TDB数据集并将数据加载到其中。我想执行以下查询:

prefix skos: <http://www.w3.org/2004/02/skos/core#> 
SELECT ?s WHERE  { GRAPH ?g { ?s skos:broader ?o }} LIMIT 100

在命令行中,此查询运行并使用以下命令返回所需的结果:

tdbquery --loc=<path_to_dataset> --file <path_to_query_file>

但是,我在使用Java代码执行相同的查询时遇到了问题:

String pathToRepo = "<path_to_dataset>";

// open the dataset
dataset = TDBFactory.createDataset(pathToRepo);

model = dataset.getDefaultModel();

String queryString = "PREFIX skos: <http://www.w3.org/2004/02/skos/core#>\n"
                      + "SELECT ?s WHERE  { GRAPH ?g { ?s skos:broader ?o } } LIMIT 100";
Query query = QueryFactory.create(queryString);
QueryExecution qe = QueryExecutionFactory.create(query, model);
ResultSet results = qe.execSelect();
while (results.hasNext()) {
    QuerySolution result = results.next();
    System.out.println(result.get("s").toString());
}
qe.close();

Java代码运行但不会返回任何结果。 为什么会这样?我需要改变什么?

我使用的数据是公开的,你可以在这里找到它:http://webisa.webdatacommons.org/(向下滚动,直到你进入数据转储)。

我是Jena TDB的新手,所以我希望这个问题不是太愚蠢而且也不难回答​​。谢谢你的帮助!

0 个答案:

没有答案