Add Knowledge Graphs dashboard pages#2001
Merged
kevinschaper merged 9 commits intomainfrom Jan 23, 2026
Merged
Conversation
Implement dynamic dashboard pages for upstream knowledge graphs with: - Index page showing all KGs with comparison table (nodes, edges, normalization rates) - Detail pages with normalization pipeline funnels, knowledge source flow diagram, epistemic robustness scores, edge type validation, and ABox/TBox classification - Dynamic SQL generation for pipeline metrics via generate-release-sql.cjs - Consolidated SQL sources (kg_list, kg_summary, kg_categories, kg_predicates) Removes old hardcoded KG-specific pages (rtx-kg2_normalization, robokop_normalization) in favor of the new parameterized approach. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Handle missing node levels (e.g., unifiedNodes) gracefully by defaulting to empty arrays instead of destructuring undefined values. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
|
This pull request has been automatically marked as stale because it has had no activity in the last 14 days. If this PR is still relevant:
Otherwise, it will be closed in 2 weeks if no further activity occurs. |
Resolved conflict in generate-release-sql.cjs by keeping both: - bqReleaseVersion (from feature branch) for dataset ID construction - benchmarkVersion (from main) for major-releases-only filtering Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
|
This pull request has been automatically closed because it has been stale for 90 days with no activity. If you believe this is still relevant, please feel free to reopen it or create a new PR. |
- Replace LIKE '%kg%' with proper SPLIT/UNNEST pattern for upstream_data_source filtering - Fix duplicate Step 5 comment (now Step 6) in generate-release-sql.cjs - Add documentation for isMajorRelease function clarifying its purpose Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add generateKGVersionsSQL() to create kg_versions.sql from globals.yml - Remove VITE_kg_versions JSON export from Makefile - Update index.md to query kg_versions via SQL join instead of JSON parsing - Add version display to Knowledge Graphs detail page header - Add Version column to Knowledge Graphs index comparison table - Update build/clean targets for kg_versions.sql This removes the need for hardcoded version variables and makes KG version data available through the same SQL query pattern as other dashboard data. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
BigQuery returns 'rtx-kg2' (with hyphen) but globals.yml uses 'rtx_kg2' (with underscore). This caused: - Version JOIN to fail (no match) - Display name to fall through to ELSE case showing 'Rtx-Kg2' Fix: - Add GLOBALS_TO_BQ_NAME mapping in generate-release-sql.cjs - Update CASE statements in kg_list.sql and kg_summary.sql to match 'rtx-kg2' Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
JacquesVergine
approved these changes
Jan 22, 2026
Collaborator
JacquesVergine
left a comment
There was a problem hiding this comment.
Looks good to me, thanks Kevin!
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.
Add Knowledge Graphs Dashboard Pages
Summary
generate-release-sql.cjskg_list,kg_summary,kg_categories,kg_predicates)What's Changed
rtx-kg2_normalization.md,robokop_normalization.md[knowledge_graph].mdrobokop_node_summary.sql, etc.)kg_summary.sql,kg_pipeline_metrics.sqlglobals.ymlat build timeComplexity Notes
1. RTX-KG2 Naming Mismatch
There's an inconsistency between config and BigQuery naming:
globals.ymlusesrtx_kg2(underscore)upstream_data_sourceusesrtx-kg2(hyphen)This is handled by an explicit mapping in the SQL generator:
And when generating
kg_versions.sql:2. KG Discovery via Table Pattern Matching
The script auto-discovers KG sources by pattern-matching BigQuery table names rather than hardcoding a list. New KGs are automatically picked up if their tables follow the naming convention:
Table names are parsed to extract KG source, entity type, and stage:
3. Exclusion Lists (Repeated in Multiple Places)
Non-KG data sources are excluded to ensure the Knowledge Graphs section only shows upstream graph sources. This logic is repeated in:
SQL sources (
kg_list.sql,kg_summary.sql):JavaScript generator (
generate-release-sql.cjs:220):4. Version Extraction from globals.yml
KG versions are now extracted at build time from
pipelines/matrix/conf/base/globals.ymland written tokg_versions.sql. This replaces the previous Makefile approach that parsed globals.yml via shell commands and passed versions as env vars.The explicit KG source list ensures only actual upstream knowledge graphs get versions displayed:
Files Changed
Added
pages/Knowledge Graphs/index.md- Index page with comparison tablepages/Knowledge Graphs/[knowledge_graph].md- Dynamic detail pagesources/bq/kg_list.sql- KG listing with display namessources/bq/kg_summary.sql- Aggregate metrics per KGsources/bq/kg_categories.sql- Top category pairs per KGsources/bq/kg_predicates.sql- Top predicates per KGRemoved
pages/normalization/robokop_normalization.mdpages/normalization/rtx-kg2_normalization.mdsources/bq/robokop_node_summary.sqlsources/bq/robokop_edge_summary.sqlsources/bq/rtx_kg2_node_summary.sqlsources/bq/rtx_kg2_edge_summary.sqlModified
scripts/generate-release-sql.cjs- Added KG discovery and version extractionMakefile- Removed version env vars, added new SQL targetspages/normalization/index.md- Added link to Knowledge Graphs section