Entity Linking
Entity linking connects extracted terms to existing nodes in your knowledge graph, turning unstructured text into structured relationships.
Configuring Linking Rules
- Navigate to Management > Data and select the target node type (e.g.,
Device). - Open the Linking tab.
- Enable linking for specific pipeline sources (e.g.,
Support Case > Summary).
Customizing Edges
By default, linking uses _AppearsIn and _Mentions edges, but these can be customized to match your domain model.
Auto-Creation
For pattern-based entities (like IDs), you can enable the If missing node, Create new node option. This automatically populates the graph with new entities as they are discovered in the text.
Linking mentions in chat replies
The same linking configuration can also be applied to assistant replies in a chat, so a phrase that stands for a record ("TC0530043", "ATA-53-40") becomes a clickable label that opens that record in the chat's preview pane instead of a string the reader has to look up.
This is a custom front-end option rather than an admin setting: set ParseAs on the chat view's ChatViewConfiguration.
new ChatViewConfiguration
{
ParseAs = new ChatViewParseAs
{
PipelineUID = pipelineUID, // the pipeline whose spotters find the mentions
NodeType = "SupportCase", // whose entity linking maps them onto nodes
FieldName = "Summary" // optional — narrows the linking to one field
}
}
Each reply is sent to POST api/chatai/parse-as once the message is on screen — after it has finished streaming, and again whenever an existing transcript is shown. The server runs the pipeline and then the entity linking configured for NodeType, exactly as indexing that node type does, and answers with the phrases it linked and the node each one stands for.
Things worth knowing before turning it on:
- Linking has to be configured for the node type. Spotters and pattern spotters carry no linking of their own — what maps a spotted phrase onto a node is the Linking configuration described above.
FieldNamepicks one of the fields configured for the type; leave it unset to use all of them. - Access is checked per record. Every linked node goes through the calling user's access check, so a mention of a record the reader cannot see stays plain text rather than becoming a link they cannot follow.
- Longer phrases win. Matches are applied longest-first, so
ATA-53-40is linked as itself rather than as theATA-53it contains. The label shows the text as the assistant wrote it. - It is best-effort. A parse that fails leaves the reply rendered as plain text; results are cached per pipeline, node type and text, so re-rendering a transcript does not re-run the parse.