https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//Head
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//assertion
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//provenance
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//pubinfo
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//assertion
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
http://purl.org/dc/terms/description
Returns the views to display for a given resource: both standalone view displays and the views contributed by assigned presets (issue #302), unioned and ordered by date so latest-wins override resolution holds across both. Filtered server-side to declarations signed by an admin or maintainer of the owning space, or by the affected user themselves (for an agent's own page). Each referenced view is resolved to its latest version by following the npx:supersedes chain, so ?view is the most recent view definition (no separate latest-version lookup needed by the client). Preset-derived rows have an unbound ?display and carry the resolved ?view plus the assignment's activation mode.
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
https://w3id.org/kpxl/grlc/grlc-query
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
http://www.w3.org/2000/01/rdf-schema#label
Get view displays
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
https://w3id.org/kpxl/grlc/endpoint
https://w3id.org/np/l/nanopub-query-1.1/repo/type/11daee46fdfff957dc17b46f5dc1a618045afd4f5634d5334ce9db19c3689a3c
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-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 distinct ?display ?view (coalesce(?viewKindOptional, ?view) as ?viewKind)
?label ?displayType ?displayMode ?np ?pubkey ?date 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 . }
}
}
{
# branch (a): standalone view displays — LOCAL pattern on the endpoint repo
graph npa:graph {
?np npx:hasNanopubType gen:ViewDisplay .
?np npa:hasValidSignatureForPublicKeyHash ?pubkey .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
?np dct:created ?date .
?np npx:embeds ?display .
?np np:hasAssertion ?a .
optional { ?np rdfs:label ?label }
}
graph ?a {
?display gen:isDisplayOfView ?refView .
?display gen:isDisplayFor ?_resource_multi_iri .
optional { values ?displayType { gen:PartLevelViewDisplay gen:TopLevelViewDisplay } ?display a ?displayType . }
optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . }
}
}
union
{
# branch (b): preset-supplied views — wrapped in a sub-SELECT so the remote
# service does not collapse branch (a). ?display stays unbound.
select ?refView ?label ?displayType ?displayMode ?np ?pubkey ?date ?_resource_multi_iri {
service <https://w3id.org/np/l/nanopub-query-1.1/repo/full> {
graph npa:graph {
?np npx:hasNanopubType gen:PresetAssignment .
?np npa:hasValidSignatureForPublicKeyHash ?pubkey .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
?np dct:created ?date .
?np npx:embeds ?assignment .
?np np:hasAssertion ?a .
optional { ?np rdfs:label ?label }
}
graph ?a {
?assignment gen:isAssignmentFor ?_resource_multi_iri .
?assignment gen:isAssignmentOfPreset ?presetRef .
optional { values ?displayMode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment } ?assignment a ?displayMode . }
}
graph npa:graph { ?presetNp npx:embeds ?presetRef ; np:hasAssertion ?pa . }
graph ?pa {
?presetRef a gen:Preset .
{ ?presetRef gen:hasTopLevelView ?refView . bind(gen:TopLevelViewDisplay as ?displayType) }
union { ?presetRef gen:hasView ?refView . bind(gen:PartLevelViewDisplay as ?displayType) }
}
}
}
}
# Resolve each referenced view to its latest version by following the
# npx:supersedes chain (in both directions) and keeping the most recent.
# This lets the client use ?view directly without a separate latest-version lookup.
optional {
service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/ec6722efa3b44e0a18aa63afe5964158a1fdb7f0413ea5f23bfddf5c03ca0221> {
graph npa:graph {
?vnp npx:embeds ?refView .
?latestNp (npx:supersedes|^npx:supersedes)* ?vnp ;
dct:created ?ldate ;
npx:embeds ?latestView ;
np:hasAssertion ?va .
filter not exists {
?other (npx:supersedes|^npx:supersedes)* ?vnp ; dct:created ?odate .
filter(?odate > ?ldate)
}
}
graph ?va {
?latestView a gen:ResourceView .
optional { ?latestView dct:isVersionOf ?viewKindOptional . }
}
}
}
bind(coalesce(?latestView, ?refView) as ?view)
}
order by desc(?date)
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//provenance
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//pubinfo
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://purl.org/dc/terms/created
2026-06-04T18:30:33Z
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://purl.org/dc/terms/license
https://creativecommons.org/licenses/by/4.0/
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls//get-view-displays
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://purl.org/nanopub/x/supersedes
https://w3id.org/np/RAd-T_vYETxcKf_1lEgIMoJSnSCFJTdpFDWYqvGNM91Ew
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
http://www.w3.org/2000/01/rdf-schema#label
Get view displays
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls/sig
http://purl.org/nanopub/x/hasSignature
IyYhuBCsvWYZbMdMEQrhgW6qB6Z5D0VMBouaGRjmpjnRf/Yd3QiPsmfW/yHPs/tHLSTwcsK6+ahuLHzvVx4dG3xk1cZhrpEz8NCaxBzVJrQ3R3X6hkKLzl/C+qigwlTEoxiRkAEsTWm+3Ksx4PTkNEE7AR+dTqlwRJ/ork4D5sE=
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls
https://w3id.org/np/RAf0zaMl6i5FrTepXQRcJRfdldZw-vrpWqKvFBCcjD1ls/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-1267-0234