https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/Head https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/assertion https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/provenance https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/pubinfo https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/assertion https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members http://purl.org/dc/terms/description Lists the members of a given space ref (space IRI + root definition) together with their highest role tier (admin, maintainer, or member, in that order) and links to the role-assignment nanopubs (labelled by the specific role name, preferring schema:name). Observer-tier roles are excluded. The tier of each membership is resolved ONLY through a role that the space's own admins authoritatively assigned to it (a gen:RoleAssignment with npa:forSpace this space and gen:hasRole), matched to the instantiation by predicate; role declarations from other spaces that merely reuse the same predicate are ignored. This fixes a bug where a predicate (e.g. gen:hasTeamMember) declared with a different tier in another space leaked into this space's member listing. When the same role is assigned to the same person by multiple nanopubs, only the latest one is linked. Pass the ref's root nanopub (root_np); the query resolves the ref via npa:rootNanopub and scopes the role instantiations by npa:forSpaceRef. Ref-scoped variant of list-space-members (which is IRI-keyed via npa:forSpace). https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members http://www.w3.org/2000/01/rdf-schema#label List space members (ref-scoped) https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/spaces https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members 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 gen: <https://w3id.org/kpxl/gen/terms/> prefix schema: <http://schema.org/> select ?member ?tier ?role_assignments_multi_iri ?role_assignments_label_multi where { { select ?member (if(min(?rank)=1,"Admin",if(min(?rank)=2,"Maintainer","Member")) as ?tier) (min(?rank) as ?rankMin) (group_concat(?latestNp; separator=" ") as ?role_assignments_multi_iri) (group_concat(?roleLabel; separator="\n") as ?role_assignments_label_multi) where { { select ?member ?roleProp (min(?rank0) as ?rank) (sample(?roleLabel0) as ?roleLabel) (strafter(max(concat(coalesce(str(?dateNp),""), " ", str(?grantNp))), " ") as ?latestNp) where { values ?_root_np_multi_iri {} graph npa:spacesGraph { ?spaceRef npa:rootNanopub ?_root_np_multi_iri ; npa:spaceIri ?spaceIri . } graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } graph ?g { ?ri a gen:RoleInstantiation ; npa:forSpaceRef ?spaceRef ; npa:forAgent ?member ; npa:viaNanopub ?grantNp . } bind(exists { graph ?g { ?ri npa:inverseProperty gen:hasAdmin } } as ?isAdmin) optional { graph npa:spacesGraph { ?ri (npa:regularProperty|npa:inverseProperty) ?ropExt } } optional { graph ?g { ?ri (npa:regularProperty|npa:inverseProperty) ?ropState } } bind(coalesce(?ropExt,?ropState) as ?roleProp) optional { graph npa:graph { ?grantNp dct:created ?dateNp } } # AUTHORITATIVE role + tier + label: the role THIS space assigned (RoleAssignment # forSpace this space -> gen:hasRole) whose declared predicate matches this row. optional { graph npa:spacesGraph { ?assign a gen:RoleAssignment ; npa:forSpace ?spaceIri ; gen:hasRole ?assignedRole . ?rdScoped a npa:RoleDeclaration ; npa:role ?assignedRole ; (gen:hasRegularProperty|gen:hasInverseProperty) ?roleProp ; npa:hasRoleType ?scopedType ; npa:viaNanopub ?roleNp . } graph npa:graph { ?roleNp np:hasAssertion ?role_a . } optional { graph ?role_a { ?assignedRole schema:name ?rlS } } optional { graph ?role_a { ?assignedRole rdfs:label ?rlA } } optional { graph ?role_a { ?assignedRole dct:title ?rlB } } bind(coalesce(?rlS,?rlA,?rlB) as ?rl) } bind(if(?isAdmin,1,if(?scopedType=gen:MaintainerRole,2,if(?scopedType=gen:MemberRole,3,0))) as ?rank0) bind(if(?isAdmin,coalesce(?rl,"admin"),coalesce(?rl,"role")) as ?roleLabel0) } group by ?member ?roleProp } filter(?rank > 0) } group by ?member } } order by ?rankMin ?member https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/provenance https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/assertion http://www.w3.org/ns/prov#wasAttributedTo https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/pubinfo https://orcid.org/0000-0002-1267-0234 http://xmlns.com/foaf/0.1/name Tobias Kuhn https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://purl.org/dc/terms/created 2026-06-23T13:42:09Z https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://purl.org/dc/terms/creator https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://purl.org/dc/terms/license https://creativecommons.org/licenses/by/4.0/ https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://purl.org/nanopub/x/embeds https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/list-space-members https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok http://purl.org/nanopub/x/supersedes https://w3id.org/np/RAXhi9zBXJ2mZVmjBm_MZk1xM6OCxxVyr5B3xNYdy6boQ https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/sig http://purl.org/nanopub/x/hasPublicKey MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/sig http://purl.org/nanopub/x/hasSignature GSqpN3Vc9coPhxPc67F+NL5LdA3uxKxtVrCLFU4Nc8iEMTihxrpJ9JVVx+Qhj8mQmshrI3JzNQxRMf76p98JMYuL5PZlKdDCoismFl0aFc1FCfDz+lz5al4lNewokB8TgRrVF/wwqKVQ5jy+v8NOnCd88mcAeWVp4wZVviL5aCY= https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok https://w3id.org/np/RAw_6pyy_0Zm71cdZN56HGjS7VGYzADDlQFG953D3pzok/sig http://purl.org/nanopub/x/signedBy https://orcid.org/0000-0002-1267-0234