We are often facing the situation where a SHACL application profile needs to encode "business rules" that go beyond what the SHACL core constraints can express. Typical real-world examples are:
"All instances of class X with dcterms:type = A or B must have the value M, N, O, or P in the property Z"
"On instances of class X with property P1 referring to a entity where dcterms:type = A, property P1 is mandatory, otherwise it is not"
Much of this can be expressed with DCTAP aka "DublinCore Tabular Application Profiles", and there is someone working on a DCTAP-to-SHACL program (not yet complete).
We are often facing the situation where a SHACL application profile needs to encode "business rules" that go beyond what the SHACL core constraints can express. Typical real-world examples are:
These can be encoded as an additionnal "business rule" layer in the application profile using SHACL SPARQL constraints (https://www.w3.org/TR/shacl/#sparql-constraints)
Is this in scope of the style guide ?