jsonld: inline isBasedOn Dataset in StatisticalReport (fix 3rd GSC Dataset item) - #1442
Merged
Conversation
…tton style (#1440) * fix: Virtuals chain detection + update methodology text for Relay/Mobula * chart export v3: dimmer watermark, toBlob download path, unified Image/Video button style --------- Co-authored-by: Florent Tapponnier <contact@mobula.io>
Rich Results Test on ws-head-latency-ethereum confirmed 3 Datasets detected (bench + isPartOf + isBasedOn) with one invalid. The mystery 3rd was the @id-only isBasedOn ref inside StatisticalReport. Same failure mode as isPartOf (already fixed in PR #1429): Google validates each Dataset in isolation and does not stitch @id refs even inside the same @graph. Inline the required fields (name, description, url, creator, license) on the isBasedOn ref so it validates on its own. Same pattern as isPartOf.
4 tasks
Flotapponnier
added a commit
that referenced
this pull request
Jul 25, 2026
…+ alt pages) (#1443) Deep-check after PR #1442 caught 4 more @id-only refs Google could flag as standalone incomplete Datasets: - benchmarks/[slug]/[chain] TechArticle: about + isPartOf (cross-page refs to parent bench Dataset + Article). about becomes {@type:Thing, name: metric}; isPartOf gets name+url inlined. - benchmarks/[slug] TechArticle: about (same-page but Google flagged even same-graph refs). Becomes {@type:Thing, name: metric}. - alternatives/[slug] Article: about (same-page). Becomes {@type:Thing, name: bench.metric}. Semantically cleaner too: 'about' on an article should describe the topic (Thing), not a data source. Matches the pattern already used by StatisticalReport.about. Co-authored-by: Florent Tapponnier <contact@mobula.io>
Flotapponnier
added a commit
that referenced
this pull request
Jul 25, 2026
…k) (#1444) * jsonld: replace remaining @id-only refs with Thing/inline (fix chain + alt pages) Deep-check after PR #1442 caught 4 more @id-only refs Google could flag as standalone incomplete Datasets: - benchmarks/[slug]/[chain] TechArticle: about + isPartOf (cross-page refs to parent bench Dataset + Article). about becomes {@type:Thing, name: metric}; isPartOf gets name+url inlined. - benchmarks/[slug] TechArticle: about (same-page but Google flagged even same-graph refs). Becomes {@type:Thing, name: metric}. - alternatives/[slug] Article: about (same-page). Becomes {@type:Thing, name: bench.metric}. Semantically cleaner too: 'about' on an article should describe the topic (Thing), not a data source. Matches the pattern already used by StatisticalReport.about. * chart watermark v4: branded composition — C-mark between two hairlines + openchainbench.com wordmark below --------- Co-authored-by: Florent Tapponnier <contact@mobula.io>
Flotapponnier
added a commit
that referenced
this pull request
Jul 25, 2026
…k) (#1444) (#1445) * jsonld: replace remaining @id-only refs with Thing/inline (fix chain + alt pages) Deep-check after PR #1442 caught 4 more @id-only refs Google could flag as standalone incomplete Datasets: - benchmarks/[slug]/[chain] TechArticle: about + isPartOf (cross-page refs to parent bench Dataset + Article). about becomes {@type:Thing, name: metric}; isPartOf gets name+url inlined. - benchmarks/[slug] TechArticle: about (same-page but Google flagged even same-graph refs). Becomes {@type:Thing, name: metric}. - alternatives/[slug] Article: about (same-page). Becomes {@type:Thing, name: bench.metric}. Semantically cleaner too: 'about' on an article should describe the topic (Thing), not a data source. Matches the pattern already used by StatisticalReport.about. * chart watermark v4: branded composition — C-mark between two hairlines + openchainbench.com wordmark below --------- Co-authored-by: Florent Tapponnier <contact@mobula.io>
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.
Root cause
Rich Results Test on /benchmarks/ws-head-latency-ethereum (crawled 22:13, post-#1429 deploy) confirmed 3 Datasets detected, some invalid. My earlier scan only counted 2 (bench Dataset + isPartOf inline). The mystery 3rd was the @id-only
isBasedOnref inside StatisticalReport, line 269.Same failure mode as PR #1429 (isPartOf): Google validates each Dataset in isolation and does NOT stitch @id refs, even within the same @graph. So
isBasedOn: {"@id": ...}gets validated as a standalone Dataset and flagged for missing name/description/creator.Fix
Inline the required Dataset fields on the isBasedOn ref. Same pattern as the isPartOf fix.
Test plan