Linked.Archi

Zachman Framework SHACL Shapes

SHACL Shapes

https://meta.linked.archi/zachman/shapes#

v0.3.0 zachsh: Kalin Maldzhanski Linked.Archi Modified: 2026-02-17 License

SHACL validation shapes for viewpoints classified using the Zachman Framework taxonomy. Validates that viewpoints using Zachman cell classification are consistent with their aspect and perspective declarations.

Contents

CellAspectConsistencyShape

SPARQL constraint: Viewpoint is classified by cell {?cell} but declares aspect {?aspect} which does not match the cell's aspect {?cellAspect}. Warning
            PREFIX zach: <https://meta.linked.archi/zachman/onto#>
            PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
            PREFIX arch: <https://meta.linked.archi/core#>
            SELECT $this ?cell ?aspect ?cellAspect
            WHERE {
                $this zach:classifiedByCell ?cell .
                $this arch:viewpointCoversAspect ?aspect .
                ?cell zach:hasAspect ?cellAspect .
                FILTER (?aspect != ?cellAspect)
            }
        

CellPerspectiveConsistencyShape

SPARQL constraint: Viewpoint is classified by cell {?cell} but declares perspective {?perspective} which does not match the cell's perspective {?cellPerspective}. Warning
            PREFIX zach: <https://meta.linked.archi/zachman/onto#>
            PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
            PREFIX arch: <https://meta.linked.archi/core#>
            SELECT $this ?cell ?perspective ?cellPerspective
            WHERE {
                $this zach:classifiedByCell ?cell .
                $this arch:viewpointAddressesPerspective ?perspective .
                ?cell zach:hasPerspective ?cellPerspective .
                FILTER (?perspective != ?cellPerspective)
            }
        

ValidCellShape

SPARQL constraint: zach:classifiedByCell value {?cell} is not a narrower concept of zachtax:Cell. Violation
            PREFIX zach: <https://meta.linked.archi/zachman/onto#>
            PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
            PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
            SELECT $this ?cell
            WHERE {
                $this zach:classifiedByCell ?cell .
                FILTER NOT EXISTS { ?cell skos:broader zachtax:Cell }
            }