关于端点的Jena Sparql查询

时间:2016-06-12 09:34:42

标签: java json sparql jena wikidata

这是我的简单查询。如果我将限制设置为60k,它可以工作。 我认为这是json中一些奇怪角色的问题。

PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wikibase: <http://wikiba.se/ontology#>
SELECT ?itemLabel 
WHERE {
  ?id ?label "person"@en.
  ?item wdt:P31/wdt:P279* ?id.
  SERVICE wikibase:label {
  bd:serviceParam wikibase:language "en".
  }
}

这是我的java代码。

Query q = QueryFactory.create(query.getQuery());

QueryEngineHTTP qexec =new QueryEngineHTTP("https://query.wikidata.org/sparql", query.getQuery());
qexec.addParam("format", "json");
qexec.setModelContentType(WebContent.contentTypeJSONLD);
        try {
            ResultSet results = qexec.execSelect();

        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
        qexec.close();

最后这是我的例外。

Exception in thread "main" org.apache.jena.atlas.json.JsonParseException: Not a colon: [KEYWORD:person]
    at org.apache.jena.atlas.json.io.parser.JSONParserBase.exception(JSONParserBase.java:132)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseObject(JSONP.java:74)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseAny(JSONP.java:97)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseObject(JSONP.java:79)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseAny(JSONP.java:97)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseArray(JSONP.java:146)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseAny(JSONP.java:98)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseObject(JSONP.java:79)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseAny(JSONP.java:97)
    at org.apache.jena.atlas.json.io.parser.JSONP.parseObject(JSONP.java:79)
    at org.apache.jena.atlas.json.io.parser.JSONP.parse(JSONP.java:50)
    at org.apache.jena.atlas.json.io.parser.JSONParser.parse(JSONParser.java:58)
    at org.apache.jena.atlas.json.io.parser.JSONParser.parse(JSONParser.java:40)
    at org.apache.jena.atlas.json.JSON._parse(JSON.java:140)
    at org.apache.jena.atlas.json.JSON.parse(JSON.java:37)
    at org.apache.jena.sparql.resultset.JSONInput.parse(JSONInput.java:113)
    at org.apache.jena.sparql.resultset.JSONInput.process(JSONInput.java:100)
    at org.apache.jena.sparql.resultset.JSONInput.fromJSON(JSONInput.java:63)
    at org.apache.jena.query.ResultSetFactory.fromJSON(ResultSetFactory.java:331)
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execResultSetInner(QueryEngineHTTP.java:385)
    at org.apache.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:351)
    at core.ExecuteQuery.<init>(ExecuteQuery.java:40)
    at Main.main(Main.java:30)

我会跳过这个问题才能获得

0 个答案:

没有答案