Skip to content

Frontpage portal blocks + Seimas membership views & XSLT overrides - #8

Merged
namedgraph merged 3 commits into
masterfrom
frontpage-content-blocks
Jul 24, 2026
Merged

Frontpage portal blocks + Seimas membership views & XSLT overrides#8
namedgraph merged 3 commits into
masterfrom
frontpage-content-blocks

Conversation

@namedgraph

@namedgraph namedgraph commented Jul 24, 2026

Copy link
Copy Markdown
Member

What

Two related strands of work on the end-user LinkedDataHub app.

1. Frontpage portal (app/root.ttl)

Turns the LDH root document from a bare container listing into an introduced,
data-driven portal that visualises the main datasets and leads navigation into
key subpages. Ordered content blocks (rdf:_1 … rdf:_11):

  1. Mission intro (ldh:XHTML) + links to the SPARQL spec and EXAMPLES.md
    2–3. Apskritysldh:View / GridMode grid of the 10 top-level admin units
    (counties, cv:level atu:LTU_APS), rendered as coat-of-arms cards that drill
    into the :SubUnits view
    4–5. Frakcijų dydžiai — bar chart, current members per faction
    6–7. Seimo narius iškėlusios partijosldh:View / TableMode listing the
    nominating parties, clickable to their pages (previously a "members per party"
    bar chart)
    8–9. Komitetų ir komisijų pirmininkaildh:View / TableMode listing the
    current chair persons
  2. "Naršyti duomenų rinkinius" prompt
  3. #select-children — the container listing, kept last

2. Seimas membership views + client-side XSLT overrides

  • app/ns.ttl — 1:N inverse views (current/former members, units, nominated
    members, memberships), targeted by discriminating rdfs:range types.
  • etl/seimas/mappings/persons.rq + regenerated
    datasets/current/seimas/persons.trigorg:Membership /
    org:memberDuring intervals carrying a dct:title period label
    (e.g. "2024-11-14 – dabar") so the memberships table can show a readable period.
  • etl/shapes/seimas.ttl — matching SHACL shape updates.
  • files/overrides.xsl, client.xsl, layout.xsl + Makefile sef target +
    docker-compose.yml mounts + .gitignore + CLAUDE.md docs — end-user Saxon-JS
    XSLT overrides that tidy the memberships table and suppress the n-ary membership
    plumbing blocks. The compiled SEF (files/client.xsl.sef.json) and
    docker-compose.override.yml stay gitignored.

Notes

  • Embedded frontpage queries use the FROM <urn:x-arq:UnionGraph> cross-graph
    style and are base-agnostic (no hardcoded local URIs), so the committed root
    document works on any deployment base.
  • Views project a single entity type: LDH renders a view by DESCRIBE-ing the
    projected IRIs, so projecting label literals or several resource types yields an
    empty / muddled result. This is also why the parties block is a plain list — a
    DESCRIBE view can't render the aggregate member counts the old chart showed.
  • GridMode vs TableMode: counties carry foaf:depiction (coats of arms) → grid
    of thumbnail cards; parties have only a label → table.
  • The view blocks require the LinkedDataHub change that hoists the FROM clause
    when wrapping a view SELECT into DESCRIBE (otherwise the view returns 400).
    The faction bar chart renders without it.

Verification

  • riot --validate app/root.ttl passes; all embedded queries run green against a
    live deployment (10 counties, each with a depiction; 11 nominating parties).
  • Deployed via make install; the served root document confirms the block order,
    the GridMode/TableMode wiring, and removal of the old parties chart.

🤖 Generated with Claude Code

namedgraph and others added 3 commits July 24, 2026 13:09
Turn the bare children listing at the base URI into an introduced,
data-driven frontpage. app/root.ttl now carries an ordered sequence of
content blocks:

- short mission intro (ldh:XHTML), with links to /sparql and EXAMPLES.md
- two aggregation bar charts (ldh:ResultSetChart): faction sizes and
  members per nominating party, reusing the FROM <urn:x-arq:UnionGraph>
  cross-graph style
- a committee/commission chairs view (ldh:View, TableMode) listing the
  chair persons (single entity type, so LDH describes only persons)
- the container listing (#select-children) moved from rdf:_1 to last

The chart/view queries are base-agnostic (no hardcoded local URIs), so
the committed root document works on any deployment base. The chairs
view relies on the LinkedDataHub fix that hoists the FROM clause when
wrapping a view SELECT into DESCRIBE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add a GridMode view of the 10 top-level admin units (counties/apskritys,
  cv:level atu:LTU_APS), rendered as coat-of-arms cards that drill into the
  SubUnits view.
- Replace the "members per party" bar chart with a TableMode view listing the
  nominating parties, clickable to their pages. Parties have no foaf:depiction
  and a DESCRIBE-based view can't render the aggregate count, so it becomes a
  plain list rather than a grid/chart.
- Reorder blocks: intro -> counties -> factions chart -> parties -> chairs ->
  browse/listing.
- Point the intro SPARQL link at the W3C spec.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bundle the remaining outstanding work:
- app/ns.ttl: 1:N inverse views (current/former members, units, nominated
  members, memberships) with discriminating rdfs:range targeting.
- etl/seimas/mappings/persons.rq + regenerated datasets/current/seimas/persons.trig:
  membership org:memberDuring intervals carrying a dct:title period label.
- etl/shapes/seimas.ttl: matching SHACL shape updates.
- files/ (overrides.xsl, client.xsl, layout.xsl) + Makefile `sef` target +
  .gitignore + docs in CLAUDE.md: end-user Saxon-JS XSLT overrides that tidy the
  memberships table and suppress the n-ary membership plumbing blocks. The
  compiled SEF and docker-compose.override.yml stay gitignored.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@namedgraph namedgraph changed the title Frontpage content blocks: intro, charts, chairs view Frontpage portal blocks + Seimas membership views & XSLT overrides Jul 24, 2026
@namedgraph
namedgraph merged commit 1c45a3d into master Jul 24, 2026
4 checks passed
@namedgraph
namedgraph deleted the frontpage-content-blocks branch July 24, 2026 22:03
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