Рассмотрим два репозитория GraphDB с разными наборами правил рассуждений:
- Repo A с набором правил RDFS (оптимизированный)
- Repo B с набором правил RDFS-Plus (оптимизированный)
Я выполнил следующую команду SPARQL INSERT в обоих этих репозиториях:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ex: <http://www.example.com#>
INSERT DATA {
ex:hasPet a owl:ObjectProperty;
rdfs:domain ex:Human;
rdfs:range ex:Pet.
ex:someHuman ex:hasPet ex:somePet.
}
В обоих репозиториях я ожидаю, что через rdfs:domain
и rdfs:range
должны быть выведены следующие утверждения класса:
ex:someHuman rdf:type ex:Human
ex:somePet rdf:type ex:Pet
rdfs:domain
и rdfs:range
являются свойствами RDFS, поэтому их следует использовать для Repo A. А поскольку RDFS-Plus является расширением RDFS, я подумал, что они также будут включены в Repo B.
Однако эти трипели выводятся только с помощью набора правил RDFS (Repo A). Если я выполню следующий запрос SPARQL, я получу результат только в Repo A и не получу результата в Repo B.
PREFIX ex: <http://www.example.com#>
SELECT ?pet WHERE {
?pet a ex:Pet.
}
Может ли кто-нибудь сказать мне, почему два приведенных выше треугольника выводятся только с набором правил RDFS, но не с набором правил RDFS-Plus?
RDFS-Plus
нет необходимых правил для получения троек дляrdfs:domain
. Вы можете посмотреть, какие правила используются в каждом из наборов правил, просмотрев файлы PIE по адресу<gdb-dist>/configs/rules
. - person Damyan Ognyanov   schedule 01.12.2020rdfs:domain
было опущено? Для меня это либо ошибка, либо вы должны переименовать набор правил. - person UninformedUser   schedule 01.12.2020rdfs:domain
иrdfs:range
действовать скорее как ограничения, а не получать новые факты, поэтому эти (и некоторые другие правила, относящиеся к спискам rdf) были удалены намеренно... - person Damyan Ognyanov   schedule 02.12.2020rdfs:domain
иrdfs:range
, а также влияние на рассуждения стандартизированы W3C. Конечно, это сбивает с толку тех, у кого есть опыт ООП или RDB, но я думаю, что всем нам пришлось пройти через этот процесс обучения. Я думаю, что неправильно изменять или удалять стандартизированные определения только для того, чтобы упростить задачу. И ИМО, это может сделать его еще более запутанным, потому что это изменение в обычном наборе правил RDFS-Plus не задокументировано. ИМО правило должно быть повторно добавлено в набор правил. Если это невозможно, изменение должно быть, по крайней мере, задокументировано. - person Aljosha Koecher   schedule 03.12.2020