. . . . "Returns the version history of a space-governed resource view given as the resource (its version-independent IRI), for display on its maintained-resource page; the view counterpart of get-template-kind-version-history. Each row is a nanopub whose embedded resource view declares dct:isVersionOf the given view -- including superseded and retracted versions, which are marked 'superseded' or 'retracted' (only invalidations signed with the version's own key count, as in nanopub-level invalidation) -- showing its creation date, the version's title (falling back to its label), the change note attached to that version's publication info (skos:changeNote, truncated to its first line and at most 50 characters), and its author (signer, with the name resolved from the spaces trust state where available; the agent-to-name map is materialized once in a self-contained sub-select and matched by string containment, so the number of federated calls does not grow with the number of versions). The row marked '✓ current' is the current governed winner of the (view, space) pair -- the newest non-invalidated version signed by a current member+ of the governing space, with the view validated as maintained by that space (mirroring the get-latest-governed-version resolver); the winner is computed for the given view only, in a sub-select with its own values block, and matched by string containment. The restore_target column carries the nanopub URI for every row that is neither the current winner nor retracted (empty otherwise), and the restore_template column carries the template that version was created from (its nt:wasCreatedFromTemplate, lexicographically first where there are several, or the generic view template where that link is absent), so a per-row action can offer to restore an older version: overriding it republishes its content as the newest version, which is the cross-key way to undo a change. Publishing a new version from the current one is offered in the view-info panel instead. Rows are ordered newest first." . . . "Get view version history" . . "prefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix gen: \nprefix foaf: \nprefix nt: \nprefix skos: \n\nselect ?Date ?Title ?Change_note ?Author ?Author_label ?Status_noheader ?restore_target ?restore_template ?np ?np_label where {\n values ?_resource_multi_iri {}\n {\n select (group_concat(?w1; separator=\"|\") as ?winners) where {\n {\n select ?gKind ?gSpace (max(concat(str(?gDate), \">\", str(?gNp))) as ?maxW) where {\n values ?_resource_multi_iri {}\n graph ?gA { ?gVersion dct:isVersionOf ?_resource_multi_iri ; gen:governedBy ?gSpace . }\n bind(?_resource_multi_iri as ?gKind)\n graph npa:graph {\n ?gNp npa:hasValidSignatureForPublicKeyHash ?gPubkeyhash ;\n dct:created ?gDate ; npx:embeds ?gVersion ; np:hasAssertion ?gA .\n filter not exists { ?gInv npx:invalidates ?gNp ; npa:hasValidSignatureForPublicKeyHash ?gPubkeyhash . }\n }\n service {\n graph npa:graph { npa:hasCurrentSpaceState ?stateG . }\n graph ?stateG {\n ?gKind npa:isMaintainedBy ?gSpace ; npa:hasGoverningSpaceRef ?gRef .\n ?gRi a gen:RoleInstantiation ; npa:forSpace ?gSpace ; npa:forSpaceRef ?gRef ;\n npa:hasRoleType ?gTier ; npa:forAgent ?gAgent .\n values ?gTier { gen:AdminRole gen:MaintainerRole gen:MemberRole }\n ?gAcct a npa:AccountState ; npa:agent ?gAgent ; npa:pubkey ?gPubkeyhash .\n }\n }\n } group by ?gKind ?gSpace\n }\n bind(concat(str(?gKind), \">\", str(?gSpace), \">\", ?maxW) as ?w1)\n }\n }\n {\n select (group_concat(?nEntry; separator=\"|\") as ?names) where {\n {\n select ?nAgent (min(?nNameRaw) as ?nName) where {\n service {\n graph npa:graph { npa:hasCurrentSpaceState ?nStateG . }\n graph ?nStateG { ?nAgent foaf:name ?nNameRaw . }\n }\n } group by ?nAgent\n }\n bind(concat(str(?nAgent), \">\", ?nName) as ?nEntry)\n }\n }\n graph ?a { ?version a gen:ResourceView ; dct:isVersionOf ?_resource_multi_iri . }\n graph npa:graph {\n ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash ;\n npx:embeds ?version ; dct:created ?Date ; np:hasAssertion ?a ; np:hasPublicationInfo ?pi .\n }\n optional { graph npa:graph { ?np npx:signedBy ?Author . } }\n optional { graph ?a { ?version dct:title ?titleVal } }\n optional { graph ?a { ?version rdfs:label ?labelVal } }\n optional { graph ?a { ?version gen:governedBy ?space } }\n optional { graph ?pi { ?np skos:changeNote ?noteRaw } }\n optional {\n graph ?pi { ?np nt:wasCreatedFromTemplate ?metaTmplVal . }\n filter not exists { graph ?pi { ?np nt:wasCreatedFromTemplate ?metaOther . filter(str(?metaOther) < str(?metaTmplVal)) } }\n }\n bind(coalesce(?titleVal, ?labelVal, str(?version)) as ?Title)\n bind(replace(coalesce(?noteRaw, \"\"), \"\\r\", \"\") as ?noteNoCr)\n bind(if(contains(?noteNoCr, \"\\n\"), strbefore(?noteNoCr, \"\\n\"), ?noteNoCr) as ?firstLine)\n bind(substr(?firstLine, 1, 50) as ?Change_note)\n bind(concat(\"|\", coalesce(?winners, \"\"), \"|\") as ?wlist)\n bind(exists { graph npa:graph { ?sInv npx:invalidates ?np ; npx:supersedes ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . } } as ?isSuperseded)\n bind(exists { graph npa:graph { ?rInv npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . filter not exists { ?rInv npx:supersedes ?np } } } as ?isRetracted)\n bind(bound(?space) && contains(?wlist, concat(\"|\", str(?_resource_multi_iri), \">\", str(?space), \">\", str(?Date), \">\", str(?np), \"|\")) as ?isCurrent)\n bind(if(?isCurrent, \"✓ current\", if(?isRetracted, \"retracted\", if(?isSuperseded, \"superseded\", \"\"))) as ?Status_noheader)\n bind(if(!?isCurrent && !?isRetracted, str(?np), \"\") as ?restore_target)\n bind(if(!?isCurrent && !?isRetracted, coalesce(str(?metaTmplVal), 'https://w3id.org/np/RALLhFXriQjVFESflcok4WIpBW5W0Zh9horxrvcACD1Mw/templateVersion'), \"\") as ?restore_template)\n bind(coalesce(str(?Author), \"\") as ?authorStr)\n bind(concat(\"|\", coalesce(?names, \"\"), \"|\") as ?nlist)\n bind(strbefore(strafter(?nlist, concat(\"|\", ?authorStr, \">\")), \"|\") as ?nameRaw)\n bind(if(?nameRaw != \"\", ?nameRaw, ?authorStr) as ?Author_label)\n bind(\"^\" as ?np_label)\n}\norder by desc(?Date)" . . . "Tobias Kuhn" . "2026-11-10T20:29:45Z"^^ . . . . "Get view version history" . . . . . "RSA" . "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" . "gmPOF6dVgZ9+jb/PIcs2Gq5o3W9XQ//86F0a0/ktMh0yI1NH72WglkEBoDqjJYpo1FAYhEGvsUbFtu2EdvhQFgPalIUgXWk3keyTTWzyt6jvtN92Jre3ZoR0g1DiWl9ctys80BVogQ2J2+jTAT/dhtGRGjrvqMpYzK4/3lgxGWE=" . . .