Как опрашивать людей в синтаксисе DL Manchester OWL?

Я знаю, что это звучит как очень глупый вопрос, но я пытался понять это и ничего не могу найти по этому поводу, хотя кажется очевидным, что это должно быть выполнимо .

Я разрабатываю что-то, что запрашивает файл 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"

Все свойства данных не являются специализированными типами данных. По умолчанию рассматриваются как литералы.

Я действительно не знаю, что делаю не так. Может кто-нибудь, пожалуйста, помогите?

7
задан Stanislav Kralin 29 August 2017 в 14:34
поделиться