La libreria oc_idmanager non esiste più per dei problemi di importazione circolare: è stata sostituita da un'unica libreria che svolge anche altri compiti, oc_ds_converter.

È possibile che una risorsa, per lo stesso DOI, abbia più PMIDs, verosimilmente per diverse versioni della stessa risorsa: --> noi prendiamo il PMID più alto e scartiamo gli altri.

La tabella di OpenAlex da utilizzare è quella con la forma seguente:

id,openalex doi:10.1239/edunewnejnnc,W12345 pmid:12343,W12345

La tabella di Meta da utilizzare ha la forma seguente:

omid,id(s),type "omid:123453","doi:10.1362/2173871 pmid:1363187 pmcid:12638713","journal article"

Nota che gli IDs associati ad una risorsa sono in una stringa, separati da uno spazio.

Per ogni risorsa in Meta si iterano gli identificativi ad essa associati; — per ciascuno di questi identificativi — — si iterano una per una le righe della tabella di OA per vedere a quale OAID corrisponde quell'identificativo.

È necessario cercare TUTTI gli identificativi di una singola risorsa in Meta all'interno di OA (anche se si è già trovata una corrispondenza sulla base di un identificativo), perché questo ci consente di trovare eventuali discrepanze tra i nostri dati e i loro, soprattutto nel modo in cui vengono rappresentati, ovvero ci consente di trovare se ad UNA risorsa in Meta corrispondono MULTIPLE entità in OA. Ad esempio, se una risorsa in Meta ha la riga seguente:

"omid:123453","doi:10.1362/2173871 pmid:1363187 pmcid:12638713","journal article"

Dovrò iterare tutta la tabella di OA finché non trovo tutti gli ID presenti in Meta, di fatto ripetendo la stessa operazione, in questo caso, per doi, pmid, e pmcid. Anche se, ad esempio, ho già mappato OMID e OAID sulla base del doi, dovrò comunque cercare anche il pmid e il pmcid. Per questa ragione, il valore del campo OAID nella tabella di mappatura dovrà essere un set, di modo che OAID uguali vengano "ignorati" e risulti invece visibile quando un omid corrisponda a più oaid.