Skip to content

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

Create a Node or an Attribute?

CriterionCreate a node if…Add an attribute if…
Own existenceThe concept exists independently of other nodes. E.g. EMPLOYEE exists even without an associated SKILL.The information makes no sense without its parent node. E.g. start_date without EMPLOYEE does not exist.
Own relationsThe concept is linked to other concepts. E.g. SUPPLIER — located_in — COUNTRY.The information points to no other concept. E.g. country_name is a simple string.
Shared conceptThe concept is shared by several nodes. E.g. SKILL is linked to several EMPLOYEE and JOB_PROFILE.The information belongs to a single instance. E.g. employee_id is unique to each EMPLOYEE.
AI agent questionsThe AI agent will need to navigate to this concept or start from it. E.g. “All suppliers of this part?” → PART — is_supplied_by — SUPPLIER.The AI agent only needs to read the value. E.g. “Creation date of this part?” → created_at on PART is enough.
Change over timeThe concept can change or have its own history. E.g. a SUPPLIER’s certification (obtained, renewed, revoked).The value is stable and intrinsic. E.g. the SUPPLIER’s legal_registration_number.
VolumeThe concept has several attributes of its own. A node with 3+ attributes deserves to exist. E.g. a PART has a name, a weight, a material…The value is atomic: one field, one type. E.g. weight_kg: 2.4
★ FiltersThe AI agent will need to filter on this concept from several node types. E.g. COUNTRY filters SUPPLIER, PLANT, EMPLOYEE → pivot node.The filter applies to a single node type. E.g. status: "approved" only filters SUPPLIER.
★ NavigationThe concept is the entry point of the query. E.g. “Everything based in Italy?” → COUNTRY as the starting point.The AI agent reads the value without navigating. E.g. “Nationality of this supplier?” → SUPPLIER.country = "Italy" is enough.

Example:

  • ✅ SUPPLIER as a node — PART — is_supplied_by — SUPPLIER — located_in — COUNTRY: the AI agent filters from PART, SUPPLIER and COUNTRY. “All approved Italian suppliers?” becomes a natural navigation.
  • ❌ STATUS as a node — PART — has_status — STATUS {value: "approved"}: the AI agent only filters from PART. WHERE PART.status = "approved" is enough, no need to navigate.