Я разработал свою собственную онтологию на арабском языке, и теперь я хочу сделать запрос на sparql, используя rdflib и sparql. Проблема в том, что когда я делаю запрос без использования арабского языка в своей онтологии, я получил ответы без проблем, но когда я хочу сделать конкретный запрос о свойствах с использованием арабского языка, я получил некоторые ошибки :(Использование арабских символов в sparql в python?
любой . знать, как я могу иметь дело с этим, пожалуйста, что я делаю не так !!!
Вот мой код:
graph =rdflib.Graph()
filename = r'JO Ontology modified 09 june 2014 with properties.owl'
graph.load(filename, format='xml')
qres = graph.query(
"PREFIX OntoJO:<http://www.owl-ontologies.com/Ontology1400008538.owl#>" +
"SELECT ?path " +
"WHERE { ?lois_ordinaires OntoJO:ministere_lord ?ministere_lord ."+
"?lois_ordinaires OntoJO:a_un_chemin ?y ."+
" ?y OntoJO:chemin ?path ."+
"FILTER(regex(?ministere_lord,'وزارة المالية'))}",)
for row in qres:
print row[0]
ошибки:
File "C:\Users\Mehdi\workspace\My_work\Test\Recherche.py", line 38, in main
"FILTER(regex(?ministere_lord,'وزارة المالية'))}",)
File "build\bdist.win-amd64\egg\rdflib\graph.py", line 920, in query
File "C:\Python27\lib\site-packages\rdfextras-0.4-py2.7.egg\rdfextras\sparql\components.py", line 168, in __new__
return unicode.__new__(cls, value)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd9 in position 0: ordinal not in range(128)
Это не кажется, SPARQL конкретно, а скорее что-то с rdflib. В какой-то момент кодек ascii пытается декодировать что-то, что не является ASCII. (Это похоже на что-то в материалах rdfextras.) –
@ Joshua это была просто проблема цитаты, я ее исправил. Спасибо брат. – Mehdi