0
以下查詢用於從dbpedia獲取「abstract」屬性。當我使用res:Zeke_Rowe
這樣的特定名稱而不是?name
時,它可以正常工作。我想將一個值傳遞給?name
變量。 SPARQL查詢如下:帶參數的ParameterizedSparqlString查詢
ParameterizedSparqlString abstractQuery = new ParameterizedSparqlString(
"PREFIX res: <http://dbpedia.org/resorce/> "
+"PREFIX dbo: <http://dbpedia.org/ontology/> "
+"SELECT ?abstract WHERE { "
+"?name dbo:abstract ?abstract. "
+"FILTER (lang(?abstract)='en')}");
我已經試過這樣:
abstractQuery.setLiteral("name", "res:Zeke_Rowe");
Query query = QueryFactory.create(abstractQuery.toString());
,但它不工作,我得到NoSuchElementException
。
我也試過:
Node node = NodeFactory.createLiteral("res:Zeke_Rowe");
abstractQuery.setParam("name",node);
Query query = QueryFactory.create(abstractQuery.toString());
失敗。具有相同的異常...
兩種方式將其插入名res:Zeke_Rowe
這樣的:"res:Zeke_Rowe"
到SPARQL查詢..
最後,我運行查詢像這樣:
ResultSetFactory.copyResults(QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql",query).execSelect());
什麼時我做錯了?
這將是有益的,如果你可以分享全-stack跟蹤或異常。 –