Combine biomarkerkg (BiomarkerKB KG) into biomarker (BiomarkerKB)#657
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 absorbsbiomarkerkg(BiomarkerKB KG, the graph representation).biomarker(surviving entry)biomarkerkg.*→biomarker.bkg.*:biomarker.bkg.explorer(BKG Explorer),biomarker.bkg.nodes.*/biomarker.bkg.edges.*(6 + 5 dataset files)biomarker.sparqlandbiomarker.tpf(see sync note below)okncollection; notes the BKG in the descriptionbiomarkerkg(deprecated stub)activity_status: inactive,use_instead: biomarker, description explains the mergeCross-listed source resources
The BKG node/edge products are also cross-listed under their ontology sources. Renamed
biomarkerkg.*→biomarker.bkg.*andsource: biomarkerkg→source: biomarkerin: obci, doid, dbsnp, glygen, pubchem, uberon. Nobiomarkerkg.*product references remain outside generated build artifacts.FRINK sync (so it won't recreate
biomarkerkg)util/sync_frink.py:biomarkerkg→biomarkerinSHORTNAME_ALIASES, so a FRINK sync updates thebiomarkerpage (e.g. its SPARQL/TPF endpoint URLs) instead of recreating abiomarkerkgdirectory.merge_resource_metadatanow takespreserve_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).tests/test_frink_sync.py); all 6 pass.All eight changed resource files validate clean. (The one failing
test_integritycase — publication identifiers in agro/sepio/unii — pre-exists onmainand is unrelated.)🤖 Generated with Claude Code