Je berekent de “intersectie” van de polygonen en analyseert daarna of deze intersectie 0.9 of meer van het oppervlak van een van de polygonen is. Iedere intersectie komt 2 keer voor in je eerste berekening: A met B en B met A. Bovendien kan het gebeuren, dat A niet alleen met B overlapt, maar ook met C en D? Dus dan moet je de polygoon nemen met de meeste overlap, oftewel de grootste intersectie.
Door “expressie” neem ik aan, dat je een berekening wil doen met de “Field Calculator” in QGIS? Ik denk, dat je meer resultaat boekt met Vector > Geoprocessing Tools > Intersection...
voor de eerste stap. Succes! 