Configuring knowledge graph relationships


Entities within the knowledge graph are linked to each other by relationships.

Two types of relationships are supported:

  • mentions relationships are detected without any additional configuration if any of an entity’s node name values are found in the content of another entity.

  • user-defined relationships are configured as part of the profile-level configuration and are detected if any of an entity’s node name values are found as a value in a specified metadata field of another entity.

Mentions relationships

Mentions relationships are automatically created whenever one entity makes a reference to another entity in the body text or within a metadata class which is not defined as representing a more specific relationship type. This is done by searching the summarisable text and metadata content for occurrences of a value in any other node’s FUNkgNodeNames metadata (case is ignored such that MSMITH is equivalent to msmith). The matching for mentions relationships will match any occurrence of a declared node name within the target as long as it falls on a word boundary (e.g. msmith would be found in I think her username is msmith. but not in How many msmiths do we have?).

Mentions relationships are detected in a document’s summarisable text. This text can be exposed in the data model by setting the query processor option -all_summary_text=true. See: query processor option.

e.g. Given the following XML which represents entities:

Superhero entity - S1

    <FUNkgNodeNames>Bruce Wayne</FUNkgNodeNames>
    <Name>Bruce Wayne</Name>

Movie entity - M5

    <FUNkgNodeNames>Dawn of Justice</FUNkgNodeNames>
    <Title>Batman v Superman: Dawn of Justice</Title>
    <Description><![CDATA[Batman v Superman: Dawn of Justice is a 2016 American superhero film featuring the DC Comics characters Batman and Superman.]]></Description>

A mentions relationship between S1 and M5 will automatically be created when the knowledge graph is updated as one of the names of S1 (Batman) appears within the description of M5.

Only one mentions relationship is ever created between any two entities. i.e. In the scenario that one entity has multiple references to another, only one @mentions relationship will be created.

When working with XML documents, knowledge graph will only create mentions relationships based on fields mapped as indexable document content.

User-defined relationships

User-defined relationships provide a connection between two entities referred to as the source and target.

User-defined relationships are configured at the profile level from the graph tab of administration interface.

Every relationship is directional:

  • Outgoing relationships are created from a source entity to a target entity

  • Incoming relationships are created from a target entity to a source entity

This is important when it comes to customising the knowledge graph widget presentation.

The custom relationship is created when the source node name fully matches a value within the specified metadata field of the target entity. Note: the target metadata field can contain multiple values, and the relationship will be created as long as the source node name fully matches one of these values.


Given entities of type person and document, we can configure a created relationship between them:


person -> created -> document


document -> created (by) -> person where person is the source entity and document is the target entity.

All.undirected relationship

There is also a special all.undirected relationship that appears within the knowledge graph, which contains all the related entities for the current entity.

Knowledge graph widget

Entities related to the currently selected entity are displayed on the right hand panel of the widget. These can be filtered by the relationship, which is displayed as a series of tabs above the list of related entities.