If the UmrfGraph::getUmrfs() method returns by value, e.g., std::vector<Umrf> UmrfGraph::getUmrfs(), and get passed to the umrf_json_converter::toUmrfJsonValue, then the name field under the relation of the resulting json string is corrupt.
If the UmrfGraph::getUmrfs() method returns by const reference, e.g., const std::vector<Umrf>& UmrfGraph::getUmrfs() const, then there is no problem.
Sounds like some weird memory allocation situation that's either caused by misuse of rapidjson or ill defined constructors of Umrf and its nested classes.