Я пытаюсь проверить мои экземпляры онтологии, используя формы SHACL. Однако я не могу найти, как сказать, что данный экземпляр свойства действителен, только если он имеет экземпляр Class1 в качестве субъекта и экземпляр Class2 в качестве объекта.
Другими словами, я хочу указать домен (то есть, Class1) и диапазон (то есть, Class2) этого свойства.
В следующем примере мы уточняем, что диапазон (клиент и лицо), но домен не указан.
ex:InvoiceShape
a sh:NodeShape ;
sh:property [
sh:path ex:customer ;
sh:class ex:Customer ;
sh:class ex:Person ;
] .
Я знаю, что можно указать целевой класс (TC) для фигуры, но это ограничивает диапазон свойства ex: customer, когда доменом является TC, и не во всех случаях.
Можно ли написать фигуру, которая фиксирует область и диапазон заданного свойства?
Спасибо!