Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/knut

.nornir/assets/falkordb-load.svg

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 880 300" font-family="-apple-system,Segoe UI,Roboto,sans-serif" font-size="15">
  <defs>
    <marker id="a" markerWidth="9" markerHeight="9" refX="7" refY="3" orient="auto">
      <path d="M0,0 L7,3 L0,6 Z" fill="#555"/>
    </marker>
  </defs>
  <text x="30" y="28" font-weight="700" font-size="16">Arrow → FalkorDB bulk load — the column-resolved hot path</text>

  <!-- RecordBatch -->
  <rect x="30" y="110" width="150" height="70" rx="8" fill="#eef3fb" stroke="#2b5fb3" stroke-width="1.5"/>
  <text x="105" y="140" text-anchor="middle" font-weight="600">RecordBatch</text>
  <text x="105" y="160" text-anchor="middle" fill="#555" font-size="12">columnar rows</text>

  <!-- ColRenderer -->
  <rect x="230" y="100" width="180" height="90" rx="8" fill="#eefaf0" stroke="#2f8f4e" stroke-width="1.5"/>
  <text x="320" y="128" text-anchor="middle" font-weight="600">ColRenderer::resolve</text>
  <text x="320" y="148" text-anchor="middle" fill="#555" font-size="12">downcast once / column</text>
  <text x="320" y="166" text-anchor="middle" fill="#555" font-size="12">arrow_value_to_cypher</text>
  <text x="320" y="183" text-anchor="middle" fill="#2f8f4e" font-size="11">§H1 · no per-cell String</text>

  <!-- write_row_map -->
  <rect x="460" y="110" width="160" height="70" rx="8" fill="#fdf2ec" stroke="#c26a2b" stroke-width="1.5"/>
  <text x="540" y="138" text-anchor="middle" font-weight="600">write_row_map</text>
  <text x="540" y="158" text-anchor="middle" fill="#555" font-size="12">one pre-sized buffer</text>
  <text x="540" y="174" text-anchor="middle" fill="#555" font-size="12">{ _gar_id: …, … }</text>

  <!-- UNWIND -->
  <rect x="670" y="100" width="180" height="90" rx="8" fill="#f6eefb" stroke="#7a3fb3" stroke-width="1.5"/>
  <text x="760" y="128" text-anchor="middle" font-weight="600">UNWIND […] AS r</text>
  <text x="760" y="148" text-anchor="middle" fill="#555" font-size="12">CREATE / MERGE</text>
  <text x="760" y="166" text-anchor="middle" fill="#555" font-size="12">one round trip / batch</text>
  <text x="760" y="183" text-anchor="middle" fill="#7a3fb3" font-size="11">DEFAULT_BATCH_SIZE=512</text>

  <!-- FalkorDB -->
  <rect x="670" y="235" width="180" height="52" rx="8" fill="#eef3fb" stroke="#2b5fb3" stroke-width="1.5"/>
  <text x="760" y="260" text-anchor="middle" font-weight="600">FalkorDB</text>
  <text x="760" y="278" text-anchor="middle" fill="#555" font-size="12">GRAPH.QUERY over RESP</text>

  <!-- arrows -->
  <path d="M180,145 L230,145" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <path d="M410,145 L460,145" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <text x="415" y="98" fill="#2f8f4e" font-size="11">render</text>
  <path d="M620,145 L670,145" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <text x="620" y="98" fill="#c26a2b" font-size="11">batch maps</text>
  <path d="M760,190 L760,235" fill="none" stroke="#555" stroke-width="1.5" marker-end="url(#a)"/>
  <text x="770" y="217" fill="#2b5fb3" font-size="11">ship</text>

  <text x="30" y="228" fill="#888" font-size="12" font-style="italic">edges MERGE both endpoints on _gar_id — create_index(label,"_gar_id") first</text>
</svg>