In Which A Book Lexicon is Born

I can’t really tell what you mean by this exactly from this description alone. Would you mind explaining further?

Sure, but how does BookHive, or another app contribute to this bag of identifiers? Where does the identifiers live?

You might be able to do this with BookHive given my dataset is public, but another application which is not, will be impossible to do.

This will be very hard, I would even say firmly, it should not be done. There will always be mismatches between datasets, and it will be an MxN problem. Exponentially hard when you account for other providers’ datasets.

I think that the local optimum solution here is for the user to have the power to make this mapping on their own case-by-case basis. Like, for example, given a book record in their PDS like:

title: "ABC", authors: ["XYZ"], identifiers: [{ type: 'hiveId', src: 'bookhive.buzz', id: 'h_123'}]
And an XRPC method, implemented across services, to search for books like:
id: 'community.book.search', type: 'query', params: { q: { type: 'string' }, output: { title: string, authors: string[], cover: string, identifiers: [{type: string, id: string}] } }

then each application would be able to make a book matching UI for migrating books across services (if multiple services implement the same XRPC method shape). While also giving the user agency in 1) how to map that book (since the record may not be valid in one dataset or inaccurate in another) 2) freedom for independent services for migrating between accounts (similar to those spotify < - > apple music migrators).
This would move the burden of mapping between datasets on the user & if an application wanted to have a more friction-free experience it is up to them to implement that if they so choose to. Applications can even build up datasets of previously mapped books to offer as suggestions.

I can’t speak to how often such a thing would happen, but given the complexity of this as is, I’d lean towards reducing scope than trying to account for every situation. But, “to each, their own”.