SPARQL Apache Jena - DBpedia中查询的执行限制?

时间:2017-04-24 09:51:03

标签: sparql dbpedia apache-jena wikidata

我正在处理一个问题,我无法针对DBpedia多次执行相同的查询(请参阅下面的示例),因为执行会在4-5次查询后冻结。

问题是,使用相同的Apache Jena Code,我可以毫无问题地对Wikidata执行数百个相同的查询(请参阅下面的示例)。 Apache Jena代码实际上是标准代码(见下文)。结果只是作为普通字符串值返回。我也在这里试过变化,但这不是问题。

DBpedia查询中的Apache Jena代码片段(除createServiceRequest外,维基数据基本相同 - 方法使用https://query.wikidata.org/sparql

Query query = queryFactory.create(**!!see Query Example below!!**);
QueryEngineHTTP queryEngine = QueryExecutionFactory.createServiceRequest("http://de.dbpedia.org/sparql",
                query);
ResultSet results = queryEngine.execSelect();
        for (; results.hasNext();) {
            QuerySolution solution = results.nextSolution();
            String stringElement = solution.getLiteral("item").toString();
            stringArray.add(stringElement);
            // stringArray is then returned simply with System.out.println
        }

DBpedia查询:

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix dbpprop-de: <http://de.dbpedia.org/property/>
prefix dbpedia-de: <http://de.dbpedia.org/resource/>
SELECT DISTINCT ?item WHERE {
    dbpedia-de:Deutschland dbpprop-de:hauptstadt ?y .
    ?y rdfs:label ?item 
}

维基数据查询:

prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wd: <http://www.wikidata.org/entity/>
prefix wikibase: <http://wikiba.se/ontology#>
prefix bd: <http://www.bigdata.com/rdf#>
SELECT DISTINCT ?itemLabel WHERE {
wd:Q183 wdt:P36 ?item .
SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "de" . 
    } 
}

DBpedia中的用户查询是否存在某种执行限制?我知道ResultSet有一些限制,但这不是问题所在,因为我每次查询只得到一个结果。这将是非常有帮助的,因为我无法找到类似的问题。提前谢谢。

0 个答案:

没有答案