Skip to content

Combine biomarkerkg (BiomarkerKB KG) into biomarker (BiomarkerKB)#657

Merged
caufieldjh merged 1 commit into
mainfrom
combine-biomarker-biomarkerkg
Jul 15, 2026
Merged

Combine biomarkerkg (BiomarkerKB KG) into biomarker (BiomarkerKB)#657
caufieldjh merged 1 commit into
mainfrom
combine-biomarker-biomarkerkg

Conversation

@caufieldjh

Copy link
Copy Markdown
Collaborator

Combines the two near-identically-named resources into a single entry, per the decision to merge rather than disambiguate. Supersedes the closed disambiguation PRs #655 and #656.

biomarker (BiomarkerKB, the knowledgebase) survives as the single active entry and absorbs biomarkerkg (BiomarkerKB KG, the graph representation).

biomarker (surviving entry)

  • Absorbs the BKG products, with IDs renamed biomarkerkg.*biomarker.bkg.*:
    • biomarker.bkg.explorer (BKG Explorer), biomarker.bkg.nodes.* / biomarker.bkg.edges.* (6 + 5 dataset files)
    • The OKN/FRINK endpoints are named biomarker.sparql and biomarker.tpf (see sync note below)
  • Merges in the MaayanLab / Jeet Vora contacts and the okn collection; notes the BKG in the description
  • The foreign UBKG products are left in place (UBKG re-uses BiomarkerKB data)

biomarkerkg (deprecated stub)

  • Reduced to a redirect: activity_status: inactive, use_instead: biomarker, description explains the merge
  • Its 14 product-detail companion files are removed

Cross-listed source resources

The BKG node/edge products are also cross-listed under their ontology sources. Renamed biomarkerkg.*biomarker.bkg.* and source: biomarkerkgsource: biomarker in: obci, doid, dbsnp, glygen, pubchem, uberon. No biomarkerkg.* product references remain outside generated build artifacts.

FRINK sync (so it won't recreate biomarkerkg)

util/sync_frink.py:

  • Added alias biomarkerkgbiomarker in SHORTNAME_ALIASES, so a FRINK sync updates the biomarker page (e.g. its SPARQL/TPF endpoint URLs) instead of recreating a biomarkerkg directory.
  • merge_resource_metadata now takes preserve_identity: for an aliased entry it will not overwrite the canonical resource's name/description/homepage/status, but still merges products/contacts/collection. The endpoint products are named to match the sync's generated IDs (biomarker.sparql/biomarker.tpf) so they update in place — verified idempotent (a no-op sync when nothing upstream changed).
  • Added regression tests (tests/test_frink_sync.py); all 6 pass.

All eight changed resource files validate clean. (The one failing test_integrity case — publication identifiers in agro/sepio/unii — pre-exists on main and is unrelated.)

🤖 Generated with Claude Code

The registry had two very similarly named resources: `biomarker`
(BiomarkerKB, the knowledgebase) and `biomarkerkg` (BiomarkerKB KG, its
graph representation). Per maintainer decision, combine them into a
single entry to avoid confusion.

- biomarker.md: absorb the BKG products (explorer, node/edge datasets,
  OKN/FRINK SPARQL + TPF endpoints), renamed biomarkerkg.* -> biomarker.bkg.*
  (endpoints as biomarker.sparql / biomarker.tpf to match the FRINK sync
  output). Merge in the MaayanLab/Jeet Vora contacts and the okn collection,
  and note the KG in the description. Foreign UBKG products left as-is.
- biomarkerkg.md: reduce to a deprecated stub (activity_status: inactive,
  use_instead: biomarker); remove its 14 product companion files.
- Rename biomarkerkg.* -> biomarker.bkg.* and source: biomarkerkg ->
  biomarker in the cross-listed products under obci, doid, dbsnp, glygen,
  pubchem, and uberon.
- sync_frink.py: alias FRINK shortname "biomarkerkg" -> "biomarker" so the
  sync updates the canonical page (e.g. endpoint URLs) instead of
  recreating a biomarkerkg directory, and preserve the canonical resource's
  identity fields when merging an aliased entry. Add regression tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@caufieldjh
caufieldjh merged commit d7a8671 into main Jul 15, 2026
3 of 4 checks passed
@caufieldjh
caufieldjh deleted the combine-biomarker-biomarkerkg branch July 15, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant