这个形状
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
连接的所有内容?
答案 0 :(得分:0)
据我所知,这取决于实现方式。 SHACL spec说:
形状图可以是可重用的验证模块,可以与谓词owl:imports交叉引用。作为预验证步骤,SHACL处理器应通过过渡地跟踪并通过owl:imports谓词导入所有引用的形状图来扩展最初提供的形状图。生成的图形构成用于验证的输入形状图,并且在验证过程中不得进行进一步修改。
因此,兼容的SHACL处理器应扩展原始形状图,但不必这样做。