Description
The current definition of ShapeMap in the spec declares that it associates a node with a set of shape labels.
One possible extension is to use a data structure where a node is associated with two sets, one for positive shapes and one for negative shapes. During the validation process, the validator checks wether a node conforms with a shape label in which case it adds it to the positive shapes, or if it doesn't it adds it to the negative shapes.
In case a shape is both in the positive and negative shapes associated with a node, it would be not valid.
During the implementation I found it useful to keep track of the nodes that failed to conform to a shape.
Should we extend the definition of ShapeMap to contain the negative declarations?
If we allow this kind of shape maps, then the spec could be declared as a function from an RDF graph, a ShEx schema and a ShapeMap to another ShapeMap or a contradiction.
Although we can leave the current spec as is, I raise this issue to have some discussion about this alternative definition of ShapeMap even if it is to discard it.