The predicate should name the actual relationships involved, not the names of the entities.
ie:
[NSPredicate predicateWithFormat:@"relationshipNameToEntityB.relationshipNameToEntityC.attributeNameOnEntityC == %@", filter];
This is all going to be very vague without more details about your entities.