How to attach arbitrary key-value metadata to node or edge

On the 2021 roadmap is an item that might interest you: Support for JSON blob (as a predicate type). With that you can store whatever you want in one predicate, with some level of validation.