has role
- CURIE:
gmeow:hasRole - IRI: https://blackcatinformatics.ca/gmeow/hasRole
- Category: property
- Defined by:
gmeow:slices/organization - Box roles: RBox role (What is this?)
Relates a membership to the role the member plays. Domain is gmeow:Membership so the role is borne by the relator, not the agent — a person plays a role THROUGH a membership, never as a subclass of themselves (Principle 9). Non-functional: a membership may carry several roles.
Structure
Property shape: object property; gmeow:Membership -> gmeow:Role
Practical Pattern
Use gmeow:hasRole from gmeow:Membership to gmeow:Role when the relationship itself belongs in the native GMEOW graph.
Common Companion Terms
Projects To
| Profile | External Targets |
|---|---|
foaf |
foaf |
org |
org, rdf |
resume |
schema |
schema-org |
schema |
vcard |
vcard |
External Equivalences
Equivalent or closely aligned targets: org
Linkages
Generated from the canonical mapping DSL. SSSOM files are the generated public interchange form for term equivalences.
Term Equivalences
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:hasRole |
equivalence | - |
skos:exactMatch | org:role | gmeow-properties.sssom.tsv; gmeow:eqProperties076; confidence 0.85 |
Projection Coverage
| Source | Kind | Profile | Predicate/Relation | Target | Evidence |
|---|---|---|---|---|---|
gmeow:hasRole |
projection | foaf |
projects to / <= | foaf:title | gmeow:mapFoafTitle; confidence 0.85; lossy: the membership's organization, period and compensation drop; the bare title string survives |
gmeow:hasRole |
projection | org |
projects to / = | org:Membership, org:member, org:organization, org:role, rdf:type | gmeow:mapOrgMembership; confidence 0.95; lossy: statement-level provenance (accordingTo, validity clocks) on the membership drops |
gmeow:hasRole |
projection | resume |
projects to / <= | schema:jobTitle | gmeow:mapResumeJobTitle; confidence 0.9; lossy: the Employment relator (organization, period, compensation, type, standpoint) collapses to a flat schema:jobTitle literal; contested employment claims are not distinguished; transform gmeow:fnMembershipToJobTitle |
gmeow:hasRole |
projection | schema-org |
projects to / <= | schema:jobTitle | gmeow:mapSchemaJobTitle; confidence 0.9; lossy: the Membership relator (organization, period, role, confidence, standpoint) collapses to a flat schema:jobTitle literal; contested membership claims are not distinguished; transform gmeow:fnMembershipToJobTitle |
gmeow:hasRole |
projection | schema-org |
projects to / <= | schema:roleName | gmeow:mapSchemaPostRole; confidence 0.7; lossy: the Post (seat ⟂ holder) and Membership relator collapse to a flat schema:roleName; contested membership claims are not distinguished; transform gmeow:fnPostToOrganizationRole |
gmeow:hasRole |
projection | vcard |
projects to / <= | vcard:title | gmeow:mapVcardTitle; confidence 0.9; lossy: the Membership relator (organization, period, role, confidence, standpoint) collapses to a flat vcard:title literal; contested membership claims are not distinguished; transform gmeow:fnMembershipToJobTitle |
Usage Advice
Use when
- Use to bind a
gmeow:Roleto agmeow:Membership— the function the member plays within the organization for the duration of that membership.
Avoid when
- Avoid attaching it to the agent directly (the role rides the membership relator, not the person) and avoid using it for the holder-independent seat — that is
gmeow:fillsPostpointing at agmeow:Post.
How to use
- Add one or more
gmeow:hasRoletriples to agmeow:Membershipreferencinggmeow:Roleindividuals; pair withgmeow:fillsPostwhen the role is a named, holder-independent seat.
Examples
- ex:emp
gmeow:hasRoleex:cfoRole.