Inlining roles in attribution allows looking up their mappings. This
means that whichever role qualifies as an author attribution (as
opposed to, e.g., a funding attribution) can be expressed in the pool
by declaring a broad mapping. Previously, we relied on a narrow
mapping of an author to be declared in the code.
This is enabled by two changes done elsewhere in recent weeks:
- query-things (former query-research-group): inline-records will no
longer error when the requested property is not present (1)
- pool-publication-page: publication.py will also work with inlined
roles; if the role is inlined it will check broad_mappings before
resorting to a predefined list (2)
One thing to note is that now if attributed_to::roles is not present,
inline-records will drop the entire attribution (instead of keeping it
and inlining just the object). This is inconsequential, as
publication.py would only consider attributions with roles anyway.
(1) e4c9d4498e
(2) 35c21b9123
The CLI of join-association.py was changed to require explicit output
declaration (with - being stdout), making it consistent with other
filters in that project, in (1). This commit accounts for that change.
7f894c5bd0