Continue Reading Continue Reading More Learning Content

Knowledge Graph v1.0 Metamodel

Synopsis: A Knowledge Graph (a semantic model) is an interconnected set of nodes and edges, representing any general information or knowledge as a cohesive model. A node represents an object, and an edge represents a connection, association, or relationship between nodes.


Tip: learn more about knowledge graphs on Wikipedia.

Idea Behind Knowledge Graph

Enterprise Architecture deals with lots of knowledge, which the architects need to fit under given metamodels. Sometimes, knowledge is too generic, and the metamodel cannot be defined in advance. In such cases, a knowledge graph can come in handy.

A knowledge graph is a simple structure that consists of nodes and edges. A node is any piece of information that we can consider in isolation from everything else. An edge is a connection between nodes, which helps traverse the knowledge to find dependencies, relations between various knowledge elements, impacted paths, etc.

Archipeg's flexible approach to associations, including the ability to label them in any way you want, makes connecting any two node objects and describing their relation possible. Hence, we felt this metamodel is a helpful addition to our catalog.

Knowledge Graph Metamodel Diagram

Knowledge graph metamodel is very simple - it consists of a single object type - a Node. You can define edges as associations between the Node objects. The diagram representing this structure is below.

Example Diagram

Suppose we need to describe Amazon's business lines and its leadership. For this, we can create Nodes representing the entire Amazon and its business lines. CEO of each of these elements is also a Node. Finally, connect all these elements via associations that will serve as edges. We can also customize the association labels to explain the edge's meaning. Below is the resulting diagram image taken from Archipeg.


Knowledge Graph Metamodel Detailed Description





Any object, place, or person that can connect or relate to other Nodes via Edges.




Node::Outgoing Edges <-> Node::Incoming Edges

Outgoing: Nodes that are on the other end of the outgoing edge. The edge originates from the current node and ends with these nodes.

Incoming: Nodes that are on the other end of the incoming edge. The edge originates from these nodes and ends with the current node.

See Also


More Learning Content

Growing product,
Transparent pricing,
Award-winning support.

All Rights Reserved ©