I’ve working on to upload a list of natural reserves of China to wikidata recently for WikiLovesEarth. To be frankly, it's awkward to work with the API. Although the project grows faster now.
Some methods triggers the lazy load, while others like constructor can be an empty instance. Some triggers lazy save while others like setTarget might not be saved until addQualifer.
A loaded object doesn't know the difference between the downloaded state and changed state. Especially for the complicate project like wikidata, it makes the debugging hard and error prone.
The naming convention looks different than the document said.
Also, there's not a central place to look for the future development and version management.
So to speak, in my opinion, an ActiveRecord like model seems much more easier to debug. The bot operation should be I/O bounded, it makes sense to lower the burden of debugging/trying.