@prefix this: . @prefix sub: . @prefix schema: . @prefix gen: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix prov: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:paragraph a gen:Paragraph; schema:about gen:SpaceMemberRole; schema:title "Defining a role"; gen:hasContent """

A role is defined with the \"Declaring a space member role\" form. It asks for a label, a short name such as \"member\", a heading such as \"Members\" under which holders are listed, and the tier — maintainer, member or observer, with observer as the default.

The definition also fixes how a grant is written: the statement that says someone holds the role, either from the person to the space (\"Alice is a member of X\") or from the space to the person (\"X has member Alice\"). Optionally it names a template for making grants, which is what puts an \"add …\" button on space pages.

"""; gen:hasPositionString "020" . } sub:provenance { sub:assertion prov:wasAttributedTo . } sub:pubinfo { this: dct:created "2026-09-10T11:36:12Z"^^xsd:dateTime; dct:creator ; dct:license ; npx:introduces sub:paragraph; rdfs:label "Defining a role"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB"; npx:hasSignature "D25W+wnKA4Z6pCUp4ZP5Z30ahVSGdWgB2Wi2LZ4JNkm6yeHIWhl8CjvhH/Xk6FLUoqtIIo5vq75vV7uFqEXZ27lAp3Je15ayI9A+O2dhHzPeCJFxyMc6RjjyH9J6yGITrNpQUFZUKoFrXLuaBrSgAUbilI8mbQ4EQMmrAJIvXHUzqkdFjOwP6ltJtuoYf9kzlpOWPof4KJldgdZpelkY7YwYH0StOddoEVmbKeH6Imxy6QDQn8BSAbdlj7G2pRhWsnIeWvozXAgLUv808saHJ5319mSxkOClwmfndexGgNgDpcVSJrcLRRnE03JJMhIzPZfjUAX1U+1OSoKa2U85kA=="; npx:hasSignatureTarget this:; npx:signedBy . }