feat(species): derived verified reference links (GBIF/Wikipedia/Wikispecies)
Add a read-only "Learn more" section on the variety detail that surfaces verified external references for the linked species, built deterministically from bundled identifiers — no titles bundled, no network, offline-first: - GBIF taxon page from the backbone key - Wikipedia via Wikidata Special:GoToLinkedPage (locale-aware, RTL-safe, falls back to the Wikidata item when a language lacks the article) - Wikispecies from the scientific name Enrich the bundled catalog (species.json v3) with gbif_key + wikidata_qid for all 14 species, cross-checked (each QID carries GBIF ID P846 = the key). Schema already had the columns; seedBundled now persists and backfills them. The grower's own manual links stay but are demoted (progressive disclosure): the section only shows when links exist and "Add link" is a low-emphasis button, since hand-adding a link is the rarer power move. Pure-Dart link builder is unit-tested; repo persistence/backfill and the detail-screen section are covered too.
This commit is contained in:
parent
ba87bf2719
commit
fde0ea6eab
14 changed files with 484 additions and 46 deletions
|
|
@ -1,90 +1,118 @@
|
|||
{
|
||||
"version": 2,
|
||||
"note": "Curated starter set of common horticultural species — a seed, not a region-locked list. `common` is a locale-keyed map extensible to ANY language (add es/en/fr/de/ar/zh/…); the app resolves names by the user's locale and falls back gracefully, so this must never assume es/en only. Names are enriched later per-locale from the varilla (Wikidata CC0 + GBIF) work, which carries vernacular names in every language. viability_years is typical seed longevity under normal home storage (public-domain agricultural-extension figures); a conservative single value, used to warn about aging lots.",
|
||||
"version": 3,
|
||||
"note": "Curated starter set of common horticultural species — a seed, not a region-locked list. `common` is a locale-keyed map extensible to ANY language (add es/en/fr/de/ar/zh/…); the app resolves names by the user's locale and falls back gracefully, so this must never assume es/en only. Names are enriched later per-locale from the varilla (Wikidata CC0 + GBIF) work, which carries vernacular names in every language. viability_years is typical seed longevity under normal home storage (public-domain agricultural-extension figures); a conservative single value, used to warn about aging lots. `gbif_key` (GBIF backbone taxon key) and `wikidata_qid` (Wikidata item) are verified cross-checked identifiers (each QID carries GBIF ID P846 = the key here); the app derives locale-aware reference links (GBIF, Wikipedia via Wikidata GoToLinkedPage, Wikispecies) from them — no titles are bundled.",
|
||||
"species": [
|
||||
{
|
||||
"scientific_name": "Solanum lycopersicum",
|
||||
"family": "Solanaceae",
|
||||
"common": { "es": ["Tomate"], "en": ["Tomato"] },
|
||||
"viability_years": 5
|
||||
"viability_years": 5,
|
||||
"gbif_key": 2930137,
|
||||
"wikidata_qid": "Q23501"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Solanum melongena",
|
||||
"family": "Solanaceae",
|
||||
"common": { "es": ["Berenjena"], "en": ["Aubergine", "Eggplant"] },
|
||||
"viability_years": 5
|
||||
"viability_years": 5,
|
||||
"gbif_key": 2930617,
|
||||
"wikidata_qid": "Q7540"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Capsicum annuum",
|
||||
"family": "Solanaceae",
|
||||
"common": { "es": ["Pimiento", "Guindilla"], "en": ["Pepper", "Chilli"] },
|
||||
"viability_years": 3
|
||||
"viability_years": 3,
|
||||
"gbif_key": 2932944,
|
||||
"wikidata_qid": "Q1380"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Phaseolus vulgaris",
|
||||
"family": "Fabaceae",
|
||||
"common": { "es": ["Judía", "Alubia", "Habichuela"], "en": ["Common bean"] },
|
||||
"viability_years": 3
|
||||
"viability_years": 3,
|
||||
"gbif_key": 5350452,
|
||||
"wikidata_qid": "Q42339"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Vicia faba",
|
||||
"family": "Fabaceae",
|
||||
"common": { "es": ["Haba"], "en": ["Broad bean", "Fava bean"] },
|
||||
"viability_years": 4
|
||||
"viability_years": 4,
|
||||
"gbif_key": 2974832,
|
||||
"wikidata_qid": "Q131342"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Pisum sativum",
|
||||
"family": "Fabaceae",
|
||||
"common": { "es": ["Guisante"], "en": ["Pea"] },
|
||||
"viability_years": 3
|
||||
"viability_years": 3,
|
||||
"gbif_key": 5347845,
|
||||
"wikidata_qid": "Q25237"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Zea mays",
|
||||
"family": "Poaceae",
|
||||
"common": { "es": ["Maíz"], "en": ["Maize", "Corn"] },
|
||||
"viability_years": 2
|
||||
"viability_years": 2,
|
||||
"gbif_key": 5290052,
|
||||
"wikidata_qid": "Q11575"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Cucurbita pepo",
|
||||
"family": "Cucurbitaceae",
|
||||
"common": { "es": ["Calabacín", "Calabaza"], "en": ["Courgette", "Zucchini", "Squash"] },
|
||||
"viability_years": 5
|
||||
"viability_years": 5,
|
||||
"gbif_key": 2874508,
|
||||
"wikidata_qid": "Q7229863"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Cucumis sativus",
|
||||
"family": "Cucurbitaceae",
|
||||
"common": { "es": ["Pepino"], "en": ["Cucumber"] },
|
||||
"viability_years": 5
|
||||
"viability_years": 5,
|
||||
"gbif_key": 2874569,
|
||||
"wikidata_qid": "Q23425"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Lactuca sativa",
|
||||
"family": "Asteraceae",
|
||||
"common": { "es": ["Lechuga"], "en": ["Lettuce"] },
|
||||
"viability_years": 3
|
||||
"viability_years": 3,
|
||||
"gbif_key": 7403263,
|
||||
"wikidata_qid": "Q83193"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Beta vulgaris",
|
||||
"family": "Amaranthaceae",
|
||||
"common": { "es": ["Acelga", "Remolacha"], "en": ["Chard", "Beetroot"] },
|
||||
"viability_years": 4
|
||||
"viability_years": 4,
|
||||
"gbif_key": 8971274,
|
||||
"wikidata_qid": "Q165191"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Allium cepa",
|
||||
"family": "Amaryllidaceae",
|
||||
"common": { "es": ["Cebolla"], "en": ["Onion"] },
|
||||
"viability_years": 1
|
||||
"viability_years": 1,
|
||||
"gbif_key": 2857697,
|
||||
"wikidata_qid": "Q23485"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Allium sativum",
|
||||
"family": "Amaryllidaceae",
|
||||
"common": { "es": ["Ajo"], "en": ["Garlic"] },
|
||||
"viability_years": 1
|
||||
"viability_years": 1,
|
||||
"gbif_key": 2856681,
|
||||
"wikidata_qid": "Q23400"
|
||||
},
|
||||
{
|
||||
"scientific_name": "Daucus carota",
|
||||
"family": "Apiaceae",
|
||||
"common": { "es": ["Zanahoria"], "en": ["Carrot"] },
|
||||
"viability_years": 3
|
||||
"viability_years": 3,
|
||||
"gbif_key": 3034742,
|
||||
"wikidata_qid": "Q30056"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue