The documentation of FieldValueSet states "Up to 12 lookup fields may be requested in a single query. The server returns lookup values if your request includes a select
statement with the fields you need".
I understand this to mean that if my list has more than 12 lookup columns, I can get the specific column(s) I need (up to 12) if I use a select statement to specify them. This works if I select for a single list item, it does not work if I select for multiple list items in a single query.
For my test setup I created a single list with 13 PeopleOrGroup columns named Person1 to Person13 and just two list items. All 13 PeopleOrGroup columns in the first item are populated.
This query works as expected, i.e. the value of item 1 column Person13LookupId is returned.
https://graph.microsoft.com/beta/sites/$siteId/lists/$listId/items/1?expand=fields(select=Title,Person13LookupId)
But this query doesn't work, Person13LookupId is not included in the returned fields
https://graph.microsoft.com/beta/sites/$siteId/lists/$listId/items?expand=fields(select=Title,Person13LookupId)
If I repeat the exercise with Person12LookupId in place of Person13LookupId the Person12 value is returned in both instances (single item query & multiple item query). If I'm reading the documentation correctly, then this API doesn't work as documented. I have a requirement to retrieve specific lookupfield values from a large list with more than 12 lookupfields in total and I am unable to do this efficiently in a single query. Rather I have to query each list item separately to get the lookup fields I need.