Когда вы используете отдельные файлы, pySHACL не может знать, с чем связать hr:Employee
NodeShape вашего Shape-файла. Кажется, он знает, когда он находится в этом отдельном файле (возможно, он работает со всеми классами в файле ??).
Итак:
- переименуйте форму Employee, чтобы не перегружать
hr:Employee
имя класса: hr:EmployeeShape
- добавьте обратно в директиву
sh:targetClass
:
hr:EmployeeShape
a sh:NodeShape ;
sh:targetClass hr:Employee ;
sh:property hr:nameShape ;
sh:property hr:jobGradeShape .
Тогда многофайловый вызов дает тот же результат, что и одиночный файловый вызов .
Ваши звонки в pySHACL верны!