If you have a data model looking like this:
As you can see: a Company has multiple Materials as can a Material have multiple Companies, same for Characteristic. 2 many-to-many associations (the same can be achieved with 1-to-many associations btw) you can basically get the behavior you want just by using Listviews- and listeners:
Hope this helps.
I can think of the following two solution, ofcourse there can be more depending upon your data model design;
- populate the next dropdowns using a microflow by using the values selected in the previous dropdowns,
- using the ‘Constrained by’ option by selecting the relevant association