Linked.Archi

Linked.Archi TIME Framework SHACL Shapes

SHACL Shapes

https://meta.linked.archi/time-framework/shapes#

v0.2.0 draft timesh: Kalin Maldzhanski Linked.Archi Modified: 2026-05-03 License

SHACL shapes for validating TIME framework model data. Ensures applications have required metadata, fit assessments are complete, and controlled vocabulary values are valid. Includes a SPARQL-based consistency guard that verifies timeDisposition matches the implied quadrant when both functionalFitRating and technicalFitRating are present. This is the SHACL layer of the TIME framework. Use together with: * time-onto.ttl (OWL) — defines classes, properties, and OWL reasoning rules * time-tax.ttl (SKOS) — organizes controlled vocabularies for navigation

Contents

ApplicationShape — target: Application

PropertyConstraintValueSeverityMessage
prefLabel minCount 1 Violation
businessOwner class Person Violation
businessOwner maxCount 1 Violation
hasFitAssessment minCount 1 Violation
itOwner class Person Violation
itOwner maxCount 1 Violation
lifecycleState in 78a54792be7fe005 Violation
lifecycleState maxCount 1 Violation

EvidenceShape — target: Evidence

PropertyConstraintValueSeverityMessage
prefLabel minCount 1 Violation
evidenceType in 78a54792be7fe025 Violation
evidenceType maxCount 1 Violation
evidenceType minCount 1 Violation

FitAssessmentShape — target: FitAssessment

PropertyConstraintValueSeverityMessage
assessedApplication class Application Violation
assessedApplication maxCount 1 Violation
assessedApplication minCount 1 Violation
assessmentDate datatype date Violation
assessmentDate maxCount 1 Violation
assessmentDate minCount 1 Violation
assessmentStatus in 78a54792be7fe01d Violation
assessmentStatus maxCount 1 Violation
costFitRating in 78a54792be7fe01a Violation
costFitRating maxCount 1 Violation
costFitScore datatype integer Violation
costFitScore maxCount 1 Violation
functionalFitRating in 78a54792be7fe014 Violation
functionalFitRating maxCount 1 Violation
functionalFitScore datatype integer Violation
functionalFitScore maxCount 1 Violation
rationale minCount 1 Violation
technicalFitRating in 78a54792be7fe017 Violation
technicalFitRating maxCount 1 Violation
technicalFitScore datatype integer Violation
technicalFitScore maxCount 1 Violation
timeDisposition in 78a54792be7fe00c Violation
timeDisposition maxCount 1 Violation
timeDisposition minCount 1 Violation
SPARQL constraint: timeDisposition is inconsistent with fit ratings: High/High must be Invest, High/Low must be Migrate, Low/High must be Tolerate, Low/Low must be Eliminate. Violation
            SELECT $this ?funcRating ?techRating ?disposition
            WHERE {
                $this timefw:functionalFitRating ?funcRating ;
                      timefw:technicalFitRating  ?techRating ;
                      timefw:timeDisposition     ?disposition .
                BIND(
                    IF(?funcRating = timefw:High && ?techRating = timefw:High, timefw:Invest,
                    IF(?funcRating = timefw:High && ?techRating = timefw:Low,  timefw:Migrate,
                    IF(?funcRating = timefw:Low  && ?techRating = timefw:High, timefw:Tolerate,
                    IF(?funcRating = timefw:Low  && ?techRating = timefw:Low,  timefw:Eliminate,
                    "UNKNOWN"))))
                    AS ?expected)
                FILTER (?disposition != ?expected)
            }
        

FitCriterionScoreShape — target: FitCriterionScore

PropertyConstraintValueSeverityMessage
criterion class FitCriterion Violation
criterion maxCount 1 Violation
criterion minCount 1 Violation
criterionScoreValue datatype integer Violation
criterionScoreValue maxCount 1 Violation
criterionScoreValue minCount 1 Violation

FitCriterionShape — target: FitCriterion

PropertyConstraintValueSeverityMessage
prefLabel minCount 1 Violation
dimension in 78a54792be7fe031 Violation
dimension maxCount 1 Violation
dimension minCount 1 Violation