SHACL Shapes
https://meta.linked.archi/arch-decision-shapes#
SHACL shapes for validating architecture decision records built with the Linked.Archi architecture decision extension. Closes the decision state vocabulary, enforces the structural contract between a Decision and its Issue, Options and Forces, and checks the Quality Attribute Scenario structure on quality attribute requirements. These shapes complement core-shapes: the core file already requires a label on every arch:Element and a source and target on every arch:QualifiedRelationship, so those constraints are not repeated here except where a tighter rule applies.
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation | |
decisionState |
in | 225ed81fcd02a790 |
Violation | |
decisionState |
maxCount | 1 |
Violation | |
hasAlternative |
class | Option | Violation | |
hasIssue |
class | Issue | Violation | |
hasSelectedOption |
class | Option | Violation | |
hasSelectedOption |
maxCount | 1 |
Violation | |
replaces |
class | Decision | Violation | |
supersededBy |
class | Decision | Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
definition |
datatype | langString | Violation | |
definition |
minCount | 1 |
Violation | |
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
hasInfluenceMeasure |
maxCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation | |
supportedByStakeholder |
class | Stakeholder | Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation | |
issueOwner |
class | Stakeholder | Violation | |
issueOwner |
maxCount | 1 |
Violation | |
problemStatement |
minCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation | |
hasDecisionGoal |
minCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
prefLabel |
datatype | langString | Violation | |
prefLabel |
minCount | 1 |
Violation | |
addressesForce |
minCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
onQualityAttribute |
minCount | 1 |
Violation | |
qasArtifact |
minCount | 1 |
Violation | |
qasEnvironment |
minCount | 1 |
Violation | |
qasResponse |
minCount | 1 |
Violation | |
qasResponseMeasure |
minCount | 1 |
Violation | |
qasSourceOfStimulus |
minCount | 1 |
Violation | |
qasStimulus |
minCount | 1 |
Violation |
| Property | Constraint | Value | Severity | Message |
|---|---|---|---|---|
hasDifficultyMeasure |
maxCount | 1 |
Violation | |
hasImportanceMeasure |
maxCount | 1 |
Violation | |
requestedByStakeholder |
class | Stakeholder | Violation |