NSPredicate sintaxis de subconsulta

Tengo una especie de matriz hostil de diccionarios que a su vez tienen matrices de datos y estoy tratando de filtrar la matriz externa en función de cualquiera de las matrices internas que pasan un predicado. Parece que no puedo crear un NSPredicate para que esto funcione. Empecé con:

NSPredicate *lookupPredicate = [NSPredicate predicateWithFormat:
             @"row_values.property_id == %@ AND row_values.property_value == %@",
               @"47cc67093475061e01000540", @"Male"];

[dataRows filterUsingPredicate:lookupPredicate];

Esto no devuelve valores. He intentado varias formas de CUALQUIERA pero parece que no puedo encontrar nada que pueda analizar. Nuevamente, el objetivo es mantener solo los diccionarios de matriz externa donde el predicado para CUALQUIERA del contenido del diccionario de matriz interna es verdadero. Puedo verme masticando un día descubriendo el encantamiento para que esto funcione ... ¿alguna idea?

dataRows:
(
 {
    row = 1;
    "row_values" =     (
            {
              "property_id" = 47cc67093475061e01000542;
              "property_value" = "Mr.";
            },
            {
               "property_id" = 47cc67093475061e01000540;
               "property_value" = Male;
            }
     );
 },
 {
    row = 2;
    "row_values" =     (
           {
             "property_id" = 47cc67093475061e01000542;
             "property_value" = "Ms.";
           },
 ...
   }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta