I do get a list of { uid: <uid> } but no other fields are even listed, are there specific reasons why a dataset would only return uid and no other fields? If a field is not set, will it get returned or break something?
CountryCard.description is not defined in your GraphQL example above, if you request a field in DQL that does not exist for a node it will not return null values but instead have no response in the JSON.
CountryCard.country returns a type not a scalar. You have to then request fields for this type to see any response:
I am going to assume that the CountryCard.status is also missing for your nodes hence not seeing anything in the response other than uids.
Again please refer to the article I linked above in this reply. I believe that will do better to answer the question. Bottom line it is all about schema mapping. GraphQL schemas get mapped into a DQL schema with type dotted syntax, but that is not required for DQL schemas. They can have a predicate with names not having the type dotted notation.