pg-rdf-to-json
Version:
Transforms RDF files from rdf-files.tar.bz2 provided by Project Gutenberg into JS/JSON objects.
26 lines • 2.09 kB
JavaScript
// https://id.loc.gov/vocabulary/relators.json
import inputRelators from './relators.json' with { type: 'json' };
export const relators = new Map();
const labelKey = 'http://www.loc.gov/mads/rdf/v1#authoritativeLabel';
for (const relator of inputRelators) {
let url;
try {
url = new URL(relator['@id']);
}
catch (err) {
continue;
}
const matches = url.pathname.match(/\/(?<code>\w{3})$/);
if (!matches || !matches.groups) {
continue;
}
const label = relator[labelKey]?.[0]['@value'];
if (!label) {
continue;
}
relators.set(matches.groups.code, label);
}
// Manually add this as it's present in the data, but not the schema.
relators.set('unk', 'unknown');
relators.set('clb', 'collaborator');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5wdXQtc2NoZW1hcy9yZWxhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4Q0FBOEM7QUFDOUMsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUMsT0FBTyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFFbEUsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBRXZELE1BQU0sUUFBUSxHQUFHLG1EQUFtRCxDQUFDO0FBRXJFLEtBQUssTUFBTSxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7SUFDcEMsSUFBSSxHQUFHLENBQUM7SUFFUixJQUFJLENBQUM7UUFDSCxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixTQUFTO0lBQ1gsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFeEQsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQyxTQUFTO0lBQ1gsQ0FBQztJQUVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLFNBQVM7SUFDWCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsQ0FDVixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFDbkIsS0FBSyxDQUNOLENBQUM7QUFDSixDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLFFBQVEsQ0FBQyxHQUFHLENBQ1YsS0FBSyxFQUNMLFNBQVMsQ0FDVixDQUFDO0FBQ0YsUUFBUSxDQUFDLEdBQUcsQ0FDVixLQUFLLEVBQ0wsY0FBYyxDQUNmLENBQUMifQ==