这是我的简单查询。如果我将限制设置为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)
我会跳过这个问题才能获得