Я знаю, что это звучит как очень глупый вопрос, но я пытался это выяснить, и я не могу ничего найти по этому поводу, хотя кажется очевидным, что это должно быть выполнимо.
IЯ разрабатываю что-то, что запрашивает файл 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
- это sha1sum почтового ящика.Почтовые ящики однозначно связаны с физическими лицами.Поэтому я попробовал следующий запрос:
Person and mbox_sha1sum value "mbox_sha1sum-property-value-here"
Однако он даже не выполняет этот запрос, потому что чувствует, что запрос неверен.Значение mbox_sha1sum
такое же, как я добавил для этого человека.Он существует в физических лицах.
Он выполняет этот запрос:
Person and firstName value "Andrew"
Все свойства данных не являются специализированными типами данных.По умолчанию рассматриваются как литералы.
Я действительно не знаю, что я делаю неправильно.Может кто-нибудь, пожалуйста, помогите?