# Extract few fields from a WoS file.
# Usage:
# npx ezs extract-fields.ini < corpus_WoS_vol1.json | jq
[use]
plugin = basics
[JSONParse]
[assign]
path = tmp.reprint_addresses
value = get('static_data.fullrecord_metadata.reprint_addresses.address_name', []).castArray().map(name => name.address_spec.full_address)
path = tmp.addresses
value = get('static_data.fullrecord_metadata.addresses.address_name', []).castArray().map(name => name.address_spec.full_address)
[replace]
path = uri
value = get("UID")
path = doi
value = get("dynamic_data.cluster_related.identifiers.identifier").filter(i => i.type === "doi").map("value").uniq()
path = title
value = get('static_data.summary.titles.title').filter(title => title.type === "item").map(title => title.content).join('|')
path = abstract
value = get('static_data.fullrecord_metadata.abstracts.abstract.abstract_text.p', []).castArray().map(s => String(s).replace(/<[^>]*>/g, "").replace("Key Points", "")).join(" ; ")
path = publication_year
value = get('static_data.summary.pub_info.pubyear')
path = source
value = get('static_data.summary.titles.title').filter(title => title.type === "source").map(title => title.content).join('|')
path = affiliations
value = get('tmp.addresses', []).concat(_.get(self, 'tmp.reprint_addresses')).remove(null).uniq()
path = countries
value = get('static_data.fullrecord_metadata.addresses.address_name', []).castArray().map("address_spec.country", []).uniq()
path = keywords
value = get('static_data.item.keywords_plus.keyword')
path = subjects
value = get('static_data.fullrecord_metadata.category_info.subjects.subject').map('content').uniq()
path = subheadings
value = get('static_data.fullrecord_metadata.category_info.subheadings.subheading').castArray().uniq()
path = headings
value = get('static_data.fullrecord_metadata.category_info.headings.heading').castArray().uniq()
[dump]
indent = true