MEMBER_OF
MEMBER_OFM edge/relationship definition.
Description
Connects an ( :Actor ) node (Group OR Person) to an ( :Actor:Group ) node to record that Actor's membership in (or subsidiary relationship to) the Group. Properties may be attached to the edge/relationship in order to specify the role and dates of this membership.
Analogy
Join row(s) or table(s) linking Actors (Group or Person) to the Groups in which they were members.
CIDOC-CRM Mapping
MAYBE include a short summmary here, but leave the details for the designated CIDOC-CRM section.
Relevant Nodes, Directions, and Cardinality
[ :Actor:Group | :Actor:Person ] ——[ :MEMBER_OF ]——> @[0..*] [ :Actor:Group ] ⟵ @[0..*]
- Each Person or Group may be members of zero or many Groups.
- Each Group may have zero or many members.
- Multiple MEMBER_OF relationships may exist between the same source and target nodes, provided they differ by property values (e.g., role, dates).
Edge/Relationship Properties
| property | type | req? | uniq? | description | example(s) |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| role | string | n | n | The role that this specific actor played in the membership group, selected from the Vocab:GroupRole controlled vocabulary. | "faculty member" |
| dateStart | string (edtf) | n | n | Where relevant and available, the date this membership role began, as precise as possible, in extended date-time format (level 0/1 supported). | "2018-08-20" |
| dateEnd | string (edtf) | n | n | Where relevant and available, the date this membership role ended, as precise as possible, in extended date-time format (level 0/1 supported). | "YYYY-MM-DD" |
POSSIBLE: System/Audit Properties
Need to decide if we should include the full (or a partial) audit trail for edge/relationships. I'm leaning toward YES.(these are not required/enforced by Neo4j but are populated via the UJAP Database web application; these could also be handled—perhaps more simply—by edge/relationship to AuditEvent nodes)
| property | type | req? | uniq? | description | example(s) |
|---|---|---|---|---|---|
| proposedAt | datetime | n | n | Timestamp of entity proposal (initial database record creation) | "2026-01-30T02:39:15.638Z" |
| proposedBy | string | n | n | Email or userID of the person who created this entity's initial/proposed record | "person@email.com" |
| approvedAt | datetime | n | n | Timestamp of entity proposal (initial database record creation) | "2026-01-30T12:47:15.638Z" |
| approvedBy | string | n | n | Email or userID of the person who created this entity's initial/proposed record | "person@email.com" |
| committedAt | datetime | n | n | of node entity COMMIT (i.e., formal approval/ publishing to database by an admin). | "2026-01-31T02:41:56.043Z" |
| committedBy | string | n | n | Email or userID of the person who COMMITTED this node entity. | "person@email.com" |
Example Visualization
Insert visualization here, drawn in Arrows.app and using the correct color-coding.