https://github.com/ros-planning/srdfdom/blob/04c7726f2437d5b09bdc790b64d116057b81a90b/include/srdfdom/model.h#L317
To better reflect actual semantics, this should be changed as follows:
-std::map<std::string, std::vector<JointProperty>> joint_properties_;
+std::map<std::string, std::map<std::string, std::string>> joint_properties_; // joint name -> (property name -> property value)
@scchow, it would be great if you could tackle this (and file a corresponding PR to the ROS2 branch as well).