No one size fits all in representing the relationship between people and organizations.
In some cases, a simple binary relation is enough, e.g. a
memberOf property linking an organization and a person. In other cases, a complex n-ary relation is required, e.g. to describe the duration of the person's membership; in such cases, we create a new class to represent the relation, e.g. a
Membership class, and attach properties to it, like duration, to describe the relationship between the person and the organization.
The Membership class should have properties for:
Chairman of the XYZ Party
the role that the member fulfills in the organization
the person (or organization) that is a member of the organization
the organization in which the person (or organization) is a member
the post held by the member in the organization
Chairman of the XYZ Party
the organization on whose behalf the person is a member of the organization
Member of the W3C Open Government Community Group on behalf of XYZ Inc.
the geographic area to which the membership is related
Member of Parliament for Avalon
the date on which the relationship began
the date on which the relationship ended
January 1, 2013
the means of contacting the member of the organization
1 Main Street
A URL to a document about the membership.
Briefly, the survey of existing specifications concludes that only the Organization ontology offers a rich membership model for describing the relation between people and organizations. Given the complex encoding of time intervals in RDF, the
schema:validUntil pair is used instead of
org:memberDuring, an alternative described by the original developers of the Organization ontology.
||A relationship between a member and an organization|
||A label describing the membership|
||The role that the member fulfills in the organization|
||The person or organization that is a member of the organization|
||The organization in which the person or organization is a member|
||The post held by the member in the organization|
|on behalf of||
||The organization on whose behalf the person is a member of the organization|
||The geographic area to which the membership is related|
||The date on which the relationship began|
||The date on which the relationship ended|
||A means of contacting the member of the organization|
||A URL to a document about the membership|
1. The Organization ontology defines the inverse property
A membership relation cannot exist without both a member and an organization. All memberships must assign values to either
person_id and to either
JSON differences from other RDF serializations:
labelis used instead of
prefLabel, to be consistent with the ContactDetail class.
roleproperty is a string, instead of an
person_idis used in the common case of relating a person to an organization. The term
membermay be used to relate either a person or an organization to an organization (see an example).
end_date2 are used instead of
validUntil, for backwards compatibility and for better semantics.
linksis used instead of
seeAlsoand is serialized as an array of link objects.
2. With respect to reuse, the terms
end_date are used in the Participation ontology and others.