Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Attributes on Relations

The Knowledge Graph is stored in a Neo4j graph database. In Neo4j, a relation can carry its own attributes, exactly like a node.

Put an attribute on the relation when the information describes the link itself (not one of the two nodes): date, quantity, role, status, level.

Rule: do not create an intermediate node if an attribute on the relation is enough.

Use caseRelationAttributes on the relationWhy it matters for the AI agent
HR: relation that changes over timeworks_in{since, until, role}”Who worked in this department in 2021?” → the AI agent queries since / until directly
Supply chain: same relation several times between 2 nodesis_used_in{quantity, position}”How many times is this part used, and where?” → without attributes, impossible to tell apart
Supply chain: relation with a status / lifecycleis_supplied_by{status, since, contract_ref}”Suppliers approved since 2022?” → the AI agent filters on status + since
HR: relation with a requirement levelrequires_skill{level, mandatory}”Mandatory skills at expert level?” → the AI agent filters on level + mandatory
BOM: composition with contextis_composed_of{quantity, position, version}”What quantity of this part for version 2?” → without attributes, the query is impossible
MBOM: assembly with sequenceis_assembled_in{sequence, cycle_time, workstation_ref}”What is the total assembly time of this subsystem?” → the AI agent sums cycle_time