Linked.Archi EA-as-a-Service SHACL Shapes
type: Ontology
imports: core#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: easvcsh
creator: Kalin Maldzhanski
description: SHACL shapes for validating EA-as-a-Service models. Enforces governance rules: every service must declare required capabilities, every engagement must have an assigned architect and status, and every EA service must have a label.
created: 2026-05-03
modified: 2026-05-03
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 0.1.0#
version info: 0.1.0

EA Service Shape
type: NodeShape
target class: EAService
definition: Validates that EA services have required metadata.
property:
  path: prefLabel
  min count: 1
  message: Every EA service must have a human-readable label.
  severity: Violation
property:
  path: serviceType
  min count: 1
  class: EAServiceType
  message: Every EA service must declare its service type.
  severity: Violation
property:
  path: requiredCapability
  min count: 1
  message: Every EA service must declare the capabilities required to deliver it.
  severity: Warning

Service Engagement Shape
type: NodeShape
target class: ServiceEngagement
definition: Validates that service engagements have required metadata.
property:
  path: prefLabel
  min count: 1
  message: Every service engagement must have a human-readable label.
  severity: Violation
property:
  path: assignedArchitect
  min count: 1
  message: Every service engagement must have an assigned architect.
  severity: Violation
property:
  path: engagementStatus
  min count: 1
  max count: 1
  class: EngagementStatus
  message: Every service engagement must have exactly one status.
  severity: Violation
property:
  path: engagementFor
  min count: 1
  message: Every service engagement should specify what it serves.
  severity: Warning

Service Request Shape
type: NodeShape
target class: ServiceRequest
definition: Validates that service requests have required metadata.
property:
  path: requestedBy
  min count: 1
  message: Every service request must identify who requested it.
  severity: Violation
property:
  path: requestDate
  min count: 1
  datatype: date
  message: Every service request must have a date.
  severity: Violation
property:
  path: requestForService
  min count: 1
  message: Every service request must specify which service is being requested.
  severity: Violation

Service Outcome Shape
type: NodeShape
target class: ServiceOutcome
definition: Validates that service outcomes have required metadata.
property:
  path: outcomeDescription
  min count: 1
  message: Every service outcome must describe the value delivered.
  severity: Warning

Satisfaction Assessment Shape
type: NodeShape
target class: SatisfactionAssessment
definition: Validates that satisfaction assessments have required metadata.
property:
  path: hasSatisfactionScore
  min count: 1
  max count: 1
  datatype: integer
  min inclusive: 1
  max inclusive: 5
  message: Satisfaction score must be an integer between 1 and 5.
  severity: Violation
property:
  path: satisfactionDate
  min count: 1
  datatype: date
  message: Every satisfaction assessment must have a date.
  severity: Warning

EA Maturity Assessment Shape
type: NodeShape
target class: EAMaturityAssessment
definition: Validates that maturity assessments have required metadata.
property:
  path: maturityLevel
  min count: 1
  max count: 1
  class: MaturityLevel
  message: Every maturity assessment must assign exactly one maturity level.
  severity: Violation
property:
  path: maturityAssessmentDate
  min count: 1
  datatype: date
  message: Every maturity assessment must have a date.
  severity: Warning
property:
  path: maturityFindings
  min count: 1
  message: Every maturity assessment should include findings and recommendations.
  severity: Warning

Service Catalog Shape
type: NodeShape
target class: ServiceCatalog
definition: Validates that service catalogs have required metadata.
property:
  path: prefLabel
  min count: 1
  message: Every service catalog must have a human-readable label.
  severity: Violation
property:
  path: offersService
  min count: 1
  message: A service catalog must offer at least one service.
  severity: Warning