https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/Head https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/assertion https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/provenance https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/pubinfo https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/assertion https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources http://purl.org/dc/terms/description Lists the resources a space maintains, preceded by the kinds of the definitions (views, templates and the like) that say they are governed by the space but that the space does not list as maintained resources yet, marked as not listed yet. The maintained resources are those of the space ref whose root nanopublication is given (root_np) or, without it, of every ref of the space IRI (space), as in list-maintained-resources. A not-yet-listed kind is shown with the label it would get when listed; its row points to the kind's newest version that declares gen:governedBy <space>, embedded in a nanopublication signed by a current admin, maintainer or member of the space and not invalidated by its own key. Left out are kinds the space already maintains, kinds that were re-minted (the nanopublication minting the kind supersedes a version of another kind), and versions whose latest verdict by an admin of the space is npx:disapprovesOf (a later npx:approvesOf brings them back), as in list-maintained-resources-pending-approval. Hidden columns pre-fill the admin actions on the not-yet-listed rows and are empty on the others: list_* for listing the kind as a maintained resource of the space, dismiss_target and dismiss_choice for dismissing the version, which only takes it off the list. Hosted on the full repo; the space state comes from the spaces repo in two federated calls that each run once. https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources http://www.w3.org/2000/01/rdf-schema#label List maintained and not yet listed resources of a space https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/full https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources https://w3id.org/kpxl/grlc/sparql prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix gen: <https://w3id.org/kpxl/gen/terms/> prefix nt: <https://w3id.org/np/o/ntemplate/> select ?resource ?resource_label ?status ?np ('^' as ?np_label) ?list_resource ?list_label ?list_description ?list_type ?dismiss_target ?dismiss_choice where { { # The resources the space ref lists as maintained resources (all refs of the space IRI # when no root_np is given). service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select ?resource (sample(?label) as ?resource_label) (sample(?viaNp) as ?np) where { graph npa:spacesGraph { ?spaceRef npa:spaceIri ?_space_iri . } optional { values ?__root_np_multi_iri {} graph npa:spacesGraph { ?passedRef npa:rootNanopub ?__root_np_multi_iri . } } filter(!bound(?passedRef) || ?spaceRef = ?passedRef) graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } graph ?g { ?spaceRef npa:hasMaintainedResource ?resource . } graph ?ag { ?resource a gen:MaintainedResource ; rdfs:label ?label . } graph npa:graph { ?defNp np:hasAssertion ?ag ; npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?inv npx:invalidates ?defNp ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph npa:spacesGraph { ?d a npa:MaintainedResourceDeclaration ; npa:resourceIri ?resource ; npa:maintainerSpace ?_space_iri ; npa:viaNanopub ?viaNp } } } group by ?resource } bind(1 as ?listed) } union { { select (?kind as ?resource) (sample(?klabel) as ?resource_label) ?np (str(?kind) as ?list_resource) (sample(?klabel) as ?list_label) (sample(?kdesc) as ?list_description) (sample(?atype) as ?list_type) (str(?np) as ?dismiss_target) (str(npx:disapprovesOf) as ?dismiss_choice) where { # The space's current state in one row: the keys of its admins, of all its admins, # maintainers and members, and the resources it already maintains. { select (sample(?mk) as ?memberKeys) (sample(?ak) as ?adminKeys) (sample(?mr) as ?maintained) where { service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(distinct ?pk; separator=' ') as ?mk) (group_concat(distinct ?apk; separator=' ') as ?ak) (group_concat(distinct str(?r); separator=' ') as ?mr) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?sg . } graph ?sg { { ?ri a gen:RoleInstantiation ; npa:forSpace ?_space_iri ; npa:hasRoleType ?tier ; npa:forAgent ?agent . filter(?tier in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?pk . } union { ?ria a gen:RoleInstantiation ; npa:forSpace ?_space_iri ; npa:hasRoleType gen:AdminRole ; npa:forAgent ?admin . ?aacct a npa:AccountState ; npa:agent ?admin ; npa:pubkey ?apk . } union { ?r npa:isMaintainedBy ?_space_iri . } } } } } } # Versions naming this space as governing, signed by one of its members, not # invalidated, whose kind the space does not maintain yet. graph ?a { ?definition gen:governedBy ?_space_iri ; dct:isVersionOf ?kind . } graph npa:graph { ?np np:hasAssertion ?a ; npx:embeds ?definition ; dct:created ?date ; npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?inv npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } filter(contains(?memberKeys, ?pubkey)) filter(!contains(concat(' ', ?maintained, ' '), concat(' ', str(?kind), ' '))) # Only the newest such version of each kind. optional { graph ?a2 { ?d2 gen:governedBy ?_space_iri ; dct:isVersionOf ?kind . } graph npa:graph { ?np2 np:hasAssertion ?a2 ; npx:embeds ?d2 ; dct:created ?date2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . filter not exists { ?inv2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . } } filter(contains(?memberKeys, ?pubkey2) && concat(str(?date2), '>', str(?np2)) > concat(str(?date), '>', str(?np))) } filter(!bound(?np2)) # Not a re-minted kind: the nanopublication minting it must not supersede a version of # another kind. optional { graph npa:graph { ?kn npx:introduces ?kind . } filter(strstarts(str(?kind), concat(str(?kn), '/'))) graph npa:networkGraph { ?kn npx:supersedes ?old . } graph npa:graph { ?old np:hasAssertion ?oa . } graph ?oa { ?ov dct:isVersionOf ?oldKind . } filter(?oldKind != ?kind) } filter(!bound(?oldKind)) # Admin verdicts on this version, for the latest one to decide below: a version whose # latest admin verdict is a disapproval drops out. optional { values ?vpred { npx:approvesOf npx:disapprovesOf } graph ?va { ?vagent ?vpred ?np . } graph npa:graph { ?vnp np:hasAssertion ?va ; dct:created ?vdate ; npa:hasValidSignatureForPublicKeyHash ?vpk . filter not exists { ?vinv npx:invalidates ?vnp ; npa:hasValidSignatureForPublicKeyHash ?vpk . } } filter(contains(?adminKeys, ?vpk)) bind(concat(str(?vdate), '>', if(?vpred = npx:disapprovesOf, 'd', 'a')) as ?verdict) } # The label the kind gets when listed, and what the list action pre-fills. optional { graph ?a { ?definition dct:title ?title . } } optional { graph ?a { ?definition rdfs:label ?label . } } optional { graph ?a { ?definition dct:description ?description . } } optional { graph ?a { ?definition a ?rdftype . filter(?rdftype in (gen:ResourceView, nt:AssertionTemplate, nt:ProvenanceTemplate, nt:PubinfoTemplate, gen:Preset)) } } optional { graph ?a { ?definition a ?atype . filter(?atype = nt:AssertionTemplate) } } bind(coalesce(if(?rdftype = gen:ResourceView, 'view', if(?rdftype = nt:AssertionTemplate, 'assertion template', if(?rdftype = nt:ProvenanceTemplate, 'provenance template', if(?rdftype = nt:PubinfoTemplate, 'pubinfo template', if(?rdftype = gen:Preset, 'preset', 'definition'))))), 'definition') as ?dtype) bind(coalesce(?title, ?label, str(?definition)) as ?dlabel) bind(coalesce(?label, ?title, str(?kind)) as ?baseLabel) bind(if(?dtype = 'view', concat(str(?baseLabel), ' kind'), concat(str(?baseLabel), ' (', ?dtype, ' kind)')) as ?klabel) bind(coalesce(?description, concat('The kind of the ', ?dtype, ' «', str(?dlabel), '», maintained by this space so that any of its members can publish the next version.')) as ?kdesc) } group by ?kind ?np having (coalesce(!strends(max(?verdict), 'd'), true)) } bind(0 as ?listed) bind('⏳ not listed yet' as ?status) } } order by ?listed lcase(str(?resource_label)) https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/provenance https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/assertion http://www.w3.org/ns/prov#wasAttributedTo https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/pubinfo https://orcid.org/0000-0002-1267-0234 http://xmlns.com/foaf/0.1/name Tobias Kuhn https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://purl.org/dc/terms/created 2026-09-24T14:43:13Z https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://purl.org/dc/terms/creator https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://purl.org/dc/terms/license https://creativecommons.org/licenses/by/4.0/ https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://purl.org/nanopub/x/embeds https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/list-maintained-and-not-yet-listed-resources https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.w3.org/2000/01/rdf-schema#label List maintained and not yet listed resources of a space https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.w3.org/ns/prov#wasDerivedFrom https://w3id.org/np/RAACDhEU3OF8BF52aaHDMfs-djySEp_i-yv1Yb5We6zxc https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI http://www.w3.org/ns/prov#wasDerivedFrom https://w3id.org/np/RAPthUMRDXiJeD2BrOsZigTsbA0LktBc-HC4alDSfVNKM https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/sig http://purl.org/nanopub/x/hasPublicKey MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/sig http://purl.org/nanopub/x/hasSignature WMWWzFgZ7P6OHZDbsCRXiv381f8OHAqGNj0cCtZxYabGQiBRK+CGezLijIyc/fJJ95mO+sqM68N7zCTvyxmfUgwljL1SijFH/PMi7PQVA6ejvHguchNwOFb9rb3FamqqdXD4I6jBHUOpCuyMlOIT2dG0aa2BvuhobUDK4rDLeDw= https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI https://w3id.org/np/RAWZab2iKc3cB6TwqHdUEn1ZgMh817nfiwFKAVMrypVlI/sig http://purl.org/nanopub/x/signedBy https://orcid.org/0000-0002-1267-0234