No, that is not the expected behaviour.
The lambda function should get all the scalar fields from the parent object that are stored in dgraph, whether or not they were actually queried.
I think there is something wrong with your setup. We have a test for lambdas which works fine everytime: dgraph/lambda.go at master · dgraph-io/dgraph · GitHub
You can see there that the GraphQL query doesn’t query for dob
but the lambda field is still getting the correct dob
for the user and replying with that in the bio
field.
Could you reproduce the same on Slash/Dgraph Cloud?