Just to emphasise that mapping to vocabularies and shapes is tricky too.
It might be of interest to see how typescript interfaces generated from a shex shape deal with this, e.g. in a previous post: Using shape expressions to become interoperable just got a whole lot easier
1 Like