This component is complete and can be used. The interfaces will be supported until the function is removed from the project via the deprecation process. There will be ongoing extensions to this function, but it will be done to ensure backward compatibility as far as possible. If there is a need to break backward compatibility, this will be discussed and reviewed in the community, with a documented timeline.
The People Organizer API is a REST API used to define links between people and teams to show how an organization is linked together. There are two types of relationships it supports:
the Peer relationship that shows a person's peer network.
the TeamStructure relationship that shows how teams are linked together to form the organizational structure.
API forms
The API has three forms:
An Open Metadata View Service (OMVS) REST API designed to support user interfaces (UIs) and integration logic.
A python client library for use in tools, such as Jupyter Notebooks and Apache Airflow, or command line scripts, or Egeria's very own Dr.Egeria, hey_egeria and my_egeria.
Everyone working in an organization builds a network of people that they rely on for help, support and/or information. These people are called peers. They may not work in the same team, nor even in the same building, but reach across the organization. Peer relationships are critical for the efficiency of an organization because they create lateral communication links between people in different parts of the organization.
Peer relationships are not equally important to the individuals at either end of the relationship. The strength of the relationship is determined by the frequency and quality of the interactions between the individuals. The strength of the relationship can be used to determine the level of trust and confidence that can be placed in the information shared between the people and the direction it flows. Therefore, peer relationships should be thought of as expressing the individual at end 1's perspective on the relationship with their peer. Their peer may, or may not, create a peer relationship in the opposite direction.
The diagram below shows Ivor Padlock's peer relationships. He is the head of security, and so he sees his network as the people he goes to for discussions on different aspects of security. Some people in a peer network may not be there because of their job role, but due to past interactions. For example, Sally Counter works in finance. However, Ivor relies on her to help him with his laptop issues.
Figure 1: Peer relationships from Ivor Padlock's perspective
The benefit of defining your personal peer relationships is that they can be used as a personal contact list that includes the context explaining why each person is in the list.
One final point to mention is that although the label and description in the peer relationship reflect the personal opinion of the creator, they are not private. In fact they are visible to all users of the open metadata and governance services that cans see Personal profiles. So keep it professional :).
Code sample - set up a peer relationship
POST {{baseURL}}/servers/{{viewServer}}/api/open-metadata/people-organizer/actor-profiles/{{ivorPadlockGUID}}/peer-persons/{{peterProfileGUID}}/attach
Authorization: Bearer {{token}}
Content-Type: application/json
{
"class" : "NewRelationshipRequestBody",
"properties": {
"class": "PeerProperties",
"label" : "Data Lake Security",
"description" : "Builds pipelines feeding the data lake."
}
}
Python example to follow
ActorProfileClientclient=context.getActorProfileClient(OpenMetadataType.PERSON.typeName);PeerPropertiespeerProperties=newPeerProperties();peerProperties.setLabel("Data Lake Security");peerProperties.setDescription("Builds pipelines feeding the data lake.");client.linkPeerPerson(ivorPadlockGUID,peterProfileGUID,null,peerProperties);
The mermaid graph below shows Ivor's profile with his peer network defined. It was generated using the HTTP Collection of Commands.
Organizations are made up of teams. These teams (they may be called divisions, sectors, departments, ...) are the building blocks of an organization. They are typically organized in a hierarchy to explain how the responsibilities for delivering the products and services that the organization provides are distributed.
The TeamStructure relationship is used to define this hierarchical organizational structure.
Figure 2: Top of organizational structure of the Coco Pharmaceuticals organization