| 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:ArtifactManifestation;
sh:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:hasObservedTargetManifestation MUST be a single IRI typed sflo:ArtifactManifestation.";
sh:nodeKind sh:IRI;
sh:path sflo:hasObservedTargetManifestation;
sh:severity sh:Violation.
|
| sh:property | sh:class sflo:HistoricalState;
sh:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:hasObservedTargetState MUST be a single IRI typed sflo:HistoricalState.";
sh:nodeKind sh:IRI;
sh:path sflo:hasObservedTargetState;
sh:severity sh:Violation.
|
| sh:property | sh:class sflo:LocatedFile;
sh:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:hasObservedTargetLocatedFile MUST be a single IRI typed sflo:LocatedFile.";
sh:nodeKind sh:IRI;
sh:path sflo:hasObservedTargetLocatedFile;
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:maxCount "1"^^xsd:integer;
sh:message "If present, sflo:observedTargetLocalRelativePath MUST be a single local relative path literal.";
sh:path sflo:observedTargetLocalRelativePath;
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.
|