| sh:property | sh:class dcterms:Agent;
sh:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:observedBy MUST be a single IRI or blank node typed dcterms:Agent.";
sh:nodeKind sh:BlankNodeOrIRI;
sh:path sflo:observedBy;
sh:severity sh:Warning.
|
| sh:property | sh:class sflo:ArtifactResolutionSpec;
sh:maxCount "1"^^xsd:integer;
sh:message "An ArtifactResolutionObservation MUST have exactly one sflo:observedArtifactResolutionSpec value typed sflo:ArtifactResolutionSpec.";
sh:minCount "1"^^xsd:integer;
sh:nodeKind sh:BlankNodeOrIRI;
sh:path sflo:observedArtifactResolutionSpec;
sh:severity sh:Violation.
|
| sh:property | sh:datatype xsd:dateTime;
sh:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:observedAt MUST be a single xsd:dateTime literal.";
sh:path sflo:observedAt;
sh:severity sh:Violation.
|
| sh:property | sh:datatype xsd:string;
sh:message "sflo:observedContentDigest values MUST be xsd:string literals.";
sh:path sflo:observedContentDigest;
sh:severity sh:Violation.
|
| sh:property | sh:message "sflo:observedContentDigest values SHOULD include an algorithm prefix followed by ':', for example sha256:<hex>.";
sh:path sflo:observedContentDigest;
sh:pattern "^[A-Za-z][A-Za-z0-9+._-]*:.+$";
sh:severity sh:Warning.
|