Все ли онтологии, которые импортируют 'owl' или 'rdf', реализуют 'domain', 'range' и другие связанные предикаты? - PullRequest
0 голосов
/ 04 июля 2019

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

Я получил местоположение части мозга с помощью NeuroFMA онтологии и запроса ниже:

PREFIX fma: <http://sig.uw.edu/fma#>

 select ?loc{
 fma:Superior_temporal_gyrus fma:location ?loc}  

Результат был: fma: live_incus_fm_14056

Я думал, что смогу получить больше информации об этом предмете.

Вопрос 1 : Была ли разница, если результат был литералом?

Итак, я использовал optional {?loc ?p ?o} и получил некоторые результаты.

Однако я подумал, что поскольку эта онтология также импортирует RDF и OWL, следующие запросы также должны работать, но это не так (надеюсь, что эти коды верны)!

    optional {?value rdfs:range ?loc}
    optional {?loc rdfs:domain ?value}
    optional {?loc rdf:type ?value}

Вопрос 2 Если приведенные выше вопросы верны, являются ли RDFS и OWL только предложением?Или онтологии, которые импортируют / следуют за ними, должны использовать все свои ресурсы или, по крайней мере, расширить их?

Спасибо!

1 Ответ

2 голосов
/ 04 июля 2019

Декларация импорта в OWL, по большей части, просто информативна.Обычно он используется, чтобы сигнализировать, что эта онтология повторно использует некоторые из концепций, определенных в целевом объекте (например, она может определять некоторые дополнительные подклассы классов, определенных в целевых данных).

Зависит ли импорт от загрузки каких-либо дополнительных данных в ваш набор данных, зависит от того, какую базу данных / API / аргумент вы используете для обработки онтологии.Большинство инструментов не автоматически загружают цели объявлений импорта по умолчанию, поэтому наличие или отсутствие объявления импорта не будет влиять на то, что возвращают ваши запросы.

Я думал, что поскольку эта онтология также импортирует RDF и OWL, следующие запросы также должны работать, но это не так (надеюсь, что эти коды верны)!

optional {?value rdfs:range ?loc}
optional {?loc rdfs:domain ?value}
optional {?loc rdfs:type ?value}

Это rdf:type, а не rdfs:type.Кроме того, каждый из них выглядит отлично.Однако, исходя из более широкого запроса, ?loc обычно является не свойством, а свойством value .Свойство значения не имеют доменов и диапазонов.Вы можете запросить что-то вроде этого, возможно:

 optional { fma:location rdfs:domain ?value}

При этом спрашивается, «если свойство fma:location имеет объявление домена, верните это объявление и свяжите его с переменной ?value».

В целом, если эти запросы возвращают какие-либо результаты, это не имеет никакого отношения к тому, какое объявление импорта присутствует в вашей онтологии.Если ваша онтология содержит объявление диапазона для свойства, первый шаблон вернет результат.Если он содержит декларацию домена, вторая выдаст результат.И наконец, если ваша онтология содержит экземпляр некоторого класса, третий шаблон (исправленный) вернет результат.Это так просто.

Здесь нет никакой магии: запрос возвращает только то, что присутствует в вашем наборе данных.То, что присутствует в вашем наборе данных, определяется тем, как вы загрузили данные в свою базу данных и (необязательно), какую форму рассуждения вы включили поверх своей базы данных.

...