Validate data streams using SHACL.
Validate an incoming data stream using SHACL. If the incoming data is valid, it is sent unchanged into the outgoing stream. Otherwise, the SHACL validation report is sent into an optional report
channel for further investigation.
path
: a local file path which points to a SHACL definition.incoming
: channel which is used as the data source.outgoing
: channel into which valid data is written.report
: an optional channel into which the SHACL reports of invalid input data is written. (default:null
)validationIsFatal
: throw a fatal error if validation fails. (default:false
)
At the time of writing, all files are read and serialized in the Turtle format. Additional options may be available in the future.
Turtle prefixes are hard coded for the time being. Ideally, these should be based on the prefixes used in the input data, or omitted at the user's request.
const prefixes = new PrefixMapFactory().prefixMap();
prefixes.set("ex", rdf.namedNode("http://example.org#"));
prefixes.set("sh", rdf.namedNode("http://www.w3.org/ns/shacl#"));