https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/Head https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/assertion https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/provenance https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/pubinfo https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/assertion https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays http://purl.org/dc/terms/description Lists, for a PART page, the view displays configured on the part's owning resource, flagged (shown_here) for this specific part (read-only-ish; one row per resolved view, latest kept). Auth + display set keyed on the owning resource ('resource'); shown_here via the part's classes ('partclass'), gen:appliesTo the part, or namespace over 'partid'. hasTopLevelView presets never shown on a part; hasView presets fall back to the view's targeting. Ordered shown-here first, then by structural position. Federation footprint (2026-08-20): endpoint rebased onto repo/full, so the former SERVICE hops to repo/full (preset branch) and to the ResourceView type repo (latest-version resolution, governed-version candidates and metadata) are local patterns; only the space-state lookups remain federated, to repo/spaces. The latest-version resolution was rewritten from a run-once repo-wide max-date sub-select (which cannot see outer bindings and would enumerate the whole repository on repo/full, timing out) to bound per-view lookups choosing the same-key, non-invalidated supersedes-head with no newer such sibling -- same heads, ties preserved. In the governed-resolution sub-select the candidate block is wrapped in a projecting sub-select; this wrapper is load-bearing on rdf4j 6.0.0, where bindings from raw local patterns are silently not joined into a following SERVICE clause. Validated result-identical to the previous version across spaces, refs, user and resource pages (columns produced by sample(), non-deterministic by definition, may vary as they already did between runs of the previous version). The per-hop loopback federation was an amplifier of the rdf4j connection-pool deadlock behind the fleet-wide /api wedges. https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays http://www.w3.org/2000/01/rdf-schema#label List part view displays https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/full https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays https://w3id.org/kpxl/grlc/sparql prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix dct: <http://purl.org/dc/terms/> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> select ?view (sample(?view_label) as ?view_label) (sample(?shown_here) as ?shown_here) (sample(?position) as ?position) (sample(?via_preset) as ?via_preset) (sample(?via_preset_label) as ?via_preset_label) (sample(?added_by) as ?added_by) (max(?date_added) as ?date_added) (iri(strafter(max(concat(str(?date_added), "\t", str(?np))), "\t")) as ?np) ("^" as ?np_label) where { select ?view ?view_label ?shown_here ?position (if(?shown_here = "", ?target_multi_iri_raw, "") as ?target_multi_iri) (if(?shown_here = "", ?target_label_multi_raw, "") as ?target_label_multi) ?via_preset ?via_preset_label ?added_by ?date_added ?np ?np_label where { select ?view ?view_label ?position (if(bound(?presetScope), ?presetScope, if(bound(?preset), if(?aVHasTarget > 0, if(?aVMatch > 0, "✓", ""), ""), if(?aDApplyHere > 0, "✓", if(?aDHasTarget > 0, if(?aDMatch > 0, "✓", ""), if(?aDHasApply > 0, "", if(?aVHasTarget > 0, if(?aVMatch > 0, "✓", ""), "")))))) as ?shown_here) ?target_multi_iri_raw ?target_label_multi_raw (?preset as ?via_preset) (?preset_label as ?via_preset_label) (?user as ?added_by) (?date as ?date_added) ?np ("^" as ?np_label) where { select ?view ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np (max(?fDApplyHere) as ?aDApplyHere) (max(?fDHasApply) as ?aDHasApply) (max(?fDHasTarget) as ?aDHasTarget) (max(?fDMatch) as ?aDMatch) (max(?fVHasTarget) as ?aVHasTarget) (max(?fVMatch) as ?aVMatch) (group_concat(distinct ?targetIri; separator=" ") as ?target_multi_iri_raw) (group_concat(distinct ?targetLabel; separator="\n") as ?target_label_multi_raw) where { { select ?_resource_multi_iri ?viewRef ?viewLatest ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np ?dApply ?dTarget ?vTarget where { values ?_resource_multi_iri {} service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { 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 ?viewRef ; gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . } optional { ?display gen:appliesTo ?dApply . } optional { ?display (gen:appliesToInstancesOf|gen:appliesToNamespace) ?dTarget . } } } union { select ?viewRef ?displayMode ?preset ?preset_label ?presetScope ?user ?date ?np ?pubkey ?_resource_multi_iri { { # was: service repo/full — now local on the repo/full endpoint 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 . } } filter not exists { graph npa:graph { ?np2 npx:hasNanopubType gen:PresetAssignment ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 ; dct:created ?date2 ; npx:embeds ?assignment2 ; np:hasAssertion ?a2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . } } graph ?a2 { ?assignment2 a gen:DeactivatedPresetAssignment ; gen:isAssignmentFor ?_resource_multi_iri ; gen:isAssignmentOfPreset ?preset . } filter(?date2 > ?date) } 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 ?viewRef . bind("" as ?presetScope) } union { ?preset gen:hasView ?viewRef } } } } } optional { graph npa:graph { ?np np:hasAssertion ?npAssertion . } graph ?npAssertion { ?npDisplay gen:hasStructuralPosition ?dispPos . } } filter(!bound(?displayMode) || !contains(str(?displayMode), "Deactivated")) filter not exists { graph npa:graph { ?np2 npx:hasNanopubType gen:ViewDisplay ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 ; dct:created ?date2 ; npx:embeds ?display2 ; np:hasAssertion ?a2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . } } graph ?a2 { ?display2 a gen:DeactivatedViewDisplay ; gen:isDisplayOfView ?viewRef ; gen:isDisplayFor ?_resource_multi_iri . } filter(?date2 > ?date) } optional { # Resolve ?viewRef to its latest same-key non-invalidated version. Was a # service on the ResourceView type shard with a run-once max-date sub-select; # a sub-select cannot see outer bindings, so localized on repo/full it would # enumerate the whole repository (measured: times out >10s). Rewritten as # BOUND point lookups per ?viewRef: the head is the supersedes-connected, # same-key, non-invalidated version with no newer such sibling (ties kept, # matching the old max+join). Filters stay OUTSIDE graph blocks (rdf4j # planner trap). graph npa:graph { ?vnp npx:embeds ?viewRef ; npa:hasValidSignatureForPublicKey ?vKey . } graph npa:networkGraph { ?headNp (npx:supersedes)* ?vnp . } graph npa:graph { ?headNp npa:hasValidSignatureForPublicKey ?vKey ; dct:created ?headDate ; npx:embeds ?viewLatest ; np:hasAssertion ?hva . } filter not exists { graph npa:graph { ?i2 npx:invalidates ?headNp ; npa:hasValidSignatureForPublicKey ?vKey . } } filter not exists { graph npa:networkGraph { ?h2 (npx:supersedes)* ?vnp . } graph npa:graph { ?h2 npa:hasValidSignatureForPublicKey ?vKey ; dct:created ?h2Date . } filter not exists { graph npa:graph { ?i3 npx:invalidates ?h2 ; npa:hasValidSignatureForPublicKey ?vKey . } } filter(?h2Date > ?headDate) } graph ?hva { ?viewLatest dct:title ?view_label . } optional { graph ?hva { ?viewLatest gen:hasStructuralPosition ?viewPos . } } optional { graph ?hva { ?viewLatest (gen:appliesToInstancesOf|gen:appliesToNamespace) ?vTarget . } } } bind(coalesce(?dispPos, ?viewPos, "") as ?position) } } values ?__partclass_multi_iri {} bind(if(coalesce(str(?dApply) = str(?_partid_iri), false), 1, 0) as ?fDApplyHere) bind(if(bound(?dApply), 1, 0) as ?fDHasApply) bind(if(bound(?dTarget), 1, 0) as ?fDHasTarget) bind(if(coalesce(?dTarget = ?__partclass_multi_iri, false) || coalesce(strstarts(str(?_partid_iri), str(?dTarget)), false), 1, 0) as ?fDMatch) bind(if(bound(?vTarget), 1, 0) as ?fVHasTarget) bind(if(coalesce(?vTarget = ?__partclass_multi_iri, false) || coalesce(strstarts(str(?_partid_iri), str(?vTarget)), false), 1, 0) as ?fVMatch) bind(coalesce(?dTarget, ?vTarget) as ?targetIri) bind(replace(str(?targetIri), "^.*[/#]", "") as ?targetLocalName) bind(if(coalesce(strlen(?targetLocalName) > 0, false), ?targetLocalName, str(?targetIri)) as ?targetLabel) bind(coalesce(?viewLatest, ?viewRef) as ?view) } group by ?view ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np } } } group by ?view order by desc(?shown_here) ?position https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/provenance https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/assertion http://www.w3.org/ns/prov#wasAttributedTo https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/pubinfo https://orcid.org/0000-0002-1267-0234 http://xmlns.com/foaf/0.1/name Tobias Kuhn https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://purl.org/dc/terms/created 2026-08-20T07:39:09Z https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://purl.org/dc/terms/creator https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://purl.org/dc/terms/license https://creativecommons.org/licenses/by/4.0/ https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://purl.org/nanopub/x/embeds https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/list-part-view-displays https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://purl.org/nanopub/x/supersedes https://w3id.org/np/RAQ3RmzSRkt2yzxl90vXYTkg0X7j8IYcrCX7BjmeZX2XI https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 http://www.w3.org/2000/01/rdf-schema#label List part view displays https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/sig http://purl.org/nanopub/x/hasPublicKey MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/sig http://purl.org/nanopub/x/hasSignature ewa7LvxYlLp6ruEeT/3ivfOTXnsbkk8LjAqPuDWgC0nIwDtQ7CayF4Cknzk/Ij8vTFBuqJYdEK940WvXArtEiIfnHu/9lWVaU/CdilL9I3H8vnBz+UFfCu3UP2d1X9ykzKcT0LR1M0ZkFF1dSuU5o+W3pdOPpZfN7A+MxyHG8RE= https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4 https://w3id.org/np/RA74rCoUi12a6yOJDVJyq86cU3wT5_Oqm6TAXHTJ0pGG4/sig http://purl.org/nanopub/x/signedBy https://orcid.org/0000-0002-1267-0234