Deliverable Templates
https://meta.linked.archi/zachman/deliverable-templates#
Deliverable templates for the Zachman Framework. Provides an EA Artifact Coverage Report that queries the knowledge graph for artifacts classified by Zachman perspective and interrogative (or directly by cell), identifies gaps, and generates a coverage matrix.
A coverage report that classifies all architecture artifacts in the knowledge graph by their Zachman perspective (row) and interrogative (column), identifies which cells are populated and which are gaps, and produces a 6x6 coverage matrix. Supports both axis-level classification (perspective + interrogative) and direct cell-level classification. Useful for EA practice maturity assessment and artifact portfolio management.
PREFIX zach: <https://meta.linked.archi/zachman/onto#>
PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
PREFIX arch: <https://meta.linked.archi/core#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?perspective ?perspLabel ?interrogative ?intLabel
(COUNT(DISTINCT ?artifact) AS ?count)
WHERE {
?perspective skos:broader zachtax:Perspective ;
skos:prefLabel ?perspLabel ;
zachtax:rowOrder ?rowOrd .
?interrogative skos:broader zachtax:Aspect ;
skos:prefLabel ?intLabel ;
zachtax:columnOrder ?colOrd .
OPTIONAL {
{
# Axis-level classification
?artifact arch:viewpointCoversAspect ?interrogative ;
arch:viewpointAddressesPerspective ?perspective .
} UNION {
# Cell-level classification
?cell skos:broader zachtax:Cell ;
zach:hasAspect ?interrogative ;
zach:hasPerspective ?perspective .
?artifact zach:classifiedByCell ?cell .
}
}
}
GROUP BY ?perspective ?perspLabel ?interrogative ?intLabel ?rowOrd ?colOrd
ORDER BY ?rowOrd ?colOrd
PREFIX zach: <https://meta.linked.archi/zachman/onto#>
PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
PREFIX arch: <https://meta.linked.archi/core#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?perspective ?perspLabel ?interrogative ?intLabel ?cellLabel
WHERE {
?perspective skos:broader zachtax:Perspective ;
skos:prefLabel ?perspLabel ;
zachtax:rowOrder ?rowOrd .
?interrogative skos:broader zachtax:Aspect ;
skos:prefLabel ?intLabel ;
zachtax:columnOrder ?colOrd .
?cell skos:broader zachtax:Cell ;
zach:hasAspect ?interrogative ;
zach:hasPerspective ?perspective ;
skos:prefLabel ?cellLabel .
FILTER NOT EXISTS {
{ ?artifact arch:viewpointCoversAspect ?interrogative ;
arch:viewpointAddressesPerspective ?perspective . }
UNION
{ ?artifact zach:classifiedByCell ?cell . }
}
}
ORDER BY ?rowOrd ?colOrd
PREFIX zach: <https://meta.linked.archi/zachman/onto#>
PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
PREFIX arch: <https://meta.linked.archi/core#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?perspective ?perspLabel ?artifact ?artifactLabel ?interrogative ?intLabel
WHERE {
{
?artifact arch:viewpointCoversAspect ?interrogative ;
arch:viewpointAddressesPerspective ?perspective ;
skos:prefLabel ?artifactLabel .
} UNION {
?cell skos:broader zachtax:Cell ;
zach:hasAspect ?interrogative ;
zach:hasPerspective ?perspective .
?artifact zach:classifiedByCell ?cell ;
skos:prefLabel ?artifactLabel .
}
?perspective skos:broader zachtax:Perspective ;
skos:prefLabel ?perspLabel ;
zachtax:rowOrder ?rowOrd .
?interrogative skos:broader zachtax:Aspect ;
skos:prefLabel ?intLabel ;
zachtax:columnOrder ?colOrd .
}
ORDER BY ?rowOrd ?colOrd ?artifactLabel
PREFIX zach: <https://meta.linked.archi/zachman/onto#>
PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
PREFIX arch: <https://meta.linked.archi/core#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT
(COUNT(DISTINCT ?artifact) AS ?totalArtifacts)
(COUNT(DISTINCT ?cellKey) AS ?populatedCells)
WHERE {
{
SELECT (CONCAT(STR(?p), "-", STR(?i)) AS ?cellKey) ?artifact
WHERE {
{
?artifact arch:viewpointCoversAspect ?i ;
arch:viewpointAddressesPerspective ?p .
} UNION {
?cell skos:broader zachtax:Cell ;
zach:hasAspect ?i ;
zach:hasPerspective ?p .
?artifact zach:classifiedByCell ?cell .
}
?p skos:broader zachtax:Perspective .
?i skos:broader zachtax:Aspect .
}
}
}
PREFIX zach: <https://meta.linked.archi/zachman/onto#>
PREFIX zachtax: <https://meta.linked.archi/zachman/tax#>
PREFIX arch: <https://meta.linked.archi/core#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?transformation ?transLabel (COUNT(DISTINCT ?artifact) AS ?count)
WHERE {
?perspective skos:broader zachtax:Perspective ;
zach:hasPerspective ?transformation .
?transformation skos:prefLabel ?transLabel ;
zachtax:rowOrder ?rowOrd .
OPTIONAL {
{
?artifact arch:viewpointAddressesPerspective ?perspective .
} UNION {
?cell skos:broader zachtax:Cell ;
zach:hasPerspective ?perspective .
?artifact zach:classifiedByCell ?cell .
}
}
}
GROUP BY ?transformation ?transLabel ?rowOrd
ORDER BY ?rowOrd