Currently, the mediawiki/page/properties-change schema uses an object with undefined properties for added_properties and removed_properties. This makes it difficult to use in typed systems, and keeps us from importing the data into the Hive based data lake.
I believe this was done before we added support for map types. We should modify those fields to be string -> string map types, and make sure that EventBus only emits string values for the changed properties.
Even now, the emitted types are inconsistent for the same page property values. Here are some recent values from an event:
"added_properties": { "wb-claims": 41, "wb-identifiers": 18 }, "removed_properties": { "wb-claims": "40", "wb-identifiers": "17" }
The added values are ints, but the removed values are strings.