Skip to content
🤷

Forgive us! These docs are a work in progress. Some pages may be incomplete or describe features that aren't quite finished yet. Farkitect is in early development and we don't recommend using it for real work just yet. Feel free to explore — just be aware that things are still being built.

How to create a relationship type

  1. In the Explorer, expand your M2 metamodel package
  2. Right-click on the Relationship Types package
  3. Select New Relationship Type
  4. Rename it (e.g., “Manages”) and press Enter

With the relationship type selected, set its visual appearance:

  • Line style — solid, dashed, or dotted
  • Source marker — none, arrow, or hollowArrow
  • Target marker — none, arrow, or hollowArrow
  • Colour — edge line colour
  • Source-to-target verb — forward direction label (e.g., “manages”)
  • Target-to-source verb — reverse direction label (e.g., “managed by”)

Constraints control which element types this relationship can connect:

  1. In the Properties panel, find the Constraints section
  2. Add a valid pair: select a source element type and a target element type
  3. Repeat for additional valid combinations

Without constraints, the relationship can connect any two elements. With constraints, only the specified source/target pairs are allowed.

Relationship types can have properties just like element types. See How to define properties and enumerations.

  • Use solid lines for strong/structural relationships, dashed for dependencies, dotted for annotations
  • Source-to-target and target-to-source verbs appear in the Context panel and make relationships human-readable
  • Start with narrow constraints and widen later if needed — it’s easier to allow more than to restrict what’s already been used