@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:list-view-displays a ; dct:description "Lists the view displays declared for a resource, for the About page: standalone view displays and the views contributed by assigned presets (marked with the preset). Filtered to declarations signed by an admin or maintainer of the owning space, or by the affected user themselves. Each referenced view is resolved to its latest version (following the npx:supersedes chain): among the version tree's current heads (nanopubs that are themselves neither superseded nor validly retracted via npx:invalidates), the most recent is chosen, so the latest non-retracted view definition, title, and structural position are shown. Choosing a current head rather than the max-timestamp node makes resolution robust to backdated supersedes and to retracted versions. Results are ordered by structural position (the page ordering key) and then by view kind, replicating the order the views appear on the page. Shows each view, its title, its structural position, its active/deactivated status, the contributing preset (if any), the signer, the date, and the source nanopub. The view-version resolution is wrapped in a run-once sub-SELECT so the cross-repo lookup is evaluated once for the whole view set rather than once per referenced view."; dct:license ; rdfs:label "List view displays"; ; """prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select ?view ?view_label ?structuralPosition (if(bound(?displayMode) && contains(str(?displayMode), \"Deactivated\"), \"deactivated\", \"active\") as ?status) ?preset ?preset_label ?user ?date ?np (\"^\" as ?np_label) where { values ?_resource_multi_iri {} service { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } { graph ?stateG { ?_resource_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?authAgent ; (npa:inverseProperty|npa:regularProperty) ?roleProp . ?authAcct a npa:AccountState ; npa:agent ?authAgent ; npa:pubkey ?pubkey . } optional { graph npa:spacesGraph { ?rd a npa:RoleDeclaration ; npa:forSpace ?space ; npa:hasRoleType gen:MaintainerRole ; (npa:inverseProperty|npa:regularProperty) ?roleProp . bind(true as ?isMaintainer) } } filter(?roleProp = gen:hasAdmin || bound(?isMaintainer)) } union { graph ?stateG { ?selfAcct a npa:AccountState ; npa:agent ?_resource_multi_iri ; npa:pubkey ?pubkey . } } } { graph npa:graph { ?np npx:hasNanopubType gen:ViewDisplay ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?date ; npx:embeds ?display ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } optional { ?np npx:signedBy ?user } } graph ?a { ?display gen:isDisplayOfView ?refView ; gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . } } } union { select ?refView ?displayMode ?preset ?preset_label ?user ?date ?np ?pubkey ?_resource_multi_iri { service { graph npa:graph { ?np npx:hasNanopubType gen:PresetAssignment ; npa:hasValidSignatureForPublicKeyHash ?pubkey ; dct:created ?date ; npx:embeds ?assignment ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } optional { ?np npx:signedBy ?user } } graph ?a { ?assignment gen:isAssignmentFor ?_resource_multi_iri ; gen:isAssignmentOfPreset ?preset . optional { values ?displayMode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment } ?assignment a ?displayMode . } } graph npa:graph { ?presetNp npx:embeds ?preset ; np:hasAssertion ?pa . } graph ?pa { ?preset a gen:Preset . optional { ?preset rdfs:label ?preset_label . } { ?preset gen:hasTopLevelView ?refView } union { ?preset gen:hasView ?refView } } } } } # Resolve each referenced view to its latest version: the current head of its # supersedes version tree (a nanopub itself neither superseded nor validly # retracted via npx:invalidates), most recent among heads on a fork. Wrapped in # a run-once sub-SELECT so this cross-repo service is evaluated once for the # whole view set rather than once per referenced view -- the per-view federation # round-trips were the dominant cost of earlier versions. optional { service { select distinct ?refView ?latestView ?view_label ?structuralPosition ?viewKind where { graph npa:graph { ?rnp npx:embeds ?refView ; np:hasAssertion ?ra . } graph ?ra { ?refView a gen:ResourceView . } optional { ?vnp npx:embeds ?refView . ?latestNp (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?ldate ; npx:embeds ?latestView ; np:hasAssertion ?va . filter not exists { ?supNp npx:supersedes ?latestNp . } filter not exists { ?invNp npx:invalidates ?latestNp ; npa:hasValidSignatureForPublicKeyHash ?invPk . } filter not exists { ?other (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?odate . filter not exists { ?supNp2 npx:supersedes ?other . } filter not exists { ?invNp2 npx:invalidates ?other ; npa:hasValidSignatureForPublicKeyHash ?invPk2 . } filter(?odate > ?ldate) } graph ?va { ?latestView dct:title ?view_label . optional { ?latestView gen:hasStructuralPosition ?structuralPosition . } optional { ?latestView dct:isVersionOf ?viewKind . } } } } } } bind(coalesce(?latestView, ?refView) as ?view) } order by ?structuralPosition coalesce(?viewKind, ?view) ?date""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-06-05T07:58:51Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:list-view-displays; npx:supersedes ; rdfs:label "List view displays"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "eRX12ebVL+47NHkMuNiASagzVQnq479gx4gqHMoGdMVEh/LW8oOX+DUSS8pxOlBFtj+CR0QsH8FiP57+3She0oELCf4/UqOmxWF3GIZaU30Wo4loAp5p+3+TDQLQhvzu2YAeJqb0u9z2LhHw98l2/OABSfgaG1obl6iosDdQDpg="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }