Layer 3 - Association
Skills and skills groups are organized and assigned different properties. There are three types or organization and several properties that can be assigned to nodes.
Layer 3 - Association
This is the most important layer as this is the layer where the knowledge graph- which impacts the Skills Profiling activity- is constructed.
The principal activity that is performed here is bringing the skills from the master and creating trees and branches. If we were to construct a tree for IT, we would first bring the IT Master which has only one layer under it, like Software Development and IT Security. Once this master is brought here, under the Software Development node we may add another child as a master called Areas in Software Development. In this manner, a hierarchical structure for different branches can be created.
All the nodes come from master, with some exceptions. The way they are manipulated while creating the hierarchical structure are as follows:
- 1.The entire master which means all the nodes; parent, children and grandchildren, for a master can be added
- 2.A parent and some of the children and or some of the grandchildren can be added
- 3.All or some of the children and or grandchildren can be added without adding the parent
On the association side, there are a few rules:
- 1.Any number of masters can be added as children to a node
- 2.However, if a master has been added as a child to a node, then another master without a header i.e. parent cannot be added
- 3.Children of another master cannot be added for a master that has been added
Whenever a new skill is added to a master in the master table the skill will be added to all the places in the association table where the master has been included, however, the skill will not be automatically included in the LIVE. The skill only becomes LIVE after it has been verified.
Apart from the hierarchical association, there are two other relationships that are possible.
- 1.Virtual Nodes
Virtual node concept is a way of creating graphical constructs. A stem from one branch can be made a child of a node in another branch based on relevance, which again has very significant utility. We all know a set of skills may be used in multiple contexts. For example, a design tool like Photoshop may be used by different types of designers including graphic designers, interior designers, fashion designers. Virtual nodes enable us to retain one place for the Graphic Design tools in the association table and have them related or get associated with multiple contexts. So, Graphic Design tools like Photoshop are maintained in one instance but are associated with Graphic Designers, Interior Designers and Fashion Designers. This means whichever way a person comes from (while creating a Skills Profile) i.e. as a Graphic Designer or Interior Designer or Fashion Designer, they will see the recommendation of Graphic Design tools. Even if a user comes to more than one of these, they will see the Graphic Design tools. However, this time, it will show that they have already visited and rated on the Graphic Design tool, e.g. Photoshop.
There is another profound relevance of this structure. We can also say where a particular tool can be useful. This can be an important analytical input when guiding people on careers (i.e. because you know Photoshop, you might find employment in these occupations) or when looking for people (because you are looking for people with Photoshop experience, we can explore people in such and such occupations).
While creating a Virtual node, there is an option to choose all (by default) or for select children to be included in the virtual node. This is very useful when we want to suggest some skills as being relevant for the user in a particular context while the user can go beyond the recommended skills to add other skills in the group. For example, we may make Programming Languages a virtual node for Game Development and within that, select some such as C++ as suggested Programming Languages for Game Development. When a user chooses Game Development, they will see the selected Programming Languages as visible portions but also see “Other Programming Languages”. If they click that, they will find other Programming Languages. The user may not know the suggested Programming Language only but other Programming Languages as well. 2. Associations
Here, skills from one branch and another can be related (unlike in virtual nodes, here the association will not be as a child but as a sibling). This is used when we want to bring different skill groups together from different branches and create a family. In one of the examples on Discrete we had kept Databases and Programming Languages discrete. However, we could do an association of the two. In a case when one searches Oracle, they will see that the parent is Database and will also see Programming Languages as a sibling of Database (despite the fact that they were marked discrete).