Free cookie consent management tool by TermsFeed

Record Knowledge Graph Component

On This Page

Displays a record and its related records as an interactive knowledge graph.

The record knowledge graph component renders a visual diagram starting from a single record (such as a Customer named "Amelia Richardson") and shows configured related data, like the customer's orders, their status, and the order priority. When a user hovers over a related record in the graph, the name of the related record type and the specific record appear.

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/record-knowledge-graph.gif

Where to use the record knowledge graph component

Use a!recordKnowledgeGraph() in the following components:

You can't use a!recordKnowledgeGraph() in the following components:

Parameters

a!recordKnowledgeGraph( recordType, recordIdentifier, label, labelPosition, helpTooltip, accessibilityText, marginAbove, marginBelow, relationshipLevel, excludedRelatedRecords, includedRelatedRecords, showWhen, height, showMiniMap )

Name Keyword Types Description

Record Type

recordType

Record Type

The base record type for the diagram. The record type must be referenced using the recordType! domain. For example, recordType!Customer.

Record Identifier

recordIdentifier

Any Type

The identifier of the record to display in the diagram. This is typically the value of the primary key field.

Label

label

Text

The text to display as the diagram label.

Label Position

labelPosition

Text

Determines where the label appears. Valid values: "ABOVE" (default), "ADJACENT", "JUSTIFIED", "COLLAPSED".

Help Tooltip

helpTooltip

Text

Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is "COLLAPSED".

Accessibility Text

accessibilityText

Text

Additional text to be announced by screen readers. Used only for accessibility; produces no visible change.

Margin Above

marginAbove

Text

Determines how much space is added above the component. Valid values: "NONE" (default), "EVEN_LESS", "LESS", "STANDARD", "MORE", "EVEN_MORE".

Margin Below

marginBelow

Text

Determines how much space is added below the component. Valid values: "NONE", "EVEN_LESS", "LESS", "STANDARD" (default), "MORE", "EVEN_MORE".

Relationship Level

relationshipLevel

Number (Integer)

The number of relationship levels to display from the base record type. A value of 1 displays only the related record types configured on the base record type. A value of 2 adds the relationships configured on each related record type. Default: 3. Maximum: 10.

Excluded Related Records

excludedRelatedRecords

Any Type

The related records to exclude from the knowledge graph. Use this parameter to hide specific relationships that would otherwise display. This parameter overrides includedRelatedRecords; if a related record is specified in both parameters, the record is excluded. Valid values include a record type reference (recordType!Order) or a relationship reference (recordType!Customer.relationships.order).

Included Related Records

includedRelatedRecords

Any Type

The related records to include in the knowledge graph. When configured, only the specified related records display. The relationshipLevels parameter applies to the specified records. Valid values include a record type reference or a relationship reference. Valid values include a record type reference (recordType!Order) or a relationship reference (recordType!Customer.relationships.order).

Show When

showWhen

Boolean

Determines whether the component is displayed on the interface. When set to false, the component is hidden and its contents are not evaluated. Default: true.

Height

height

Text

Determines the diagram height. Valid values: "SHORT", "MEDIUM", "TALL", "AUTO" (default).

Show Mini Map

showMiniMap

Boolean

Determines whether to display a mini map in the bottom corner of the graph. Default: true.

Using the record knowledge graph component

The following sections cover important details about configuring and using the record knowledge graph component.

Record type requirements

The recordType parameter must reference a record type using the recordType! domain (for example, recordType!Customer). The record knowledge graph component supports both synced and unsynced record types.

Legacy record types are not supported because they do not support record type relationships, which are required to render the knowledge graph.

Record names in the graph

The base record and any related records display two elements:

  • The record type's display name, shown as secondary text. The display name based on the configuration in the record type's Properties.
  • The record name, shown in bold and populated based on the record title configuration.

Configure a meaningful record title and display name on each record type so records are easy to identify in the graph.

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/record-title-display-name.png

The record knowledge graph component can display a maximum of 500 related records. If a record has many relationships across multiple levels, the record knowledge graph may reach this limit.

To avoid exceeding the 500-record limit, reduce the relationshipLevels parameter to a lower value or use the excludedRelatedRecords parameter to omit certain related records from the diagram.

By default, the record knowledge graph component displays all related records up to three relationship levels deep. You can customize which records appear using the relationshipLevels, excludedRelatedRecords, and includedRelatedRecords parameters.

To customize the related records displayed in the record knowledge graph:

  • Change the depth: Set the relationshipLevels parameter to control how many levels of relationships the component traverses from the base record type.
  • Hide specific relationships: Use the excludedRelatedRecords parameter to remove relationships you don't want to show.
  • Highlight specific relationships: Use the includedRelatedRecords parameter to show only certain related records. When configured, the graph displays the specified related records and any intermediate records needed to connect the base record to each specified record. The relationshipLevels parameter determines how far the graph extends. If you specify a record type that is not related to the base record type within the configured relationship level, only the base record displays.

If a related record appears in both excludedRelatedRecords and includedRelatedRecords, the record is excluded.

Using the relationshipLevels parameter

Each relationship level represents one hop from the base record type through its configured relationships. A relationshipLevels value of 1 shows only the record types directly related to the base record type. A value of 2 adds the relationships configured on those related record types, and so on, up to a maximum of 10.

The following example illustrates how relationship levels map to a data model in the record knowledge graph, starting from the RE Order record type:

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/relationshipLevel-example-knowledge-graph.png

Relationship level Related records displayed from
1 RE Customer
2 RE Customer, RE District
3 RE Customer, RE District, RE Warehouse
4 RE Customer, RE District, RE Warehouse, RE Stock

The excludedRelatedRecords and includedRelatedRecords parameters accept either a record type reference (recordType!RE Order) or a relationship reference (recordType!RE Customer.relationships.order).

Use a relationship reference to exclude related records directly related to the base record type. Use a record type reference to omit related records from a nested relationship.

Using the showMiniMap parameter

By default, the showMiniMap parameter is true, so a small satellite view of the record knowledge graph appears at the bottom of the component. The mini map helps users orient themselves as they pan and zoom through the graph.

Consider the complexity of your graph when deciding whether to show the mini map:

  • Show the mini map (default) when the graph displays multiple relationship levels, many related records, or is placed in a tall container where users are likely to pan and zoom.
  • Hide the mini map when the graph is small or simple enough that all nodes fit in view without panning, or when screen space is limited and you want to maximize the area dedicated to the graph itself.

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/showminimap-record-knowledge-graph.png

Appian Mobile considerations

The record knowledge graph component is not supported in Appian Mobile. If you include a!recordKnowledgeGraph() in an interface displayed on Appian Mobile, the component does not render.

Examples

The following examples demonstrate the record knowledge graph component.

These examples illustrate how data displays in the record knowledge graph using the following data model:

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/examples-datamodel-knowledge-graph.png

In each example, the recordIdentifier is provided by a rule input (ri!customer), which points to the AT Customer record type.

These examples reference record types from a different environment and will error if you try to use them in yours. Use them as a reference only.

This example displays all the related records from the relationships configured on the base record type (AT Customer).

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  a!recordKnowledgeGraph(
    label: "Related Customer Data",
    labelPosition: "COLLAPSED",
    recordType: recordType!AT Customer,
    recordIdentifier: ri!customer[recordType!AT Customer.fields.id],
    /* Only displays related data from the */
    /* relationships configured on AT Customer */
    relationshipLevel: 1,
    showMiniMap: false,
    height: "MEDIUM"
  )
}

Returns

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/rkg-example1.png

This example displays all the related records from the relationships configured on the base record type (AT Customer), but excludes the AT Customer Event History record type so it doesn't appear in the record knowledge graph.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  a!recordKnowledgeGraph(
    label: "Related Customer Data",
    labelPosition: "COLLAPSED",
    recordType: recordType!AT Customer,
    recordIdentifier: ri!customer[recordType!AT Customer.fields.id],
    /* Only displays related data from the */
    /* relationships configured on AT Customer */
    relationshipLevel: 1,
    /* Removes record type from the graph */
    excludedRelatedRecords: {
      recordType!AT Customer.relationships.eventHistory,
    },
    showMiniMap: false,
    height: "MEDIUM"
  )
}

Returns

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/rkg-example2.png

This example displays only the orders related to the customer. Any other related records, like industry and event history, are not displayed on the graph because they are not explicitly referenced in the includedRelatedRecords parameter.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  a!recordKnowledgeGraph(
    label: "Related Customer Data",
    labelPosition: "COLLAPSED",
    recordType: recordType!AT Customer,
    recordIdentifier: ri!customer[recordType!AT Customer.fields.id],
    relationshipLevel: 1,
    /* Only displays related orders from the */
    /* relationship configured on AT Customer */
    includedRelatedRecords: {
      recordType!RE Customer.relationships.orders,
    },
    showMiniMap: false,
    height: "MEDIUM"
  )
}

Returns

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/rkg-example3.png

This example references the AT Order Priority record type in the includedRelatedRecords parameter and sets the relationshipLevel parameter to 2. Because AT Order Priority is two levels from the base record, the graph also displays the intermediate AT Order records that connect AT Customer to AT Order Priority.

Other related records at the same depth, like AT Order Status, do not appear because they are not explicitly referenced in the includedRelatedRecords parameter.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  a!recordKnowledgeGraph(
    label: "Related Customer Data",
    labelPosition: "COLLAPSED",
    recordType: recordType!AT Customer,
    recordIdentifier: ri!customer[recordType!AT Customer.fields.id],
    /* Extends the graph two levels from AT Customer */
    relationshipLevel: 2,
    /* Displays AT Order Priority. By default, the */
    /* intermediate AT Order records are also shown */ 
    /* since they are in the path to AT Order Priority. */
    includedRelatedRecords: {
      recordType!AT Order Priority
    },
    showMiniMap: false,
    height: "MEDIUM"
  )
}

Returns

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/rkg-example5.png

This example displays related records from two levels deep, so it displays customer orders and the priority and status of those orders. To keep the graph focused on order information, the AT Customer Event History record type is excluded.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  a!recordKnowledgeGraph(
    label: "Related Customer Data",
    labelPosition: "COLLAPSED",
    recordType: recordType!AT Customer,
    recordIdentifier: ri!customer[recordType!AT Customer.fields.id],
    /* Extends the graph two levels from AT Customer */
    relationshipLevel: 2,
    /* Removes record type from the graph */
    excludedRelatedRecords: {
      recordType!RE Customer.relationships.eventHistory,
    },
    showMiniMap: false,
    height: "MEDIUM"
  )
}

Returns

Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to closeimages/rkg-example4.png

Feature compatibility

The table below lists this component's compatibility with various features in Appian.
Feature Compatibility Note
Portals Incompatible
Offline Interfaces Incompatible
Sync-Time Custom Record Fields Incompatible
Real-Time Custom Record Fields Incompatible

Custom record fields that evaluate in real time must be configured using one or more Custom Field functions.

Process Reports Incompatible

Cannot be used to configure a process report.

Process Events Incompatible

Cannot be used to configure a process event node, such as a start event or timer event.

Process Autoscaling Incompatible

Cannot be used in autoscaled processes.

Event Consumer Filter Conditions Incompatible

Cannot be used in filter conditions.

Event Consumer Event Handlers Incompatible

Cannot be used in event handler expressions.

Feedback