Linked.Archi Backstage SHACL Shapes
type: Ontology
imports: onto#
imports: core-shapes#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: bssh
creator: Kalin Maldzhanski
description: SHACL shapes for validating Backstage catalog data. Imports core-shapes for base QualifiedRelationship validation. Adds Backstage-specific domain/range constraints per relationship type.
created: 2026-04-12
modified: 2026-04-12
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 0.1.0#
version info: 0.1.0

OwnershipShape
type: NodeShape
target class: Ownership
property:
  path: source
  class: Element
  message: Ownership source must be an Element.
property:
  path: target
  class: Group
  message: Ownership target must be a Group.

SystemMembershipShape
type: NodeShape
target class: SystemMembership
property:
  path: source
  class: Component
  message: SystemMembership source must be a Component.
property:
  path: target
  class: System
  message: SystemMembership target must be a System.

APIProvisionShape
type: NodeShape
target class: APIProvision
property:
  path: source
  class: Component
  message: APIProvision source must be a Component.
property:
  path: target
  class: API
  message: APIProvision target must be an API.

APIConsumptionShape
type: NodeShape
target class: APIConsumption
property:
  path: source
  class: Component
  message: APIConsumption source must be a Component.
property:
  path: target
  class: API
  message: APIConsumption target must be an API.

ResourceUsageShape
type: NodeShape
target class: ResourceUsage
property:
  path: source
  class: Component
  message: ResourceUsage source must be a Component.
property:
  path: target
  class: Resource
  message: ResourceUsage target must be a Resource.

DomainMembershipShape
type: NodeShape
target class: DomainMembership
property:
  path: source
  class: Element
  message: DomainMembership source must be an Element.
property:
  path: target
  class: Domain
  message: DomainMembership target must be a Domain.

GroupMembershipShape
type: NodeShape
target class: GroupMembership
property:
  path: source
  class: User
  message: GroupMembership source must be a User.
property:
  path: target
  class: Group
  message: GroupMembership target must be a Group.