OData $filter with multiple predicates
Solution 1:
You can definitely combine predicates in the $filter. For example:
/People?$filter=endswith(LastName,'Smith') and startswith(FirstName,'Mary')
For details around supported operators and such please see this page: http://www.odata.org/documentation/odata-version-2-0/uri-conventions#FilterSystemQueryOption Currently OData doesn't have a way to express the question "People which have at least one address". Depending on your data it might be feasible to download all People fulfilling the first criteria and determine those with address on the client instead.