SPARQL QUERY OWL FILE - PullRequest
       71

SPARQL QUERY OWL FILE

1 голос
/ 30 октября 2010

Могу я спросить вас о SPARQL-запросе по онтологии. У меня есть файл family.owl, который является сборкой онтологии из Protege 3.4 с данными:

Lan haschild Tuấn, 
Tùng haschild Tuấn.

Я использую Java и CORESE API на сайте (http://www -sop.inria.fr / edelweiss / software / corese / v2_4_0 / manual / index.php # coreseapi) для запроса к family.owl выше. Со следующим запросом SPARQL:

PREFIX fm:< http://www.owl-ontologies.com/Ontology1287989576.owl#>

SELECT ?child
WHERE 
{ 
  fm:Lan fm:haschild ?child 
} 

Результат - TuẠ¥ n (истинный результат должен быть Tuấn)

Если я заменю предложение where на WHERE { fm:Tùng fm:haschild ?child }, то результат будет пустым (истинный результат должен быть Tuấn)

Я знаю неправильный результат в строках "Tùng" и "Tuấn". Эта строка имеет символ Unicode ù, ấ

Можете ли вы, чтобы я использовал символ Юникода в CORESE API для запроса файла совы с sparql.

1 Ответ

1 голос
/ 31 октября 2010

Возможным решением является экранирование URI, поэтому вместо:

fm:Tùng --> fm:T%C3%B9ng

и

fm:Tuấn --> fm:Tu%E1%BA%A5n

Если вы создаете данные таким образом, у вас не должно быть проблем.Не очень желательно иметь акценты в URIS, поэтому люди склонны кодировать / экранировать URI по этой причине, и большинство языков имеют библиотеки для кодирования URI.Например, в Python это так же просто, как ...

>>> import urllib
>>> urllib.quote("Tùng")
'T%C3%B9ng'
>>> urllib.quote("Tuấn")
'Tu%E1%BA%A5n'
...