Я знаю, что это звучит как очень глупый вопрос, но я пытался понять это и ничего не могу найти по этому поводу, хотя кажется очевидным, что это должно быть выполнимо .
Я разрабатываю что-то, что запрашивает файл OWL через его API, используя синтаксис Manchester OWL и средство рассуждений HermiT. В качестве альтернативы я также запускаю запросы на вкладке DL Query в Protege 4, чтобы проверить результаты моего запроса в этом файле. По сути, файл представляет собой онтологию «Друг друга» (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"
Однако это не так. t даже выполнить этот запрос, потому что он считает, что запрос неверен. Значение mbox_sha1sum
то же, что я добавил для этого человека. Он существует в лицах.
Он выполняет этот запрос:
Person and firstName value "Andrew"
Все свойства данных не являются специализированными типами данных. По умолчанию рассматриваются как литералы.
Я действительно не знаю, что делаю не так. Может кто-нибудь, пожалуйста, помогите?