@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 "What a role is"; gen:hasContent """

A role is a named position that a person or agent can hold in a space: team member, helper, organizer, project lead. Every role belongs to one of three tiers below admin — maintainer, member or observer — and the tier is what decides what the holder may do. The name is what people see; the tier is what the system uses.

Roles are defined once, as nanopublications, and can then be attached to any number of spaces. The same \"helper\" role, say, serves many spaces without being redefined.

"""; gen:hasPositionString "010" . } 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 "What a role is"; 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 "C+ujSiozj2ET6WiB6IUElcbv9iJJtFtAD2DM3tyfae4M45WU+jEH+c6oeCgzrwnk2+3agheVogLD1kROi0k6F3ao4i1/JFs6bOtP6hOiJuUZDbLWXb5TJAFvEjJr3c36sHFhzSGkC9OI5OnjaOJ6pj/rdH+qxfRPhcuJdudDwdqvL4BRhiGpaXE6g8e7z3iIAcF759cWj+qVmJ/6Kz6tiYb1XjgePswf3H4SOw3dpVwbpslJGEEksYunm/leo1Xz8CoaRjmUmu7LNtCcpowVteSdBx5Wp0Jb/+9StnVcvrkewJQfCuq1MGBjIX0yQRKZrg9pxLLbPxZN3FtwNxd4+g=="; npx:hasSignatureTarget this:; npx:signedBy . }