rows { options { physical_type: PHYSICAL_STREAM_TYPE_QUADS max_name_table_size: 128 max_prefix_table_size: 16 max_datatype_table_size: 16 logical_type: LOGICAL_STREAM_TYPE_DATASETS version: 2 } } rows { prefix { value: "https://w3id.org/np/" } } rows { name { value: "RAkKDuZBeyqqs0V76OKOHW-DKGqJGid_VsI0MFZcXX7cE" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RAkKDuZBeyqqs0V76OKOHW-DKGqJGid_VsI0MFZcXX7cE/" } } rows { name { } } rows { namespace { name: "sub" value { prefix_id: 2 } } } rows { prefix { value: "http://www.nanopub.org/nschema#" } } rows { namespace { name: "np" value { prefix_id: 3 name_id: 2 } } } rows { prefix { value: "https://w3id.org/kpxl/grlc/" } } rows { namespace { name: "grlc" value { prefix_id: 4 name_id: 2 } } } rows { prefix { value: "http://purl.org/dc/terms/" } } rows { namespace { name: "dct" value { prefix_id: 5 name_id: 2 } } } rows { prefix { value: "https://w3id.org/np/o/ntemplate/" } } rows { namespace { name: "nt" value { prefix_id: 6 name_id: 2 } } } rows { prefix { value: "http://purl.org/nanopub/x/" } } rows { namespace { name: "npx" value { prefix_id: 7 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2001/XMLSchema#" } } rows { namespace { name: "xsd" value { prefix_id: 8 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2000/01/rdf-schema#" } } rows { namespace { name: "rdfs" value { prefix_id: 9 name_id: 2 } } } rows { prefix { value: "https://orcid.org/" } } rows { namespace { name: "orcid" value { prefix_id: 10 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/ns/prov#" } } rows { namespace { name: "prov" value { prefix_id: 11 name_id: 2 } } } rows { prefix { value: "http://xmlns.com/foaf/0.1/" } } rows { namespace { name: "foaf" value { prefix_id: 12 name_id: 2 } } } rows { name { value: "hasAssertion" } } rows { name { value: "assertion" } } rows { name { value: "Head" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 3 name_id: 3 } o_iri { prefix_id: 2 } g_iri { } } } rows { name { value: "hasProvenance" } } rows { name { value: "provenance" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { name { value: "hasPublicationInfo" } } rows { name { value: "pubinfo" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { prefix { value: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } } rows { name { value: "type" } } rows { name { value: "Nanopublication" } } rows { quad { p_iri { prefix_id: 13 } o_iri { prefix_id: 3 } } } rows { name { value: "get-view-version-history" } } rows { name { value: "description" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 5 } o_literal { lex: "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 \'\342\234\223 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." } g_iri { prefix_id: 2 name_id: 4 } } } rows { name { value: "license" } } rows { prefix { value: "http://www.apache.org/licenses/" } } rows { name { value: "LICENSE-2.0" } } rows { quad { p_iri { prefix_id: 5 name_id: 14 } o_iri { prefix_id: 14 } } } rows { name { value: "grlc-query" } } rows { quad { p_iri { prefix_id: 13 name_id: 10 } o_iri { prefix_id: 4 name_id: 16 } } } rows { name { value: "label" } } rows { quad { p_iri { prefix_id: 9 } o_literal { lex: "Get view version history" } } } rows { name { value: "endpoint" } } rows { prefix { value: "https://w3id.org/np/l/nanopub-query-1.1/repo/" } } rows { name { value: "full" } } rows { quad { p_iri { prefix_id: 4 } o_iri { prefix_id: 15 } } } rows { name { value: "sparql" } } rows { quad { p_iri { prefix_id: 4 } o_literal { lex: "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, \"\342\234\223 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)" } } } rows { name { value: "wasAttributedTo" } } rows { name { value: "0000-0002-1267-0234" } } rows { quad { s_iri { prefix_id: 2 name_id: 4 } p_iri { prefix_id: 11 name_id: 21 } o_iri { prefix_id: 10 } g_iri { prefix_id: 2 name_id: 7 } } } rows { name { value: "wasDerivedFrom" } } rows { name { value: "RAkFlQ0Lx0kHl9PgvVdPzEWQ12NIu8YhUtGW8zlCaFO3E" } } rows { quad { p_iri { prefix_id: 11 name_id: 23 } o_iri { prefix_id: 1 } } } rows { name { value: "name" } } rows { quad { s_iri { prefix_id: 10 name_id: 22 } p_iri { prefix_id: 12 name_id: 25 } o_literal { lex: "Tobias Kuhn" } g_iri { prefix_id: 2 name_id: 9 } } } rows { name { value: "created" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#dateTime" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 5 name_id: 26 } o_literal { lex: "2026-11-10T20:29:45Z" datatype: 1 } } } rows { name { value: "creator" } } rows { quad { p_iri { } o_iri { prefix_id: 10 name_id: 22 } } } rows { prefix { value: "https://creativecommons.org/licenses/by/4.0/" } } rows { quad { p_iri { prefix_id: 5 name_id: 14 } o_iri { prefix_id: 16 name_id: 2 } } } rows { name { value: "embeds" } } rows { quad { p_iri { prefix_id: 7 name_id: 28 } o_iri { prefix_id: 2 name_id: 12 } } } rows { quad { p_iri { prefix_id: 9 name_id: 17 } o_literal { lex: "Get view version history" } } } rows { name { value: "wasCreatedFromProvenanceTemplate" } } rows { name { value: "RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } } rows { quad { p_iri { prefix_id: 6 name_id: 29 } o_iri { prefix_id: 1 } } } rows { name { value: "wasCreatedFromPubinfoTemplate" } } rows { name { value: "RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw" } } rows { quad { p_iri { prefix_id: 6 } o_iri { prefix_id: 1 } } } rows { name { value: "RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } } rows { quad { o_iri { } } } rows { name { value: "wasCreatedFromTemplate" } } rows { name { value: "RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } } rows { quad { p_iri { prefix_id: 6 } o_iri { prefix_id: 1 } } } rows { name { value: "sig" } } rows { name { value: "hasAlgorithm" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 7 } o_literal { lex: "RSA" } } } rows { name { value: "hasPublicKey" } } rows { quad { p_iri { } o_literal { lex: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "gmPOF6dVgZ9+jb/PIcs2Gq5o3W9XQ//86F0a0/ktMh0yI1NH72WglkEBoDqjJYpo1FAYhEGvsUbFtu2EdvhQFgPalIUgXWk3keyTTWzyt6jvtN92Jre3ZoR0g1DiWl9ctys80BVogQ2J2+jTAT/dhtGRGjrvqMpYzK4/3lgxGWE=" } } } rows { name { value: "hasSignatureTarget" } } rows { quad { p_iri { } o_iri { prefix_id: 1 name_id: 1 } } } rows { name { value: "signedBy" } } rows { quad { p_iri { prefix_id: 7 name_id: 41 } o_iri { prefix_id: 10 name_id: 22 } } }