and say the above predicates are never used, will this have a significantly bad effect on memory used, or will they only take up a lot of memory once the predicate’s value is defined?
The second one. If the predicate doesn’t exist, if you mutate with “null” (which Dgraph doesn’t supports) it will be empty. And if it is empty, the query system will ignore it. So nothing will go to memory at all.
But I’m a bit confused (not much) about what you mean by “memory”. Do you mean storage or RAM? I see that sometimes people use “memory” as a synonym of storage.