In production companies product traceability (what particular product is made of and where some material ended up) is important topic. It can be implemented as Sankey diagram, but the problem is filtering of data for particular serial number or batch.
In SMEs I work with traceability data is Directed Acyclic (hopefully) Graph (DAG) with 100k to few million edges and up to 20-25 levels deep. This amount of data cannot be sent to frontend. So, if we have a node at the front or the back of this DAG, we would like to filter out all the tree/dag which starts/ends in that node.
And the problem is -- if we try primitively -- by parent or child field, then only one level of this hieararchy of data is given. If we try to precalculate trees -- we waste a lot of resources: we get hundreds of millions of paths and that does not fit into allowed table sizes. Dynamic growing of filter criteria while generatings a graph (and doing that 20 times during single visual generation) is probably also not the best idea...
Functions for working with parent/child hierarchies also could not be used because typically that DAG branches a lot and from neither side single "parent" could be guaranteed (when working with bulk materials the same material is used in several products and each product is made from several materials). I understand that this is not strictly visual idea. It's a request to have option to filter trees in the backend. And with such an option sankey diagram could be adopted to new capabilities.