Я знаю, что это звучит как очень глупый вопрос, но я пытался понять это и ничего не могу найти по этому поводу, хотя кажется очевидным, что это должно быть выполнимо.
Я разрабатываю что-то, что запрашивает файл OWL через его API, используя синтаксис Manchester OWL и механизм рассуждений HermiT. В качестве альтернативы я также запускаю запросы на вкладке DL Query в Protege 4, чтобы проверить результаты моего запроса в этом файле. Этот файл в основном представляет собой онтологию Friend Of A Friend (FOAF) с добавленными экземплярами данных.
Проблема: я не могу найти способ запросить экземпляр по его уникальному идентификатору.
Это должен быть URI, например. для объекта Person с URI http://xmlns.com/foaf/0.1/Andrew_Kuchling
я попытался выполнить следующие запросы:
Person and URI value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"
Person value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"
Person and URI value "Andrew_Kuchling"
Person that "Andrew_Kuchling"
ничего из этого не работает. (URI создается путем добавления префикса http://xmlns.com/foaf/0.1/
к любой строке, которую вы вводите, и URI фактически не идентифицируется в онтологии как свойство).
В FOAF mbox_sha1sum
является общей суммой почтового ящика. Почтовые ящики однозначно связаны с отдельными лицами. Итак, я попробовал следующий запрос:
Person and mbox_sha1sum value "mbox_sha1sum-property-value-here"
Однако он даже не выполняет этот запрос, поскольку считает, что запрос неверен. Значение mbox_sha1sum
совпадает с тем, что я добавил для этого человека. Он существует в Личностях.
Он выполняет этот запрос:
Person and firstName value "Andrew"
Все свойства данных не являются специализированными типами данных. По умолчанию рассматриваются как литералы.
Я действительно не знаю, что я делаю неправильно. Может кто-нибудь, пожалуйста, помогите?