Claude/matgui demo queries 5typ1d - #1
Conversation
…#133) Add 107 demo queries in demo-queries/ covering ERA RINF, EU Publications Office authority tables, EuroVoc and Cellar, data.europa.eu, GeoSPARQL on Apache Jena (incl. the apache-jena-fuseki-geosparql examples), Wikidata, DBpedia, OpenStreetMap (QLever), UniProt, Getty, AGROVOC and LOV. scripts/demo_queries.py validates the queries and converts them to the RDF model of MatGUI's SPARQL workspaces. A GitHub workflow validates and smoke-tests them, and on main replaces the default graph of the matgui-demo Jena dataset. The site registers the demo workspace and adds a Demo queries link in the footer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
- data.europa.eu: read vocabularies from their named graphs and drop whole-catalogue aggregates that hit the 60s gateway timeout - Publications Office authority tables: SELECT DISTINCT (concepts are stored in several graphs, which multiplied rows and caused timeouts) - ERA maps: find WKT geometries generically; replace the empty ETCS query with a track property overview - Wikidata: resolve classes by label; DBpedia: multilingual labels - UniProt: declare the rdf: prefix; validator now rejects undeclared prefixes - remove the LOV folder (endpoint returns 404) - smoke test follows 307/308 redirects and retries with GET on 403/405 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
…ver host - ERA maps accept typed WKT, plain WKT strings and WGS84 lat/long, on the resource or one hop away - Publications Office authority tables that took 60-90s now query the table's named graph directly - OpenStreetMap endpoint moved to qlever.dev - smoke test keeps the redirect note when it retries with GET Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
…al points Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
…bel lookup Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
- graph-plugin/: 9 CONSTRUCT/DESCRIBE queries showing rdfs:label node text, schema:icon emoji, schema:image pictures, class nodes, compact mode and double-click expansion, on inline data, Wikidata, DBpedia, ERA RINF, EuroVoc and data.europa.eu - federated/: 8 queries run on the Jena demo endpoint that join ERA, Wikidata, Publications Office, data.europa.eu, DBpedia, AGROVOC and UniProt with SERVICE, including local GeoSPARQL on remote data Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
- philosophers influence graph moves to Wikidata P737 (DBpedia no longer has dbo:influencedBy for them) - DBpedia -> Wikidata: abstract is optional (rdfs:comment) - Wikidata + AGROVOC: accept both 'c_123' and '123' IDs, include sub-subclasses of cereal Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WZxQ3LgrC1zQFfHqfAoZPn
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
The publish workflow destructively replaces a live Jena dataset's default graph using repository credentials, and the front-end JS depends on Yasgui library internals that cannot be verified here, so human review is warranted.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
This PR adds a curated "MatGUI demo queries" feature to the MatGUI (YASGUI fork) site. It introduces ~120 ready-to-run SPARQL example queries (as plain .rq files) spanning ERA RINF, the EU Publications Office, data.europa.eu, GeoSPARQL, Wikidata, DBpedia, OpenStreetMap, UniProt, Getty and AGROVOC, plus federated and Graph-plugin showcases. A Python tool converts these files into the RDF workspace model MatGUI's SPARQL workspace backend understands, and a GitHub workflow validates, smoke-tests, and publishes them to a Jena dataset. The front end gains a "Demo queries" footer button and JS that registers/activates the read-only demo workspace.
Changes:
- New
scripts/demo_queries.pywithvalidate/build/smoke-test/publishsubcommands anddemo-queries/content (queries +workspace.json). - New
.github/workflows/demo-queries.ymlthat validates and smoke-tests on every change and publishes the workspace RDF to Jena onmain/nightly. - Front-end integration: footer "Demo queries" button (
src/index.html) and workspace registration/activation logic (src/main.js), plus README documentation.
| File | Description |
|---|---|
src/main.js |
Registers/updates and activates the read-only demo workspace and wires the footer button to the query browser. |
src/index.html |
Adds the "Demo queries" footer button, reusing the existing .credits-link styling/ARIA pattern. |
scripts/demo_queries.py |
Core tooling to parse .rq headers, validate metadata/SPARQL, build workspace Turtle, smoke-test endpoints, and publish via Graph Store Protocol. |
.github/workflows/demo-queries.yml |
CI to validate/build (artifact), non-blocking smoke-test, and publish to Jena on main/nightly. |
demo-queries/workspace.json |
Declares workspace IRI, endpoint aliases, and folder labels/default endpoints. |
demo-queries/**/*.rq (~120 files) |
Example SPARQL queries grouped into workspace folders (era-rinf, publications-office, data-europa-eu, geosparql, graph-plugin, federated, wikidata, dbpedia, openstreetmap, life-sciences, cultural-heritage, agriculture, getting-started). |
README.md |
Documents the demo-queries feature, file format, tooling commands, and publishing workflow. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

No description provided.