def applyKnownNonColliders(self): newOrientationsFound = False for partiallyDirectedAgg in self.perspectiveToAgg.values(): for relVar1, relVar2 in EdgeOrientation._findKnownNonCollidersRemovals(partiallyDirectedAgg): if isinstance(relVar1, RelationalVariable) and isinstance(relVar2, RelationalVariable): self.propagateEdgeRemoval(partiallyDirectedAgg[relVar1][relVar2] [AbstractGroundGraph.UNDERLYING_DEPENDENCIES], recurse=True) self.recordEdgeOrientationUsage('KNC') logger.info("KNC Oriented edge: {node2}->{node3}".format(node2=relVar2, node3=relVar1)) newOrientationsFound = True return newOrientationsFound