@prefix this: . @prefix sub: . @prefix np: . @prefix grlc: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:list-space-organizers-by-role a grlc:grlc-query; dct:description "Lists the organizers of a given space (one row per agent): agents holding the organizer role (validated role instantiations in the current space state). The name shown is the agent's canonical name from the space state where there is one, falling back to the foaf:name stated by the grant nanopublication itself - without that fallback, everyone who has not yet published a key renders as a bare URI. The np column points to the organizer-role grant nanopub. IRI-keyed by npa:forSpace (param space)."; dct:license ; rdfs:label "List space organizers by role"; grlc:endpoint ; grlc:sparql """prefix rdfs: prefix dct: prefix np: prefix npa: prefix gen: prefix foaf: select ?user_iri ?user_iri_label ?np ?np_label where { { select ?user_iri (sample(?name) as ?name) (sample(?grantName) as ?grantName) (max(?grantNpStr) as ?np0) where { values ?_space_multi_iri {} graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?g . } graph ?g { ?ri a gen:RoleInstantiation ; npa:forSpace ?_space_multi_iri ; npa:forAgent ?user_iri ; npa:viaNanopub ?grantNp ; gen:hasRole . } optional { graph ?g { ?user_iri foaf:name ?name } } optional { graph npa:graph { ?grantNp np:hasPublicationInfo ?grantPi . } graph ?grantPi { ?user_iri foaf:name ?grantName . } } bind(str(?grantNp) as ?grantNpStr) } group by ?user_iri } bind(iri(?np0) as ?np) bind(\"^\" as ?np_label) bind(coalesce(str(?name), str(?grantName), \"\") as ?user_iri_label) } order by lcase(?user_iri_label)""" . } sub:provenance { sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 . } sub:pubinfo { orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" . this: dct:created "2026-09-07T07:44:53Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:list-space-organizers-by-role; npx:supersedes ; rdfs:label "List space organizers by role"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "aa2kHVB0EjZYQJMZSwCdqCs1FpXxWb8dg3ER0iTmw2fqwOyO7mAm3be5bCYAft2n9KLqgyybVMF6LbQFftXC/E/IJza5/LxpeNOHVY1zb6kdhv4UMjmAYrVxRvKxnAgh2EfgjxQNf3iYiDvMXfYjwy/7bNT0WJj1iw2y6ikqgfE="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }