Jina learns two metadata profiles — academic sources stop losing their dates and publishers
The metadata parser was reading only blog/OpenGraph keys, so scholarly articles — whose data hides under Highwire/Dublin-Core/PRISM tags — arrived with no date and a weak publisher, and the operator hand-filled them. Now it detects the source KIND (academic-paper / article / company-landing / web-page), routes to the right parser profile, and resolves every field across all conventions. A Springer article now fills its authors, publisher, and date automatically.
Jina learns two metadata profiles
Jina always returned rich metadata for every source — we just weren't reading
it. The parser looked for blog/OpenGraph keys (article:published_time,
og:site_name), which scholarly pages don't set: they carry their metadata
under Highwire, Dublin-Core, and PRISM tags (citation_*, dc.*, prism.*).
So academic sources lost their publish date and got a weak publisher, and you
filled them in by hand.
Now jina.ts detects the source kind and routes to one of two parser
profiles:
structured—citation_*/dc.*/prism.*, for scholarly articles and anything with a DOI.opengraph—og:*/article:*/ generic, for blogs, news, company landing pages, and plain web pages.
Each field resolves across an ordered list of aliases spanning every
convention, so a value missing under one still resolves under another. Every
source now records its detected source_kind and parser_profile, and the
extractor accepts a forceProfile override — the foundation for a "re-parse
as…" button when detection is wrong (fast-follow, #79).
A live Springer article that used to arrive dateless now fills its four
authors, Springer US, and 2023-05-27 automatically.
Verified with a vitest suite whose academic fixture is the real metadata captured live from that article. Reaches augment.didi.sh on the next redeploy.
