簡體   English   中英

Sparql查詢不良形成

[英]Sparql query bad formed

我正在嘗試基於屬性列表構建sparql查詢,但是出現一條錯誤消息,指出查詢格式錯誤。 問題是我不知道該如何解決。

這是功能:

def create_query(dbpedia_uri, props):
    #props are something like this ('dbpedia-owl', 'birthdate')
    filters = ''

    for prop in QUERIES_DICT[ename]:
        filters += ' OPTIONAL { ?x %s:%s ?%s. } \n' % (corresp_dict[prop[0]], prop[1], prop[1])

    query = u"""
        SELECT * WHERE {
.          <%s>.
          ?x dbpedia-owl:abstract ?abstract.
          %s
          FILTER (LANG(?abstract) = 'en')
        }
    """ % (dbpedia_uri, filters)

    return query

這是我得到的查詢:

u"\n        SELECT * WHERE { <http://dbpedia.org/resource/Tim_Cook>\n          ?x dbpedia-owl:abstract ?abstract.\n          OPTIONAL { ?x dbpedia-owl:birthDate ?birthDate. }\n OPTIONAL { ?x dbpedia-owl:birthPlace ?birthPlace. }\n OPTIONAL { ?x dbpprop:name ?name. }\n OPTIONAL { ?x dbpedia-owl:profession ?profession. }\n OPTIONAL { ?x dbpprop:residence ?residence. }\n OPTIONAL { ?x dbpprop:website ?website. }\n \n          FILTER (LANG(?abstract) = 'en')\n        }\n    "

或印刷:

        SELECT * WHERE { <http://dbpedia.org/resource/Tim_Cook>
          ?x dbpedia-owl:abstract ?abstract.
          OPTIONAL { ?x dbpedia-owl:birthDate ?birthDate. }
 OPTIONAL { ?x dbpedia-owl:birthPlace ?birthPlace. }
 OPTIONAL { ?x dbpprop:name ?name. }
 OPTIONAL { ?x dbpedia-owl:profession ?profession. }
 OPTIONAL { ?x dbpprop:residence ?residence. }
 OPTIONAL { ?x dbpprop:website ?website. }

          FILTER (LANG(?abstract) = 'en')
        }

您需要定義所有使用的前綴,例如dbpprop,dbpedia-owl

請嘗試: http : //www.sparql.org/query-validator.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM