Как игнорировать узлы из импортированных графиков при проверке RDF с SHACL?

Эта форма

selfref:NodeShape
  rdf:type sh:NodeShape ;
  sh:property [
      rdf:type sh:PropertyShape ;
      sh:path sh:property ;
      sh:maxCount 0 ;
      sh:minCount 0 ;
      sh:nodeKind sh:BlankNode ;
    ] ;
  sh:targetSubjectsOf sh:property .

обрабатывается двигателями, совместимыми со спецификацией SHACL, это действительно подтверждает себя. Проблема в том, что все узлы из импортированных графов, включая словарь SHACL, также обрабатываются. Как исключить все, что связано через owl:imports?

1 ответ

Решение

Насколько я знаю, это зависит от реализации. Спецификация SHACL гласит:

Графики фигур могут быть повторно используемыми модулями проверки, на которые можно ссылаться с помощью предиката owl:import. В качестве шага предварительной проверки процессоры SHACL должны расширить первоначально предоставленный граф фигур, транзитивно следуя и импортируя все графы ссылочных фигур через предикат owl:import. Результирующий график формирует входной график форм для проверки и не должен быть далее изменен во время процесса проверки.

Таким образом, совместимые процессоры SHACL должны расширять исходный граф фигур, но им это не нужно.

Другие вопросы по тегам