Reference
evo-ambient-agent-policy.shapes
SHACL Shapes (1)
| Shape | Label | Target class | Properties |
|---|---|---|---|
| evo:AmbientAgentPolicyShape | Ambient-agent ODRL policy shape | --- | 5 |
Ambient-agent ODRL policy shape
Validates odrl:Policy instances intended for bra0 ambient agents per arch-delta §3.1.1. Only targets policies carrying evo:agentRoleProfile (P0-4 fix: SPARQL target replaces sh:targetClass to avoid over-matching on non-ambient policies). Every ambient policy MUST declare a role profile (Reader/Writer/Trigger) and an enforceable bounded context. Q10 resolves at W06; shape works with partial resolution (Reader role only) for v0.8 narrow-first E7 ship.
Target class: ---
| Property path | Constraint | Cardinality | Validation message |
|---|---|---|---|
| dcterms:identifier | xsd:string · 1 | 1..odrl:Policy MUST carry dcterms:identifier (policy IRI slug). | |
| odrl:permission | 1 · odrl:Policy MUST carry ≥1 odrl:permission (at least one explicit permitted action). | — | |
| odrl:prohibition | 0 · odrl:Policy MAY carry odrl:prohibition (explicit prohibitions beyond Reader/Writer/Trigger defaults). | — | |
| evo:agentRoleProfile | xsd:string · 1 | 1..odrl:Policy for an ambient agent MUST declare evo:agentRoleProfile ∈ {Reader, Writer, Trigger} per arch-delta §3.1.1 (v0.8 narrow-first allows Reader only; WRITE/TRIGGER accept at v0.9 post-Q10). | |
| evo:declaredContext | sh:IRI · 1 | odrl:Policy MUST declare evo:declaredContext pointing at a named-graph IRI (bounded context — arch-delta v0.1.4 §3.2.2 predicate)...* |
SPARQL example
# List all shapes and their target classes PREFIX sh: <http://www.w3.org/ns/shacl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?shape ?label ?target WHERE { ?shape a sh:NodeShape ; rdfs:label ?label . OPTIONAL { ?shape sh:targetClass ?target } } ORDER BY ?label