From: Mariano A. <ro...@li...> - 2013-08-16 14:32:44
|
I'm trying to build a sparql query based on a list of properties but I get an error saying that the query is bad formed. The problem is I don't know what to do to fix it. This is the function: 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.' % (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 This is the query I get: u"\n SELECT * WHERE {\n <http://dbpedia.org/resource/Tim_Cook>.\n ?x dbpedia-owl:abstract ?abstract.\n 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.\n FILTER (LANG(?abstract) = 'en')\n }\n " |