我使用 sparqlwrapper 使用以下 sparql 查詢,如下所示。from SPARQLWrapper import SPARQLWrapper, JSONsparql = SPARQLWrapper("http://live.dbpedia.org/sparql")sparql.setReturnFormat(JSON)my_category = 'dbc:Meteorological_concepts'sparql.setQuery(f" ASK {{ {my_category} skos:broader{{1,3}} dbc:Medicine }} ")results = sparql.query().convert()print(results['boolean'])如上所述,它適用于沒有括號的類別(例如,dbc:Meteorological_concepts)。但是,當(dāng)我輸入帶括號(即my_category = dbc:Elasticity_(physics))的類別時(shí),出現(xiàn)以下錯(cuò)誤。b"Virtuoso 37000 Error SP030: SPARQL compiler, line 4: syntax error at 'physics' before ')'\n\nSPARQL query:\ndefine sql:big-data-const 0 \n#output-format:application/sparql-results+json\n\n ASK { dbc:Elasticity_(physics) skos:broader{1,3} dbc:Medicine }\n"CRITICAL: Exiting due to uncaught exception <class 'SPARQLWrapper.SPARQLExceptions.QueryBadFormed'>有沒有辦法解決這個(gè)問題。如果需要,我很樂意提供更多詳細(xì)信息。
1 回答

白板的微信
TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
我正在重寫@StanislavKralin 在上述評論中提到的內(nèi)容。我總是嘗試在 SPARQL 代碼中使用完整 URL,特別是當(dāng) SPARQL 查詢中有特殊字符時(shí)。
from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://live.dbpedia.org/sparql")
sparql.setReturnFormat(JSON)
my_category = '<http://dbpedia.org/resource/Category:Elasticity_(physics)>'
sparql.setQuery(f" ASK {{ {my_category} skos:broader{{1,3}} dbc:Medicine }} ")
results = sparql.query().convert()
print(results['boolean'])
添加回答
舉報(bào)
0/150
提交
取消