[ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/list-part-view-displays", "http://purl.org/dc/terms/description": [ { "@value": "Lists, for a PART page (a resource viewed as a part of a maintained resource/space/user), the view displays configured on the part's owning resource, flagged for this specific part (read-only). Same display set and admin/maintainer authorization as list-view-displays, keyed on the owning resource (the 'resource' parameter): standalone view displays plus preset-contributed views, deactivations applied, each view resolved to its latest version. The displayed_here column is a flag (check mark, else blank) indicating whether the view is shown on THIS part -- i.e. its appliesToInstancesOf matches one of the part's own classes (the 'partclass' multi-valued parameter), or it is pinned to the part via gen:appliesTo, or its namespace targeting covers the part's IRI (the 'partid' parameter). A hasTopLevelView preset is pinned to the owning resource's own page and is therefore never shown on a part (blank); a hasView preset falls back to the view's own targeting. For blank (not-shown) rows the target_multi_iri column lists the class(es)/namespace(s) the view targets. Rows are ordered shown-here first, then by structural position. Space-governed versions (gen:governedBy, nanodash docs/views-and-presets-as-maintained-resources.md): a referenced version declaring gen:governedBy resolves to the newest version of its (kind, space) pair signed by a current member+ (admin/maintainer/member) of that space -- with the kind validated as a maintained resource of the space -- taking precedence over the supersedes-based head; without a valid governed candidate the pinned version stands." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "List part view displays" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/type/11daee46fdfff957dc17b46f5dc1a618045afd4f5634d5334ce9db19c3689a3c" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix gen: \n\nselect ?view ?view_label ?displayed_here ?position\n (substr(?position, 1, 3) as ?position_label)\n (if(?displayed_here = \"\", ?target_multi_iri_raw, \"\") as ?target_multi_iri)\n (if(?displayed_here = \"\", ?target_label_multi_raw, \"\") as ?target_label_multi)\n ?via_preset ?via_preset_label ?added_by ?date_added ?np ?np_label\nwhere {\n select ?view ?view_label ?position\n (if(bound(?presetScope), ?presetScope,\n if(bound(?preset),\n if(?aVHasTarget > 0, if(?aVMatch > 0, \"✓\", \"\"), \"\"),\n if(?aDApplyHere > 0, \"✓\",\n if(?aDHasTarget > 0, if(?aDMatch > 0, \"✓\", \"\"),\n if(?aDHasApply > 0, \"\",\n if(?aVHasTarget > 0, if(?aVMatch > 0, \"✓\", \"\"), \"\")))))) as ?displayed_here)\n ?target_multi_iri_raw ?target_label_multi_raw\n (?preset as ?via_preset) (?preset_label as ?via_preset_label)\n (?user as ?added_by) (?date as ?date_added)\n ?np (\"^\" as ?np_label) where {\n select ?view ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np\n (max(?fDApplyHere) as ?aDApplyHere) (max(?fDHasApply) as ?aDHasApply) (max(?fDHasTarget) as ?aDHasTarget)\n (max(?fDMatch) as ?aDMatch) (max(?fVHasTarget) as ?aVHasTarget) (max(?fVMatch) as ?aVMatch)\n (group_concat(distinct ?targetIri; separator=\" \") as ?target_multi_iri_raw)\n (group_concat(distinct ?targetLabel; separator=\"\\n\") as ?target_label_multi_raw)\n where {\n {\n select ?_resource_multi_iri ?viewRef ?viewLatest ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np\n ?dApply ?dTarget ?effVTarget ?pinSpace ?governedLatest where {\n values ?_resource_multi_iri {}\n service {\n graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . }\n {\n # Authority gate (issue #130 / nanodash#510): a single mandatory hop through the\n # governing space ref, which covers both a maintained resource and a space itself\n # (the reflexive self-edge), keyed on the role tier materialized on the\n # RoleInstantiation since #125. Replaces the old bare-IRI isMaintainedBy? hop and\n # the dead RoleDeclaration maintainer join. Non-ref variant: any ref claiming the\n # IRI, so authority merges across refs (the ref variant pins a single ?passedRef).\n graph ?stateG {\n ?_resource_multi_iri npa:hasGoverningSpaceRef ?spaceRef .\n ?ri a gen:RoleInstantiation ; npa:forSpaceRef ?spaceRef ; npa:hasRoleType ?roleType ; npa:forAgent ?authAgent .\n filter(?roleType = gen:AdminRole || ?roleType = gen:MaintainerRole)\n ?authAcct a npa:AccountState ; npa:agent ?authAgent ; npa:pubkey ?pubkey .\n }\n } union {\n graph ?stateG { ?selfAcct a npa:AccountState ; npa:agent ?_resource_multi_iri ; npa:pubkey ?pubkey . }\n }\n }\n {\n graph npa:graph {\n ?np npx:hasNanopubType gen:ViewDisplay ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey ;\n dct:created ?date ;\n npx:embeds ?display ;\n np:hasAssertion ?a .\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n optional { ?np npx:signedBy ?user }\n }\n graph ?a {\n ?display gen:isDisplayOfView ?viewRef ;\n gen:isDisplayFor ?_resource_multi_iri .\n optional {\n values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay }\n ?display a ?displayMode .\n }\n optional { ?display gen:appliesTo ?dApply . }\n optional { ?display (gen:appliesToInstancesOf|gen:appliesToNamespace) ?dTarget . }\n }\n }\n union\n {\n select ?viewRef ?displayMode ?preset ?preset_label ?presetScope ?user ?date ?np ?pubkey ?_resource_multi_iri {\n service {\n graph npa:graph {\n ?np npx:hasNanopubType gen:PresetAssignment ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey ;\n dct:created ?date ;\n npx:embeds ?assignment ;\n np:hasAssertion ?a .\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n optional { ?np npx:signedBy ?user }\n }\n graph ?a {\n ?assignment gen:isAssignmentFor ?_resource_multi_iri ;\n gen:isAssignmentOfPreset ?preset .\n optional {\n values ?displayMode { gen:ActivatedPresetAssignment gen:DeactivatedPresetAssignment }\n ?assignment a ?displayMode .\n }\n }\n filter not exists {\n graph npa:graph {\n ?np2 npx:hasNanopubType gen:PresetAssignment ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey2 ;\n dct:created ?date2 ;\n npx:embeds ?assignment2 ;\n np:hasAssertion ?a2 .\n filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . }\n }\n graph ?a2 {\n ?assignment2 a gen:DeactivatedPresetAssignment ;\n gen:isAssignmentFor ?_resource_multi_iri ;\n gen:isAssignmentOfPreset ?preset .\n }\n filter(?date2 > ?date)\n }\n graph npa:graph { ?presetNp npx:embeds ?preset ; np:hasAssertion ?pa . }\n graph ?pa {\n ?preset a gen:Preset .\n optional { ?preset rdfs:label ?preset_label . }\n { ?preset gen:hasTopLevelView ?viewRef . bind(\"\" as ?presetScope) }\n union { ?preset gen:hasView ?viewRef }\n }\n }\n }\n }\n optional {\n graph npa:graph { ?np np:hasAssertion ?npAssertion . }\n graph ?npAssertion { ?npDisplay gen:hasStructuralPosition ?dispPos . }\n }\n filter(!bound(?displayMode) || !contains(str(?displayMode), \"Deactivated\"))\n filter not exists {\n graph npa:graph {\n ?np2 npx:hasNanopubType gen:ViewDisplay ;\n npa:hasValidSignatureForPublicKeyHash ?pubkey2 ;\n dct:created ?date2 ;\n npx:embeds ?display2 ;\n np:hasAssertion ?a2 .\n filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . }\n }\n graph ?a2 {\n ?display2 a gen:DeactivatedViewDisplay ;\n gen:isDisplayOfView ?viewRef ;\n gen:isDisplayFor ?_resource_multi_iri .\n }\n filter(?date2 > ?date)\n }\n optional {\n service {\n graph npa:graph { ?vnp npx:embeds ?viewRef . }\n { select ?vnp (max(?hDate) as ?headDate) where {\n graph npa:networkGraph { ?h (npx:supersedes)* ?vnp . }\n graph npa:graph {\n ?vnp npa:hasValidSignatureForPublicKey ?k .\n ?h npa:hasValidSignatureForPublicKey ?k ; dct:created ?hDate .\n filter not exists { ?i npx:invalidates ?h ; npa:hasValidSignatureForPublicKey ?k . }\n }\n } group by ?vnp }\n graph npa:networkGraph { ?headNp (npx:supersedes)* ?vnp . }\n graph npa:graph {\n ?vnp npa:hasValidSignatureForPublicKey ?vKey .\n ?headNp npa:hasValidSignatureForPublicKey ?vKey ; dct:created ?headDate ;\n npx:embeds ?viewLatest ; np:hasAssertion ?hva .\n filter not exists { ?i2 npx:invalidates ?headNp ; npa:hasValidSignatureForPublicKey ?vKey . }\n }\n graph ?hva { ?viewLatest dct:title ?supLabel . }\n optional { graph ?hva { ?viewLatest gen:hasStructuralPosition ?viewPos . } }\n optional { graph ?hva { ?viewLatest (gen:appliesToInstancesOf|gen:appliesToNamespace) ?vTarget . } }\n }\n }\n # Space-governed resolution (gen:governedBy; nanodash docs/views-and-presets-as-\n # maintained-resources.md): if the pinned version declares a governing space, the\n # newest version of its (kind, space) pair signed by a current member+ of that\n # space wins, with the kind validated as maintained by the space. Run-once\n # sub-select over all governed versions network-wide (gen:governedBy is highly\n # selective), joined back per pin. No valid candidate -> the pin stands.\n optional {\n service {\n graph npa:graph { ?pinNp npx:embeds ?viewRef ; np:hasAssertion ?pinA . }\n graph ?pinA { ?viewRef dct:isVersionOf ?pinKind ; gen:governedBy ?pinSpace . }\n }\n { select ?pinKind ?pinSpace (iri(strafter(max(concat(str(?cDate), \">\", str(?cver))), \">\")) as ?governedLatest) where {\n service {\n graph npa:graph {\n ?cnp dct:created ?cDate ; npa:hasValidSignatureForPublicKeyHash ?cpk ; npx:embeds ?cver ; np:hasAssertion ?ca .\n filter not exists { ?ci npx:invalidates ?cnp ; npa:hasValidSignatureForPublicKeyHash ?cpk . }\n }\n graph ?ca { ?cver dct:isVersionOf ?pinKind ; gen:governedBy ?pinSpace . }\n }\n service {\n graph npa:graph { npa:hasCurrentSpaceState ?gsg . }\n graph ?gsg {\n ?pinKind npa:isMaintainedBy ?pinSpace ; npa:hasGoverningSpaceRef ?gref .\n ?gri a gen:RoleInstantiation ; npa:forSpace ?pinSpace ; npa:forSpaceRef ?gref ; npa:hasRoleType ?gtier ; npa:forAgent ?gag .\n filter(?gtier = gen:AdminRole || ?gtier = gen:MaintainerRole || ?gtier = gen:MemberRole)\n ?gacct a npa:AccountState ; npa:agent ?gag ; npa:pubkey ?cpk .\n }\n }\n } group by ?pinKind ?pinSpace }\n service {\n graph npa:graph { ?gnp npx:embeds ?governedLatest ; np:hasAssertion ?gva . }\n graph ?gva { ?governedLatest dct:title ?gTitle . }\n optional { graph ?gva { ?governedLatest gen:hasStructuralPosition ?gPos . } }\n optional { graph ?gva { ?governedLatest (gen:appliesToInstancesOf|gen:appliesToNamespace) ?gTarget . } }\n }\n }\n bind(if(bound(?governedLatest), ?gTitle, ?supLabel) as ?view_label)\n bind(if(bound(?governedLatest), ?gPos, ?viewPos) as ?effViewPos)\n bind(if(bound(?governedLatest), ?gTarget, ?vTarget) as ?effVTarget)\n bind(coalesce(?dispPos, ?effViewPos, \"\") as ?position)\n }\n }\n values ?__partclass_multi_iri {}\n bind(if(coalesce(str(?dApply) = str(?_partid_iri), false), 1, 0) as ?fDApplyHere)\n bind(if(bound(?dApply), 1, 0) as ?fDHasApply)\n bind(if(bound(?dTarget), 1, 0) as ?fDHasTarget)\n bind(if(coalesce(?dTarget = ?__partclass_multi_iri, false) || coalesce(strstarts(str(?_partid_iri), str(?dTarget)), false), 1, 0) as ?fDMatch)\n bind(if(bound(?effVTarget), 1, 0) as ?fVHasTarget)\n bind(if(coalesce(?effVTarget = ?__partclass_multi_iri, false) || coalesce(strstarts(str(?_partid_iri), str(?effVTarget)), false), 1, 0) as ?fVMatch)\n bind(coalesce(?dTarget, ?effVTarget) as ?targetIri)\n bind(replace(str(?targetIri), \"^.*[/#]\", \"\") as ?targetLocalName)\n bind(if(coalesce(strlen(?targetLocalName) > 0, false), ?targetLocalName, str(?targetIri)) as ?targetLabel)\n bind(if(bound(?pinSpace), coalesce(?governedLatest, ?viewRef), coalesce(?viewLatest, ?viewRef)) as ?view)\n }\n group by ?view ?view_label ?position ?preset ?preset_label ?presetScope ?user ?date ?np\n }\n}\norder by desc(?displayed_here) ?position desc(?date_added)" } ] } ] }, { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0", "http://purl.org/dc/terms/created": [ { "@value": "2026-07-03T13:00:55Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/list-part-view-displays" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RAs9S7c9wdasz2c745f-mBg53JSQ1q20vLLHkmnXCmX2w" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "List part view displays" } ] }, { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "Jo0+V+hLUMJ56o+RwP10ZbnzfU8r4mpuEvia7KWn2Q086kilFqNxxhfwgo4qhgNg667LRd+QnMBcTBd/17s38pH7JDvrBpuINQ1bz6zXLyv5zF+aY9+q2Ww9UbzzE7RZNq/7hojsqy8rUAyPKA8QCLoh5XYgc8rLS6u9Gox5gzc=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/Head", "@graph": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAKHyaoBCpNdbGsdPLdc8lbxLb4KuLhnmU0V2-NcxHei0/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] } ]