OpenRefine's Java code to query reconciliation services is in a pretty
bad state. For a while, I have wanted to start a Java library to query
reconciliation services, which OpenRefine could depend on instead.
I started a draft here:
For now it only contains the basic classes to represent objects involved
in the reconciliation API, with their JSON serialization. The HTTP layer
remains to be written.
I can also imagine that this becomes a basis to build reconciliation
services, not just reconciliation clients.
At this stage every choice I have made so far can easily be reversed, so
do not hesitate to give honest feedback. Contributions are of course
welcome (and I would be happy to host the repo elsewhere than in my
personal GitHub account.)
Writing this code from scratch is a good exercise to notice in which
ways the current API is unnatural (for instance, discrepancies of
serialization depending on the context). I am using this to feed into
the discussions about the API, in the W3C Community Group, because we
are in the process of making big changes to the API.
could also be used in OpenRefine's frontend (for instance to query