Map validation results onto property-shape ROWS: returns
rowId -> worst severity so the shape view can badge the exact
row whose constraint failed (rows are real elements, so this is
the per-row badge the B3 design calls for). Row ids match
shaclShapesToStructural's via shaclRowId(shapeId, path).
Results whose violation path does not correspond to a property
row (e.g. sh:closed extra-property violations keyed by the
offending property, node-level violations) are skipped here; the
focus-node-level report overlays over the data graph carry those.
Map validation results onto property-shape ROWS: returns
rowId -> worst severityso the shape view can badge the exact row whose constraint failed (rows are real elements, so this is the per-row badge the B3 design calls for). Row ids match shaclShapesToStructural's via shaclRowId(shapeId, path).Results whose violation path does not correspond to a property row (e.g. sh:closed extra-property violations keyed by the offending property, node-level violations) are skipped here; the focus-node-level report overlays over the data graph carry those.