From a6ca7e36115d7ba36eedd538c109aefe09c8e0ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Jusevi=C4=8Dius?= Date: Thu, 29 Oct 2026 19:10:35 +0100 Subject: [PATCH] A list of resources is a view, whatever it joins in The view and chart descriptions already said a chart shows values and a view shows resources. A cold agent over MCP, given those descriptions in 2.0.2, still put a household's possessions in a Table chart: it wanted each thing's shop, price and date of purchase beside it, those live on the order and offer, and only a chart shows a join. Nothing said where such values go instead, so the chart looked like the only way, and it showed each thing as its address. ldh-AddResultSetChart now says a query returning a row per resource, with the resource's URI among its variables, belongs in a view however much it joins in; ldh-AddView says the related values are shown by each resource's own page, and what summarises them by a chart beside it. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 10 ++++++++++ .../operations/linkeddatahub/add_result_set_chart.py | 5 +++++ src/web_algebra/operations/linkeddatahub/add_view.py | 5 +++++ 3 files changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 555371d..a1b2fe3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,16 @@ operation is [formal-semantics.md](formal-semantics.md). candidate ids to URIs. The XML serialization's executor has it too, so the two serializations keep the same catalog. +### Changed + +- **`ldh-AddView` and `ldh-AddResultSetChart` descriptions** say that a query + returning a row per resource is a list of resources, and belongs in a view + however many values from related resources it joins in; a chart of it shows + each resource as its address. A cold agent over MCP, given 2.0.2's + descriptions, still put a household's possessions in a Table chart, because + it wanted each thing's shop and price beside it, and nothing said where + those values go instead. + ### Fixed - **`GET` asks for N-Triples, then Turtle**: the RDF media types it accepts diff --git a/src/web_algebra/operations/linkeddatahub/add_result_set_chart.py b/src/web_algebra/operations/linkeddatahub/add_result_set_chart.py index 5e143e2..086d830 100644 --- a/src/web_algebra/operations/linkeddatahub/add_result_set_chart.py +++ b/src/web_algebra/operations/linkeddatahub/add_result_set_chart.py @@ -22,6 +22,11 @@ def description(cls) -> str: It is the fit for aggregates and measurements - totals, counts, sums per shop or per month. A resource in a chart is a bare cell, with no image, label or links of its own: to show resources themselves (things, people, places), use ldh-AddView, whose modes render each one as itself. + + A query that returns a row per resource, with the resource's URI among its variables, is a list of + resources and belongs in a view, however many values from related resources it joins in (a thing with + its shop, price and date of purchase; a message with its sender). A chart of it shows each resource as + its address. Chart only what is not one row per resource: totals, counts, sums by shop or by month. This tool: - Creates an ldh:ResultSetChart resource linked to an existing sp:Select query resource diff --git a/src/web_algebra/operations/linkeddatahub/add_view.py b/src/web_algebra/operations/linkeddatahub/add_view.py index 36eb649..7a699e5 100644 --- a/src/web_algebra/operations/linkeddatahub/add_view.py +++ b/src/web_algebra/operations/linkeddatahub/add_view.py @@ -24,6 +24,11 @@ def description(cls) -> str: One that binds values - a name, a price, a computed total - describes nothing. To show values or aggregates (totals, counts, sums by month), use ldh-AddResultSetChart instead. + A list of resources is a view even when what matters about them lives on related resources - a thing's + shop and price on the order it came from, a message's sender on a person. Do not join those values into + one table to show them beside each resource: select the resources, and let each one's own page show + what it links to. Put values that summarise the related resources (spend per shop) in a chart beside it. + This tool: - Creates an ldh:View resource linked to an existing sp:Select query resource - Configures optional display mode for the view