[ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/paragraph", "http://schema.org/about": [ { "@id": "https://w3id.org/kpxl/grlc/grlc-query" } ], "http://schema.org/title": [ { "@value": "Session-bound parameters" } ], "@type": [ "https://w3id.org/kpxl/gen/terms/Paragraph" ], "https://w3id.org/kpxl/gen/terms/hasContent": [ { "@value": "

Three placeholder names are reserved and filled automatically from the browser session of whoever is looking at the view, with no form field shown: LOCALPUBKEY is the viewer's signing public key, CURRENTUSER their agent IRI, and SITEURL the address of the Nanodash instance. They let a view react to who is viewing it, for example by offering a \"retract\" action only on rows the viewer signed.

\n

Declare them as optional multi-value placeholders, each with its own empty values block in every scope where it is used: ?__LOCALPUBKEY_multi, ?__CURRENTUSER_multi_iri, ?__SITEURL_multi.

\n

A logged-out visitor has none of them, so the variable is simply unbound and every comparison must tolerate that. Wrap each one in coalesce, as in coalesce(str(?pubkey) = str(?__LOCALPUBKEY_multi), false), so the query still returns its rows instead of failing or dropping them.

" } ], "https://w3id.org/kpxl/gen/terms/hasPositionString": [ { "@value": "01.07" } ] } ] }, { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/Head", "@graph": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/pubinfo", "@graph": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ", "http://purl.org/dc/terms/created": [ { "@value": "2026-09-09T14:46:50Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/publicdomain/zero/1.0/" } ], "http://purl.org/nanopub/x/introduces": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/paragraph" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Session-bound parameters" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA" }, { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAdxrv0Rie-65L6gdURjpy8nTt7YagghQfX20Zw4pR7t0" } ] }, { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "iaOnibQ5OuQxBw2sKhgWvKPFoUrU1VWBoQdVvuOoDxXe05qndJRUIiPFoRK8NPO/SaHRDa1g2ZKSDYnI+8IyqO09ewm1Qqdt/kxM/KVudQhniCdXkV92JvgYq43T+mvY0MOgtNDvEAfOu2hCjGnpWc83RiLXBUrhuvYJwAID6YlJESVQGu/xbMJc/IjCPTvfEO76LZw20acmK4pCq2VSF4gvrvhrHWVsVO+Pz2tzuAaDtW0pQIcZWVHPjnpi2YkEFpNx2n2zhgpbGTvNh693DbO0gUhuW7w9HEltIGyC6sokpvm1059d037dGcgxG7pAvcRq9815Ne1OrKSZaiGWdA==" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot" } ] } ] }, { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAQ-ZH3JppnROYOjPb2V2M3uALuvZ9vghNLmgyAyWKDsQ/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot" } ] } ] } ]