<!-- CANARY: REQ=REQ-API-DOCS-002; FEATURE="APIDocumentation"; ASPECT=BuildTarget; STATUS=EXEMPT; OWNER=tooling; UPDATED=2026-01-03 --> <h3 id="overview" class="position-relative d-flex align-items-center group"> <span>Overview</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="overview" aria-haspopup="dialog" aria-label="Share link: Overview"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><div id="headingShareModal" class="heading-share-modal" role="dialog" aria-modal="true" aria-labelledby="headingShareTitle" hidden> <div class="hsm-dialog" role="document"> <div class="hsm-header"> <h2 id="headingShareTitle" class="h6 mb-0 fw-bold">Share this section</h2> <button type="button" class="hsm-close" aria-label="Close"> <i class="fa-solid fa-xmark"></i> </button> </div> <div class="hsm-body"> <label for="headingShareInput" class="form-label small text-muted mb-1 text-uppercase fw-bold" style="font-size: 0.7rem; letter-spacing: 0.5px;">Permalink</label> <div class="input-group mb-4 hsm-url-group"> <input id="headingShareInput" type="text" class="form-control font-monospace" readonly aria-readonly="true" style="font-size: 0.85rem;" /> <button class="btn btn-primary hsm-copy" type="button" aria-label="Copy" title="Copy"> <i class="fa-duotone fa-clipboard" aria-hidden="true"></i> </button> </div> <div class="small fw-bold mb-2 text-muted text-uppercase" style="font-size: 0.7rem; letter-spacing: 0.5px;">Share via</div> <div class="hsm-share-grid"> <a id="share-twitter" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-twitter me-2"></i>Twitter </a> <a id="share-linkedin" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-linkedin me-2"></i>LinkedIn </a> <a id="share-facebook" class="btn btn-outline-secondary w-100" target="_blank" rel="noopener noreferrer"> <i class="fa-brands fa-facebook me-2"></i>Facebook </a> </div> </div> </div> </div> <style> .heading-share-modal { position: fixed; inset: 0; display: flex; justify-content: center; align-items: center; background: rgba(0, 0, 0, 0.6); z-index: 1050; padding: 1rem; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); } .heading-share-modal[hidden] { display: none !important; } .hsm-dialog { max-width: 420px; width: 100%; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529); border: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); border-radius: 1rem; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); overflow: hidden; animation: hsm-fade-in 0.2s ease-out; } @keyframes hsm-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } [data-bs-theme="dark"] .hsm-dialog { background: #1e293b; border-color: rgba(255,255,255,0.1); color: #f8f9fa; } .hsm-header { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; border-bottom: 1px solid var(--bs-border-color, rgba(0,0,0,0.1)); background: rgba(0,0,0,0.02); } [data-bs-theme="dark"] .hsm-header { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.1); } .hsm-close { background: transparent; border: none; color: inherit; opacity: 0.5; padding: 0.25rem 0.5rem; border-radius: 0.25rem; font-size: 1.2rem; line-height: 1; transition: opacity 0.2s; } .hsm-close:hover { opacity: 1; } .hsm-body { padding: 1.5rem; } .hsm-url-group { display: flex !important; align-items: stretch; } .hsm-url-group .form-control { flex: 1; min-width: 0; margin: 0; background: var(--bs-secondary-bg, #f8f9fa); border-color: var(--bs-border-color, #dee2e6); border-top-right-radius: 0; border-bottom-right-radius: 0; height: 42px; } .hsm-url-group .btn { flex: 0 0 auto; margin: 0; margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; height: 42px; display: flex; align-items: center; justify-content: center; padding: 0 1.25rem; z-index: 2; } [data-bs-theme="dark"] .hsm-url-group .form-control { background: #0f172a; border-color: #334155; color: #e2e8f0; } .hsm-share-grid { display: flex; flex-direction: column; gap: 0.5rem; } .hsm-share-grid .btn { display: flex; align-items: center; justify-content: center; font-size: 0.9rem; padding: 0.6rem; border-color: var(--bs-border-color); width: 100%; } [data-bs-theme="dark"] .hsm-share-grid .btn { color: #e2e8f0; border-color: #475569; } [data-bs-theme="dark"] .hsm-share-grid .btn:hover { background: #334155; border-color: #cbd5e1; } </style> <script> (function(){ const modal = document.getElementById('headingShareModal'); if(!modal) return; const input = modal.querySelector('#headingShareInput'); const copyBtn = modal.querySelector('.hsm-copy'); const twitter = modal.querySelector('#share-twitter'); const linkedin = modal.querySelector('#share-linkedin'); const facebook = modal.querySelector('#share-facebook'); const closeBtn = modal.querySelector('.hsm-close'); let lastFocus=null; let trapBound=false; function buildUrl(id){ return window.location.origin + window.location.pathname + '#' + id; } function isOpen(){ return !modal.hasAttribute('hidden'); } function hydrate(id){ const url=buildUrl(id); input.value=url; const enc=encodeURIComponent(url); const text=encodeURIComponent(document.title); if(twitter) twitter.href=`https://twitter.com/intent/tweet?url=${enc}&text=${text}`; if(linkedin) linkedin.href=`https://www.linkedin.com/sharing/share-offsite/?url=${enc}`; if(facebook) facebook.href=`https://www.facebook.com/sharer/sharer.php?u=${enc}`; } function openModal(id){ lastFocus=document.activeElement; hydrate(id); if(!isOpen()){ modal.removeAttribute('hidden'); } requestAnimationFrame(()=>{ input.focus(); }); trapFocus(); } function closeModal(){ if(!isOpen()) return; modal.setAttribute('hidden',''); if(lastFocus && typeof lastFocus.focus==='function') lastFocus.focus(); } function copyCurrent(){ try{ navigator.clipboard.writeText(input.value).then(()=>feedback(true),()=>fallback()); } catch(e){ fallback(); } } function fallback(){ input.select(); try{ document.execCommand('copy'); feedback(true);}catch(e){ feedback(false);} } function feedback(ok){ if(!copyBtn) return; const icon=copyBtn.querySelector('i'); if(!icon) return; const prev=copyBtn.getAttribute('data-prev')||icon.className; if(!copyBtn.getAttribute('data-prev')) copyBtn.setAttribute('data-prev',prev); icon.className= ok ? 'fa-duotone fa-clipboard-check':'fa-duotone fa-circle-exclamation'; setTimeout(()=>{ icon.className=prev; },1800); } function handleShareClick(e){ e.preventDefault(); const btn=e.currentTarget; const id=btn.getAttribute('data-share-target'); if(id) openModal(id); } function bindShareButtons(){ document.querySelectorAll('.h-share').forEach(btn=>{ if(!btn.dataset.hShareBound){ btn.addEventListener('click', handleShareClick); btn.dataset.hShareBound='1'; } }); } bindShareButtons(); if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', bindShareButtons); } else { requestAnimationFrame(bindShareButtons); } document.addEventListener('click', function(e){ const shareBtn=e.target.closest && e.target.closest('.h-share'); if(shareBtn && !shareBtn.dataset.hShareBound){ handleShareClick.call(shareBtn, e); } }, true); document.addEventListener('click', e=>{ if(e.target===modal) closeModal(); if(e.target.closest && e.target.closest('.hsm-close')){ e.preventDefault(); closeModal(); } if(copyBtn && (e.target===copyBtn || (e.target.closest && e.target.closest('.hsm-copy')))) { e.preventDefault(); copyCurrent(); } }); document.addEventListener('keydown', e=>{ if(e.key==='Escape' && isOpen()) closeModal(); }); function trapFocus(){ if(trapBound) return; trapBound=true; modal.addEventListener('keydown', f=>{ if(f.key==='Tab' && isOpen()){ const focusable=[...modal.querySelectorAll('a[href],button,input,textarea,select,[tabindex]:not([tabindex="-1"])')].filter(el=>!el.hasAttribute('disabled')); if(!focusable.length) return; const first=focusable[0]; const last=focusable[focusable.length-1]; if(f.shiftKey && document.activeElement===first){ f.preventDefault(); last.focus(); } else if(!f.shiftKey && document.activeElement===last){ f.preventDefault(); first.focus(); } } }); } if(closeBtn) closeBtn.addEventListener('click', e=>{ e.preventDefault(); closeModal(); }); })(); </script><p>This document provides a complete reference for Geode&rsquo;s GQL (Graph Query Language) implementation, including all keywords, functions, types, and procedures. Features align with the ISO/IEC 39075:2024 compliance.</p> <p><strong>Auto-generated from</strong>: <code>src/gql/language_metadata.zig</code> <strong>Last updated</strong>: 2026-01-03 <strong>GQL Conformance Profile</strong>: ISO/IEC 39075:2024 compliance (see conformance profile)</p> <h4 id="quick-navigation" class="position-relative d-flex align-items-center group"> <span>Quick Navigation</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="quick-navigation" aria-haspopup="dialog" aria-label="Share link: Quick Navigation"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><ul> <li><a href="https://geodedb.com/docs/reference/api-reference-complete/#keywords" >Keywords</a> - GQL language keywords</li> <li><a href="https://geodedb.com/docs/reference/api-reference-complete/#functions" >Functions</a> - Built-in functions</li> <li><a href="https://geodedb.com/docs/reference/api-reference-complete/#data-types" >Data Types</a> - Type system</li> <li><a href="https://geodedb.com/docs/reference/api-reference-complete/#operators" >Operators</a> - Expression operators</li> <li><a href="https://geodedb.com/docs/reference/api-reference-complete/#procedures" >Procedures</a> - Graph algorithms</li> </ul> <h3 id="keywords" class="position-relative d-flex align-items-center group"> <span>Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="keywords" aria-haspopup="dialog" aria-label="Share link: Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3> <h4 id="clause-keywords" class="position-relative d-flex align-items-center group"> <span>Clause Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="clause-keywords" aria-haspopup="dialog" aria-label="Share link: Clause Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Keywords used to define query clauses and structure:</p> <table> <thead> <tr> <th>Keyword</th> <th>Description</th> <th>GQL Standard</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td><code>CALL</code></td> <td>Invoke a procedure</td> <td>Yes</td> <td><code>CALL algo.pagerank.stream()</code></td> </tr> <tr> <td><code>CASE</code></td> <td>Begin conditional expression</td> <td>Yes</td> <td><code>CASE WHEN n.age &gt; 18 THEN 'adult' END</code></td> </tr> <tr> <td><code>CREATE</code></td> <td>Create nodes or edges</td> <td>Yes</td> <td><code>CREATE (n:Person {name: 'Alice'})</code></td> </tr> <tr> <td><code>DELETE</code></td> <td>Delete nodes or edges</td> <td>Yes</td> <td><code>DELETE n</code></td> </tr> <tr> <td><code>DETACH</code></td> <td>Detach delete (remove edges first)</td> <td>Yes</td> <td><code>DETACH DELETE n</code></td> </tr> <tr> <td><code>ELSE</code></td> <td>Else branch in CASE</td> <td>Yes</td> <td><code>CASE ... ELSE 'default' END</code></td> </tr> <tr> <td><code>END</code></td> <td>End of CASE expression</td> <td>Yes</td> <td><code>CASE ... END</code></td> </tr> <tr> <td><code>EXPLAIN</code></td> <td>Show query execution plan</td> <td>Yes</td> <td><code>EXPLAIN MATCH (n) RETURN n</code></td> </tr> <tr> <td><code>FILTER</code></td> <td>Filter clause</td> <td>Yes</td> <td><code>MATCH p = (a)-[*]-(b) WHERE all(r IN relationships(p) WHERE r.weight &gt; 0)</code></td> </tr> <tr> <td><code>FINISH</code></td> <td>Finish linear graph query</td> <td>Yes</td> <td><code>FINISH</code></td> </tr> <tr> <td><code>FOREACH</code></td> <td>Iterate over a list</td> <td>Extension</td> <td>`FOREACH (x IN [1,2,3]</td> </tr> <tr> <td><code>FROM</code></td> <td>Source specification</td> <td>Yes</td> <td><code>SELECT * FROM users</code></td> </tr> <tr> <td><code>INSERT</code></td> <td>Insert data</td> <td>Yes</td> <td><code>INSERT (n:Person {name: 'Bob'})</code></td> </tr> <tr> <td><code>JOIN</code></td> <td>Join operation</td> <td>Yes</td> <td><code>FROM users u JOIN orders o ON u.id = o.user_id</code></td> </tr> <tr> <td><code>LET</code></td> <td>Variable binding</td> <td>Yes</td> <td><code>LET x = 10 IN RETURN x</code></td> </tr> <tr> <td><code>LIMIT</code></td> <td>Limit number of results</td> <td>Yes</td> <td><code>RETURN n LIMIT 10</code></td> </tr> <tr> <td><code>LOAD</code></td> <td>Load data from file</td> <td>Extension</td> <td><code>LOAD CSV FROM 'data.csv' AS row</code></td> </tr> <tr> <td><code>MATCH</code></td> <td>Pattern matching clause</td> <td>Yes</td> <td><code>MATCH (n:Person) RETURN n</code></td> </tr> <tr> <td><code>MERGE</code></td> <td>Match or create pattern</td> <td>Yes</td> <td><code>MERGE (n:Person {id: 123})</code></td> </tr> <tr> <td><code>OFFSET</code></td> <td>Skip results (alias for SKIP)</td> <td>Yes</td> <td><code>RETURN n OFFSET 10</code></td> </tr> <tr> <td><code>OTHERWISE</code></td> <td>Otherwise branch</td> <td>Yes</td> <td><code>CASE ... OTHERWISE 'default' END</code></td> </tr> <tr> <td><code>PROFILE</code></td> <td>Profile query execution</td> <td>Yes</td> <td><code>PROFILE MATCH (n) RETURN n</code></td> </tr> <tr> <td><code>REMOVE</code></td> <td>Remove properties or labels</td> <td>Yes</td> <td><code>REMOVE n.age, n:OldLabel</code></td> </tr> <tr> <td><code>REPLACE</code></td> <td>Replace existing data</td> <td>Yes</td> <td><code>REPLACE (n:Person {id: 1, name: 'Updated'})</code></td> </tr> <tr> <td><code>RETURN</code></td> <td>Return results from query</td> <td>Yes</td> <td><code>MATCH (n) RETURN n.name</code></td> </tr> <tr> <td><code>SCAN</code></td> <td>Table scan operation</td> <td>Extension</td> <td><code>SCAN TABLE users</code></td> </tr> <tr> <td><code>SELECT</code></td> <td>Select clause (table-like)</td> <td>Yes</td> <td><code>SELECT name, age FROM Person</code></td> </tr> <tr> <td><code>SET</code></td> <td>Set properties or variables</td> <td>Yes</td> <td><code>SET n.age = 30</code></td> </tr> <tr> <td><code>SHOW</code></td> <td>Show metadata</td> <td>Yes</td> <td><code>SHOW GRAPHS</code></td> </tr> <tr> <td><code>SKIP</code></td> <td>Skip N results</td> <td>Yes</td> <td><code>RETURN n SKIP 10</code></td> </tr> <tr> <td><code>THEN</code></td> <td>Then branch in CASE</td> <td>Yes</td> <td><code>CASE WHEN ... THEN 'value'</code></td> </tr> <tr> <td><code>UNWIND</code></td> <td>Unwind a list into rows</td> <td>Yes</td> <td><code>UNWIND [1,2,3] AS x RETURN x</code></td> </tr> <tr> <td><code>VALUE</code></td> <td>Value specification</td> <td>Yes</td> <td><code>INSERT (:Person) VALUE {name: 'Alice'}</code></td> </tr> <tr> <td><code>VALUES</code></td> <td>Multiple values</td> <td>Yes</td> <td><code>VALUES (1), (2), (3)</code></td> </tr> <tr> <td><code>WHEN</code></td> <td>When branch in CASE</td> <td>Yes</td> <td><code>CASE WHEN n.age &gt; 18</code></td> </tr> <tr> <td><code>WHERE</code></td> <td>Filter condition</td> <td>Yes</td> <td><code>MATCH (n) WHERE n.age &gt; 25</code></td> </tr> <tr> <td><code>WITH</code></td> <td>Intermediate result binding</td> <td>Yes</td> <td><code>MATCH (n) WITH n, count(*) AS c RETURN n, c</code></td> </tr> </tbody> </table> <h4 id="ddl-keywords" class="position-relative d-flex align-items-center group"> <span>DDL Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="ddl-keywords" aria-haspopup="dialog" aria-label="Share link: DDL Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><p>Data Definition Language keywords:</p> <table> <thead> <tr> <th>Keyword</th> <th>Description</th> <th>GQL Standard</th> </tr> </thead> <tbody> <tr> <td><code>ASSERT</code></td> <td>Assert constraint condition</td> <td>Extension</td> </tr> <tr> <td><code>CONSTRAINT</code></td> <td>Define a constraint</td> <td>Yes</td> </tr> <tr> <td><code>DROP</code></td> <td>Drop graphs, schemas, or constraints</td> <td>Yes</td> </tr> <tr> <td><code>GRAPH</code></td> <td>Graph reference</td> <td>Yes</td> </tr> <tr> <td><code>INDEX</code></td> <td>Index definition</td> <td>Yes</td> </tr> <tr> <td><code>KEY</code></td> <td>Key constraint</td> <td>Yes</td> </tr> <tr> <td><code>PROPERTY</code></td> <td>Property definition</td> <td>Yes</td> </tr> <tr> <td><code>REQUIRE</code></td> <td>Require constraint</td> <td>Yes</td> </tr> <tr> <td><code>SCHEMA</code></td> <td>Schema definition</td> <td>Yes</td> </tr> <tr> <td><code>TABLE</code></td> <td>Table reference</td> <td>Yes</td> </tr> </tbody> </table> <h4 id="boolean--logical-keywords" class="position-relative d-flex align-items-center group"> <span>Boolean &amp;amp; Logical Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="boolean--logical-keywords" aria-haspopup="dialog" aria-label="Share link: Boolean &amp;amp; Logical Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><table> <thead> <tr> <th>Keyword</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td><code>AND</code></td> <td>Logical AND operator</td> <td><code>WHERE a AND b</code></td> </tr> <tr> <td><code>CONTAINS</code></td> <td>String containment</td> <td><code>WHERE name CONTAINS 'Alice'</code></td> </tr> <tr> <td><code>ENDS</code></td> <td>String ends-with</td> <td><code>WHERE name ENDS WITH 'son'</code></td> </tr> <tr> <td><code>EXISTS</code></td> <td>Existence predicate</td> <td><code>WHERE EXISTS { MATCH (n)-[:KNOWS]-&gt;() }</code></td> </tr> <tr> <td><code>FALSE</code></td> <td>Boolean false literal</td> <td><code>RETURN FALSE</code></td> </tr> <tr> <td><code>IN</code></td> <td>Membership predicate</td> <td><code>WHERE age IN [25, 30, 35]</code></td> </tr> <tr> <td><code>IS</code></td> <td>Type/NULL checking</td> <td><code>WHERE n IS NOT NULL</code></td> </tr> <tr> <td><code>LIKE</code></td> <td>Pattern matching</td> <td><code>WHERE name LIKE '%Smith%'</code></td> </tr> <tr> <td><code>NOT</code></td> <td>Logical NOT operator</td> <td><code>WHERE NOT n.active</code></td> </tr> <tr> <td><code>NULL</code></td> <td>NULL literal</td> <td><code>RETURN NULL</code></td> </tr> <tr> <td><code>OR</code></td> <td>Logical OR operator</td> <td><code>WHERE a OR b</code></td> </tr> <tr> <td><code>STARTS</code></td> <td>String starts-with</td> <td><code>WHERE name STARTS WITH 'A'</code></td> </tr> <tr> <td><code>TRUE</code></td> <td>Boolean true literal</td> <td><code>RETURN TRUE</code></td> </tr> <tr> <td><code>UNKNOWN</code></td> <td>Unknown truth value</td> <td><code>RETURN UNKNOWN</code></td> </tr> <tr> <td><code>XOR</code></td> <td>Logical XOR operator</td> <td><code>WHERE a XOR b</code></td> </tr> </tbody> </table> <h4 id="transaction-keywords" class="position-relative d-flex align-items-center group"> <span>Transaction Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="transaction-keywords" aria-haspopup="dialog" aria-label="Share link: Transaction Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><table> <thead> <tr> <th>Keyword</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>BEGIN</code></td> <td>Begin a transaction</td> </tr> <tr> <td><code>COMMIT</code></td> <td>Commit the current transaction</td> </tr> <tr> <td><code>READ</code></td> <td>Read transaction mode</td> </tr> <tr> <td><code>REPEATABLE</code></td> <td>Repeatable read isolation</td> </tr> <tr> <td><code>ROLLBACK</code></td> <td>Rollback transaction</td> </tr> <tr> <td><code>START</code></td> <td>Start transaction</td> </tr> <tr> <td><code>TRANSACTION</code></td> <td>Transaction keyword</td> </tr> <tr> <td><code>WRITE</code></td> <td>Write transaction mode</td> </tr> </tbody> </table> <h4 id="path-pattern-keywords" class="position-relative d-flex align-items-center group"> <span>Path Pattern Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="path-pattern-keywords" aria-haspopup="dialog" aria-label="Share link: Path Pattern Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><table> <thead> <tr> <th>Keyword</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>ACYCLIC</code></td> <td>Restricts paths to acyclic (no repeated nodes)</td> </tr> <tr> <td><code>SHORTEST</code></td> <td>Shortest path pattern</td> </tr> <tr> <td><code>SIMPLE</code></td> <td>Simple path (no repeated edges)</td> </tr> <tr> <td><code>TRAIL</code></td> <td>Trail path (no repeated edges)</td> </tr> <tr> <td><code>WALK</code></td> <td>Walk path (any path)</td> </tr> </tbody> </table> <h4 id="set-operation-keywords" class="position-relative d-flex align-items-center group"> <span>Set Operation Keywords</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="set-operation-keywords" aria-haspopup="dialog" aria-label="Share link: Set Operation Keywords"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><table> <thead> <tr> <th>Keyword</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EXCEPT</code></td> <td>Set difference operation</td> </tr> <tr> <td><code>INTERSECT</code></td> <td>Set intersection operation</td> </tr> <tr> <td><code>UNION</code></td> <td>Set union operation</td> </tr> </tbody> </table> <h3 id="functions" class="position-relative d-flex align-items-center group"> <span>Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="functions" aria-haspopup="dialog" aria-label="Share link: Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3> <h4 id="aggregate-functions" class="position-relative d-flex align-items-center group"> <span>Aggregate Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="aggregate-functions" aria-haspopup="dialog" aria-label="Share link: Aggregate Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="countexpr-any---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;count(expr: ANY) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="countexpr-any---integer" aria-haspopup="dialog" aria-label="Share link: count(expr: ANY) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Count the number of non-null values.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">count</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">total_people</span><span class="w"> </span></span></span></code></pre></div><p><strong>Variations</strong>:</p> <ul> <li><code>count(*)</code> - Count all rows (including nulls)</li> <li><code>count(DISTINCT n.age)</code> - Count unique values</li> </ul> <h5 id="sumexpr-numeric---numeric" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;sum(expr: NUMERIC) -&amp;gt; NUMERIC&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="sumexpr-numeric---numeric" aria-haspopup="dialog" aria-label="Share link: sum(expr: NUMERIC) -&amp;gt; NUMERIC"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Sum of numeric values.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">p</span><span class="p">:</span><span class="nc">Product</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">sum</span><span class="p">(</span><span class="py">p</span><span class="err">.</span><span class="py">price</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">total_revenue</span><span class="w"> </span></span></span></code></pre></div> <h5 id="avgexpr-numeric---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;avg(expr: NUMERIC) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="avgexpr-numeric---float" aria-haspopup="dialog" aria-label="Share link: avg(expr: NUMERIC) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Average of numeric values.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">u</span><span class="p">:</span><span class="nc">User</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">avg</span><span class="p">(</span><span class="py">u</span><span class="err">.</span><span class="py">age</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">average_age</span><span class="w"> </span></span></span></code></pre></div> <h5 id="minexpr-any---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;min(expr: ANY) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="minexpr-any---any" aria-haspopup="dialog" aria-label="Share link: min(expr: ANY) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Minimum value.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">p</span><span class="p">:</span><span class="nc">Product</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">min</span><span class="p">(</span><span class="py">p</span><span class="err">.</span><span class="py">price</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">cheapest</span><span class="w"> </span></span></span></code></pre></div> <h5 id="maxexpr-any---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;max(expr: ANY) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="maxexpr-any---any" aria-haspopup="dialog" aria-label="Share link: max(expr: ANY) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Maximum value.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">t</span><span class="p">:</span><span class="nc">Transaction</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">max</span><span class="p">(</span><span class="py">t</span><span class="err">.</span><span class="py">timestamp</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">latest_transaction</span><span class="w"> </span></span></span></code></pre></div> <h5 id="collectexpr-any---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;collect(expr: ANY) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="collectexpr-any---list" aria-haspopup="dialog" aria-label="Share link: collect(expr: ANY) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Collect values into a list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">u</span><span class="p">:</span><span class="nc">User</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">collect</span><span class="p">(</span><span class="py">u</span><span class="err">.</span><span class="py">name</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">all_names</span><span class="w"> </span></span></span></code></pre></div> <h4 id="mathematical-functions" class="position-relative d-flex align-items-center group"> <span>Mathematical Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="mathematical-functions" aria-haspopup="dialog" aria-label="Share link: Mathematical Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="absx-numeric---numeric" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;abs(x: NUMERIC) -&amp;gt; NUMERIC&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="absx-numeric---numeric" aria-haspopup="dialog" aria-label="Share link: abs(x: NUMERIC) -&amp;gt; NUMERIC"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Absolute value.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">abs</span><span class="p">(</span><span class="err">-</span><span class="py">42</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">42</span><span class="w"> </span></span></span></code></pre></div> <h5 id="ceilx-float---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;ceil(x: FLOAT) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="ceilx-float---integer" aria-haspopup="dialog" aria-label="Share link: ceil(x: FLOAT) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Ceiling (round up).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">ceil</span><span class="p">(</span><span class="py">3</span><span class="mf">.2</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">4</span><span class="w"> </span></span></span></code></pre></div> <h5 id="floorx-float---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;floor(x: FLOAT) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="floorx-float---integer" aria-haspopup="dialog" aria-label="Share link: floor(x: FLOAT) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Floor (round down).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">floor</span><span class="p">(</span><span class="py">3</span><span class="mf">.8</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="w"> </span></span></span></code></pre></div> <h5 id="roundx-float---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;round(x: FLOAT) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="roundx-float---integer" aria-haspopup="dialog" aria-label="Share link: round(x: FLOAT) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Round to nearest integer.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">round</span><span class="p">(</span><span class="py">3</span><span class="mf">.5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">4</span><span class="w"> </span></span></span></code></pre></div> <h5 id="sqrtx-numeric---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;sqrt(x: NUMERIC) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="sqrtx-numeric---float" aria-haspopup="dialog" aria-label="Share link: sqrt(x: NUMERIC) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Square root.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">sqrt</span><span class="p">(</span><span class="py">16</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">4</span><span class="mf">.0</span><span class="w"> </span></span></span></code></pre></div> <h5 id="rand---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;rand() -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rand---float" aria-haspopup="dialog" aria-label="Share link: rand() -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Random number between 0 and 1.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">rand</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">random_value</span><span class="w"> </span></span></span></code></pre></div> <h5 id="signx-numeric---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;sign(x: NUMERIC) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="signx-numeric---integer" aria-haspopup="dialog" aria-label="Share link: sign(x: NUMERIC) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Sign of a number (-1, 0, or 1).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">sign</span><span class="p">(</span><span class="err">-</span><span class="py">5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">-</span><span class="nc">1</span><span class="w"> </span></span></span></code></pre></div> <h5 id="expx-numeric---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;exp(x: NUMERIC) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="expx-numeric---float" aria-haspopup="dialog" aria-label="Share link: exp(x: NUMERIC) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Exponential (e^x).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">exp</span><span class="p">(</span><span class="py">1</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">e</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">2</span><span class="mf">.718281828</span><span class="kd">...</span><span class="w"> </span></span></span></code></pre></div> <h5 id="logx-numeric---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;log(x: NUMERIC) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="logx-numeric---float" aria-haspopup="dialog" aria-label="Share link: log(x: NUMERIC) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Natural logarithm.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">log</span><span class="p">(</span><span class="py">10</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span></span></span></code></pre></div> <h5 id="log10x-numeric---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;log10(x: NUMERIC) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="log10x-numeric---float" aria-haspopup="dialog" aria-label="Share link: log10(x: NUMERIC) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Base-10 logarithm.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">log10</span><span class="p">(</span><span class="py">100</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">2</span><span class="mf">.0</span><span class="w"> </span></span></span></code></pre></div> <h5 id="trigonometric-functions" class="position-relative d-flex align-items-center group"> <span>Trigonometric Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="trigonometric-functions" aria-haspopup="dialog" aria-label="Share link: Trigonometric Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">sin</span><span class="p">(</span><span class="py">pi</span><span class="p">()</span><span class="err">/</span><span class="py">2</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">sine</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">1</span><span class="mf">.0</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">cos</span><span class="p">(</span><span class="py">0</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">cosine</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">1</span><span class="mf">.0</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">tan</span><span class="p">(</span><span class="py">pi</span><span class="p">()</span><span class="err">/</span><span class="py">4</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">tangent</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">1</span><span class="mf">.0</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">asin</span><span class="p">(</span><span class="py">0</span><span class="mf">.5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">arcsine</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">acos</span><span class="p">(</span><span class="py">0</span><span class="mf">.5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">arccosine</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">atan</span><span class="p">(</span><span class="py">1</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">arctangent</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">0</span><span class="mf">.785398</span><span class="kd">...</span><span class="w"> </span><span class="p">(</span><span class="py">π</span><span class="err">/</span><span class="py">4</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">atan2</span><span class="p">(</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">1</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">arctan2</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">0</span><span class="mf">.785398</span><span class="kd">...</span><span class="w"> </span><span class="p">(</span><span class="py">π</span><span class="err">/</span><span class="py">4</span><span class="p">)</span><span class="w"> </span></span></span></code></pre></div> <h5 id="constants" class="position-relative d-flex align-items-center group"> <span>Constants</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="constants" aria-haspopup="dialog" aria-label="Share link: Constants"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">pi</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">pi</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="mf">.14159265358979</span><span class="kd">...</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">e</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">e</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">2</span><span class="mf">.71828182845904</span><span class="kd">...</span><span class="w"> </span></span></span></code></pre></div> <h5 id="angle-conversion" class="position-relative d-flex align-items-center group"> <span>Angle Conversion</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="angle-conversion" aria-haspopup="dialog" aria-label="Share link: Angle Conversion"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">degrees</span><span class="p">(</span><span class="py">pi</span><span class="p">())</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">deg</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">180</span><span class="mf">.0</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">radians</span><span class="p">(</span><span class="py">180</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">rad</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="mf">.14159</span><span class="kd">...</span><span class="w"> </span></span></span></code></pre></div> <h4 id="string-functions" class="position-relative d-flex align-items-center group"> <span>String Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="string-functions" aria-haspopup="dialog" aria-label="Share link: String Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="sizevalue-stringlist---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;size(value: STRING|LIST) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="sizevalue-stringlist---integer" aria-haspopup="dialog" aria-label="Share link: size(value: STRING|LIST) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Length of string or list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">size</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">len</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">5</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">size</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">len</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">5</span><span class="w"> </span></span></span></code></pre></div> <h5 id="lengthpath-path---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;length(path: PATH) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="lengthpath-path---integer" aria-haspopup="dialog" aria-label="Share link: length(path: PATH) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Length of a path.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="py">a</span><span class="p">)</span><span class="err">-</span><span class="p">[</span><span class="err">*</span><span class="p">]</span><span class="err">-</span><span class="p">(</span><span class="py">b</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">length</span><span class="p">(</span><span class="py">p</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">hop_count</span><span class="w"> </span></span></span></code></pre></div> <h5 id="substringstr-string-start-integer-length-integer---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;substring(str: STRING, start: INTEGER, length: INTEGER) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="substringstr-string-start-integer-length-integer---string" aria-haspopup="dialog" aria-label="Share link: substring(str: STRING, start: INTEGER, length: INTEGER) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Extract substring.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">substring</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="py">0</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="replacestr-string-search-string-replacement-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;replace(str: STRING, search: STRING, replacement: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="replacestr-string-search-string-replacement-string---string" aria-haspopup="dialog" aria-label="Share link: replace(str: STRING, search: STRING, replacement: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Replace occurrences in string.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">replace</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">universe</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="w"> </span><span class="py">universe</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="tolowerstr-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toLower(str: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tolowerstr-string---string" aria-haspopup="dialog" aria-label="Share link: toLower(str: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to lowercase.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toLower</span><span class="p">(</span><span class="err">&#39;</span><span class="py">HELLO</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="toupperstr-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toUpper(str: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="toupperstr-string---string" aria-haspopup="dialog" aria-label="Share link: toUpper(str: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to uppercase.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toUpper</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">HELLO</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="trimstr-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;trim(str: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="trimstr-string---string" aria-haspopup="dialog" aria-label="Share link: trim(str: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Remove leading/trailing whitespace.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">trim</span><span class="p">(</span><span class="err">&#39;</span><span class="w"> </span><span class="py">hello</span><span class="w"> </span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="ltrimstr-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;lTrim(str: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="ltrimstr-string---string" aria-haspopup="dialog" aria-label="Share link: lTrim(str: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Remove leading whitespace.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">lTrim</span><span class="p">(</span><span class="err">&#39;</span><span class="w"> </span><span class="py">hello</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="rtrimstr-string---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;rTrim(str: STRING) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rtrimstr-string---string" aria-haspopup="dialog" aria-label="Share link: rTrim(str: STRING) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Remove trailing whitespace.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">rTrim</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="leftstr-string-n-integer---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;left(str: STRING, n: INTEGER) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="leftstr-string-n-integer---string" aria-haspopup="dialog" aria-label="Share link: left(str: STRING, n: INTEGER) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get leftmost n characters.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">left</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">hello</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="rightstr-string-n-integer---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;right(str: STRING, n: INTEGER) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rightstr-string-n-integer---string" aria-haspopup="dialog" aria-label="Share link: right(str: STRING, n: INTEGER) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get rightmost n characters.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">right</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">world</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="splitstr-string-delimiter-string---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;split(str: STRING, delimiter: STRING) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="splitstr-string-delimiter-string---list" aria-haspopup="dialog" aria-label="Share link: split(str: STRING, delimiter: STRING) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Split string into list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">split</span><span class="p">(</span><span class="err">&#39;</span><span class="py">a</span><span class="p">,</span><span class="py">b</span><span class="p">,</span><span class="py">c</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="p">,</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">&#39;</span><span class="nc">a</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">b</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">c</span><span class="err">&#39;</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div> <h5 id="startswithstr-string-prefix-string---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;startsWith(str: STRING, prefix: STRING) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="startswithstr-string-prefix-string---boolean" aria-haspopup="dialog" aria-label="Share link: startsWith(str: STRING, prefix: STRING) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Check if string starts with prefix.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">startsWith</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">hello</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span></code></pre></div> <h5 id="endswithstr-string-suffix-string---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;endsWith(str: STRING, suffix: STRING) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="endswithstr-string-suffix-string---boolean" aria-haspopup="dialog" aria-label="Share link: endsWith(str: STRING, suffix: STRING) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Check if string ends with suffix.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">endsWith</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">world</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span></code></pre></div> <h5 id="containsstr-string-search-string---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;contains(str: STRING, search: STRING) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="containsstr-string-search-string---boolean" aria-haspopup="dialog" aria-label="Share link: contains(str: STRING, search: STRING) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Check if string contains substring.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">contains</span><span class="p">(</span><span class="err">&#39;</span><span class="py">hello</span><span class="w"> </span><span class="py">world</span><span class="err">&#39;</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">wor</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span></code></pre></div> <h4 id="list-functions" class="position-relative d-flex align-items-center group"> <span>List Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="list-functions" aria-haspopup="dialog" aria-label="Share link: List Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="headlist-list---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;head(list: LIST) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="headlist-list---any" aria-haspopup="dialog" aria-label="Share link: head(list: LIST) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>First element of list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">head</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">1</span><span class="w"> </span></span></span></code></pre></div> <h5 id="lastlist-list---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;last(list: LIST) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="lastlist-list---any" aria-haspopup="dialog" aria-label="Share link: last(list: LIST) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Last element of list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">last</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="w"> </span></span></span></code></pre></div> <h5 id="taillist-list---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;tail(list: LIST) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="taillist-list---list" aria-haspopup="dialog" aria-label="Share link: tail(list: LIST) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>All but first element.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">tail</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div> <h5 id="reverselist-list---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;reverse(list: LIST) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="reverselist-list---list" aria-haspopup="dialog" aria-label="Share link: reverse(list: LIST) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Reverse a list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">reverse</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">3</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">1</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div> <h5 id="rangestart-integer-end-integer-step-integer---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;range(start: INTEGER, end: INTEGER, step: INTEGER) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="rangestart-integer-end-integer-step-integer---list" aria-haspopup="dialog" aria-label="Share link: range(start: INTEGER, end: INTEGER, step: INTEGER) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create a list of integers.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">range</span><span class="p">(</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">10</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">nums</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">,</span><span class="w"> </span><span class="py">6</span><span class="p">,</span><span class="w"> </span><span class="py">7</span><span class="p">,</span><span class="w"> </span><span class="py">8</span><span class="p">,</span><span class="w"> </span><span class="py">9</span><span class="p">,</span><span class="w"> </span><span class="py">10</span><span class="p">]</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">range</span><span class="p">(</span><span class="py">0</span><span class="p">,</span><span class="w"> </span><span class="py">20</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">nums</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">0</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">,</span><span class="w"> </span><span class="py">10</span><span class="p">,</span><span class="w"> </span><span class="py">15</span><span class="p">,</span><span class="w"> </span><span class="py">20</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div> <h4 id="temporal-functions" class="position-relative d-flex align-items-center group"> <span>Temporal Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="temporal-functions" aria-haspopup="dialog" aria-label="Share link: Temporal Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="timestamp---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;timestamp() -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="timestamp---integer" aria-haspopup="dialog" aria-label="Share link: timestamp() -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Current Unix timestamp in milliseconds.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">timestamp</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">now</span><span class="w"> </span></span></span></code></pre></div> <h5 id="datevalue-string---date" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;date(value: STRING) -&amp;gt; DATE&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="datevalue-string---date" aria-haspopup="dialog" aria-label="Share link: date(value: STRING) -&amp;gt; DATE"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create or get current date.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">date</span><span class="p">(</span><span class="err">&#39;</span><span class="py">2024</span><span class="err">-</span><span class="py">01</span><span class="err">-</span><span class="py">15</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">specific_date</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">date</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">today</span><span class="w"> </span></span></span></code></pre></div> <h5 id="timevalue-string---time" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;time(value: STRING) -&amp;gt; TIME&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="timevalue-string---time" aria-haspopup="dialog" aria-label="Share link: time(value: STRING) -&amp;gt; TIME"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create or get current time.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">time</span><span class="p">(</span><span class="err">&#39;</span><span class="py">14</span><span class="p">:</span><span class="nc">30</span><span class="p">:</span><span class="nc">00</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">afternoon</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">time</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">now</span><span class="w"> </span></span></span></code></pre></div> <h5 id="datetimevalue-string---datetime" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;datetime(value: STRING) -&amp;gt; DATETIME&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="datetimevalue-string---datetime" aria-haspopup="dialog" aria-label="Share link: datetime(value: STRING) -&amp;gt; DATETIME"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create or get current datetime.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">datetime</span><span class="p">(</span><span class="err">&#39;</span><span class="py">2024</span><span class="err">-</span><span class="py">01</span><span class="err">-</span><span class="py">15T14</span><span class="p">:</span><span class="nc">30</span><span class="p">:</span><span class="nc">00Z</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">dt</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">datetime</span><span class="p">()</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">now</span><span class="w"> </span></span></span></code></pre></div> <h5 id="durationvalue-string---duration" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;duration(value: STRING) -&amp;gt; DURATION&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="durationvalue-string---duration" aria-haspopup="dialog" aria-label="Share link: duration(value: STRING) -&amp;gt; DURATION"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create a duration (ISO 8601 format).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">duration</span><span class="p">(</span><span class="err">&#39;</span><span class="py">P1DT2H</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="kd">on</span><span class="py">e_day_two_hours</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">duration</span><span class="p">(</span><span class="err">&#39;</span><span class="py">PT30M</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">thirty_minutes</span><span class="w"> </span></span></span></code></pre></div> <h4 id="graph-functions" class="position-relative d-flex align-items-center group"> <span>Graph Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="graph-functions" aria-haspopup="dialog" aria-label="Share link: Graph Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="idelement-noderelationship---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;id(element: NODE|RELATIONSHIP) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="idelement-noderelationship---integer" aria-haspopup="dialog" aria-label="Share link: id(element: NODE|RELATIONSHIP) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get element ID.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">node_id</span><span class="w"> </span></span></span></code></pre></div> <h5 id="typerel-relationship---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;type(rel: RELATIONSHIP) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="typerel-relationship---string" aria-haspopup="dialog" aria-label="Share link: type(rel: RELATIONSHIP) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get relationship type.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">a</span><span class="p">)</span><span class="err">-</span><span class="p">[</span><span class="py">r</span><span class="p">]</span><span class="err">-&gt;</span><span class="p">(</span><span class="py">b</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="kd">type</span><span class="p">(</span><span class="nc">r</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">relationship_type</span><span class="w"> </span></span></span></code></pre></div> <h5 id="labelsnode-node---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;labels(node: NODE) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="labelsnode-node---list" aria-haspopup="dialog" aria-label="Share link: labels(node: NODE) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get node labels.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">labels</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">node_labels</span><span class="w"> </span></span></span></code></pre></div> <h5 id="propertieselement-noderelationship---map" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;properties(element: NODE|RELATIONSHIP) -&amp;gt; MAP&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="propertieselement-noderelationship---map" aria-haspopup="dialog" aria-label="Share link: properties(element: NODE|RELATIONSHIP) -&amp;gt; MAP"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get all properties as map.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">properties</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">all_props</span><span class="w"> </span></span></span></code></pre></div> <h5 id="keyselement-noderelationshipmap---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;keys(element: NODE|RELATIONSHIP|MAP) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="keyselement-noderelationshipmap---list" aria-haspopup="dialog" aria-label="Share link: keys(element: NODE|RELATIONSHIP|MAP) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get property keys.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">keys</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">property_names</span><span class="w"> </span></span></span></code></pre></div> <h5 id="nodespath-path---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;nodes(path: PATH) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="nodespath-path---list" aria-haspopup="dialog" aria-label="Share link: nodes(path: PATH) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get nodes in a path.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="py">a</span><span class="p">)</span><span class="err">-</span><span class="p">[</span><span class="err">*</span><span class="p">]</span><span class="err">-</span><span class="p">(</span><span class="py">b</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">nodes</span><span class="p">(</span><span class="py">p</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">path_nodes</span><span class="w"> </span></span></span></code></pre></div> <h5 id="relationshipspath-path---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;relationships(path: PATH) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="relationshipspath-path---list" aria-haspopup="dialog" aria-label="Share link: relationships(path: PATH) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Get relationships in a path.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="p">(</span><span class="py">a</span><span class="p">)</span><span class="err">-</span><span class="p">[</span><span class="err">*</span><span class="p">]</span><span class="err">-</span><span class="p">(</span><span class="py">b</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">relationships</span><span class="p">(</span><span class="py">p</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">path_edges</span><span class="w"> </span></span></span></code></pre></div> <h5 id="indegreenode-node---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;indegree(node: NODE) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="indegreenode-node---integer" aria-haspopup="dialog" aria-label="Share link: indegree(node: NODE) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Number of incoming edges.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">indegree</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">incoming_edges</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">indegree</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="outdegreenode-node---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;outdegree(node: NODE) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="outdegreenode-node---integer" aria-haspopup="dialog" aria-label="Share link: outdegree(node: NODE) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Number of outgoing edges.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">outdegree</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">outgoing_edges</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">outdegree</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h4 id="path-functions" class="position-relative d-flex align-items-center group"> <span>Path Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="path-functions" aria-haspopup="dialog" aria-label="Share link: Path Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="shortestpathpattern-pattern---path" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;shortestPath(pattern: PATTERN) -&amp;gt; PATH&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="shortestpathpattern-pattern---path" aria-haspopup="dialog" aria-label="Share link: shortestPath(pattern: PATTERN) -&amp;gt; PATH"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find shortest path.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">shortestPath</span><span class="p">((</span><span class="py">a</span><span class="p">:</span><span class="nc">Person</span><span class="w"> </span><span class="p">{</span><span class="py">name</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">Alice</span><span class="err">&#39;</span><span class="p">})</span><span class="err">-</span><span class="p">[</span><span class="err">*</span><span class="p">]</span><span class="err">-</span><span class="p">(</span><span class="py">b</span><span class="p">:</span><span class="nc">Person</span><span class="w"> </span><span class="p">{</span><span class="py">name</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">Bob</span><span class="err">&#39;</span><span class="p">}))</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">p</span><span class="w"> </span></span></span></code></pre></div> <h5 id="allshortestpathspattern-pattern---list" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;allShortestPaths(pattern: PATTERN) -&amp;gt; LIST&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="allshortestpathspattern-pattern---list" aria-haspopup="dialog" aria-label="Share link: allShortestPaths(pattern: PATTERN) -&amp;gt; LIST"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find all shortest paths.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">allShortestPaths</span><span class="p">((</span><span class="py">a</span><span class="p">:</span><span class="nc">City</span><span class="p">)</span><span class="err">-</span><span class="p">[</span><span class="err">*</span><span class="p">]</span><span class="err">-</span><span class="p">(</span><span class="py">b</span><span class="p">:</span><span class="nc">City</span><span class="p">))</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">WHERE</span><span class="w"> </span><span class="py">a</span><span class="err">.</span><span class="py">name</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="err">&#39;</span><span class="py">New</span><span class="w"> </span><span class="py">York</span><span class="err">&#39;</span><span class="w"> </span><span class="py">AND</span><span class="w"> </span><span class="py">b</span><span class="err">.</span><span class="py">name</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="err">&#39;</span><span class="py">Los</span><span class="w"> </span><span class="py">Angeles</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">p</span><span class="w"> </span></span></span></code></pre></div> <h4 id="vector-functions" class="position-relative d-flex align-items-center group"> <span>Vector Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vector-functions" aria-haspopup="dialog" aria-label="Share link: Vector Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="vectorf32list-list---vector" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;vectorf32(list: LIST) -&amp;gt; VECTOR&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vectorf32list-list---vector" aria-haspopup="dialog" aria-label="Share link: vectorf32(list: LIST) -&amp;gt; VECTOR"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create a float32 vector from list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">vectorf32</span><span class="p">([</span><span class="py">1</span><span class="mf">.0</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="mf">.0</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="mf">.0</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="mf">.0</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">embedding</span><span class="w"> </span></span></span></code></pre></div> <h5 id="vectori32list-list---vector" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;vectori32(list: LIST) -&amp;gt; VECTOR&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vectori32list-list---vector" aria-haspopup="dialog" aria-label="Share link: vectori32(list: LIST) -&amp;gt; VECTOR"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Create an int32 vector from list.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">vectori32</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">])</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">int_vector</span><span class="w"> </span></span></span></code></pre></div> <h5 id="vector_l2v1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;vector_l2(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vector_l2v1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: vector_l2(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>L2 (Euclidean) distance between vectors.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Document</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">title</span><span class="p">,</span><span class="w"> </span><span class="py">vector_l2</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">embedding</span><span class="p">,</span><span class="w"> </span><span class="nv">$query_embedding</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span><span class="py">ASC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="vector_cosinev1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;vector_cosine(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vector_cosinev1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: vector_cosine(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Cosine distance between vectors.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Product</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">vector_cosine</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">features</span><span class="p">,</span><span class="w"> </span><span class="nv">$target_features</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span><span class="py">ASC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">5</span><span class="w"> </span></span></span></code></pre></div> <h5 id="vector_dotv1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;vector_dot(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="vector_dotv1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: vector_dot(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Dot product of vectors.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">vector_dot</span><span class="p">(</span><span class="py">vectorf32</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">]),</span><span class="w"> </span><span class="py">vectorf32</span><span class="p">([</span><span class="py">4</span><span class="p">,</span><span class="w"> </span><span class="py">5</span><span class="p">,</span><span class="w"> </span><span class="py">6</span><span class="p">]))</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">dot_product</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">32</span><span class="mf">.0</span><span class="w"> </span><span class="p">(</span><span class="py">1</span><span class="err">*</span><span class="py">4</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="py">2</span><span class="err">*</span><span class="py">5</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="py">3</span><span class="err">*</span><span class="py">6</span><span class="p">)</span><span class="w"> </span></span></span></code></pre></div> <h5 id="distancev1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;distance(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="distancev1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: distance(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Default distance metric (L2).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Image</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">filename</span><span class="p">,</span><span class="w"> </span><span class="py">distance</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">embedding</span><span class="p">,</span><span class="w"> </span><span class="nv">$query</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">similarity</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">similarity</span><span class="w"> </span><span class="py">ASC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">20</span><span class="w"> </span></span></span></code></pre></div> <h5 id="similarityv1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;similarity(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="similarityv1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: similarity(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Cosine similarity (1 - cosine_distance).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Article</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">title</span><span class="p">,</span><span class="w"> </span><span class="py">similarity</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">embedding</span><span class="p">,</span><span class="w"> </span><span class="nv">$query</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">relevance</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">relevance</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="cosinev1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;cosine(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="cosinev1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: cosine(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Cosine similarity (alias for similarity).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">User</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">cosine</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">preferences</span><span class="p">,</span><span class="w"> </span><span class="nv">$user_profile</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">match_score</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">match_score</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span></code></pre></div> <h5 id="euclideanv1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;euclidean(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="euclideanv1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: euclidean(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Euclidean distance (alias for vector_l2).</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">euclidean</span><span class="p">(</span><span class="py">vectorf32</span><span class="p">([</span><span class="py">0</span><span class="p">,</span><span class="w"> </span><span class="py">0</span><span class="p">]),</span><span class="w"> </span><span class="py">vectorf32</span><span class="p">([</span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">]))</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">5</span><span class="mf">.0</span><span class="w"> </span></span></span></code></pre></div> <h5 id="manhattanv1-vector-v2-vector---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;manhattan(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="manhattanv1-vector-v2-vector---float" aria-haspopup="dialog" aria-label="Share link: manhattan(v1: VECTOR, v2: VECTOR) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Manhattan (L1) distance.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">manhattan</span><span class="p">(</span><span class="py">vectorf32</span><span class="p">([</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">]),</span><span class="w"> </span><span class="py">vectorf32</span><span class="p">([</span><span class="py">4</span><span class="p">,</span><span class="w"> </span><span class="py">6</span><span class="p">]))</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">distance</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">7</span><span class="mf">.0</span><span class="w"> </span><span class="p">(|</span><span class="py">1</span><span class="err">-</span><span class="py">4</span><span class="p">|</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="p">|</span><span class="py">2</span><span class="err">-</span><span class="py">6</span><span class="p">|)</span><span class="w"> </span></span></span></code></pre></div> <h4 id="conversion-functions" class="position-relative d-flex align-items-center group"> <span>Conversion Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="conversion-functions" aria-haspopup="dialog" aria-label="Share link: Conversion Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="tointegervalue-any---integer" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toInteger(value: ANY) -&amp;gt; INTEGER&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tointegervalue-any---integer" aria-haspopup="dialog" aria-label="Share link: toInteger(value: ANY) -&amp;gt; INTEGER"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to integer.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toInteger</span><span class="p">(</span><span class="err">&#39;</span><span class="py">42</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">num</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">42</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toInteger</span><span class="p">(</span><span class="py">3</span><span class="mf">.14</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">num</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toInteger</span><span class="p">(</span><span class="py">true</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">num</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">1</span><span class="w"> </span></span></span></code></pre></div> <h5 id="tofloatvalue-any---float" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toFloat(value: ANY) -&amp;gt; FLOAT&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tofloatvalue-any---float" aria-haspopup="dialog" aria-label="Share link: toFloat(value: ANY) -&amp;gt; FLOAT"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to float.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toFloat</span><span class="p">(</span><span class="err">&#39;</span><span class="py">3</span><span class="mf">.14</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">num</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">3</span><span class="mf">.14</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toFloat</span><span class="p">(</span><span class="py">42</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">num</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">42</span><span class="mf">.0</span><span class="w"> </span></span></span></code></pre></div> <h5 id="tostringvalue-any---string" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toString(value: ANY) -&amp;gt; STRING&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tostringvalue-any---string" aria-haspopup="dialog" aria-label="Share link: toString(value: ANY) -&amp;gt; STRING"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to string.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toString</span><span class="p">(</span><span class="py">42</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">str</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">42</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toString</span><span class="p">(</span><span class="py">3</span><span class="mf">.14</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">str</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">3</span><span class="mf">.14</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toString</span><span class="p">(</span><span class="py">true</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">str</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">true</span><span class="err">&#39;</span><span class="w"> </span></span></span></code></pre></div> <h5 id="tobooleanvalue-any---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;toBoolean(value: ANY) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="tobooleanvalue-any---boolean" aria-haspopup="dialog" aria-label="Share link: toBoolean(value: ANY) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Convert to boolean.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">toBoolean</span><span class="p">(</span><span class="err">&#39;</span><span class="py">true</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">bool</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toBoolean</span><span class="p">(</span><span class="py">1</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">bool</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">toBoolean</span><span class="p">(</span><span class="py">0</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">bool</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">false</span><span class="w"> </span></span></span></code></pre></div> <h4 id="predicate-functions" class="position-relative d-flex align-items-center group"> <span>Predicate Functions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="predicate-functions" aria-haspopup="dialog" aria-label="Share link: Predicate Functions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="allvariable-identifier-list-list-predicate-boolean---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;all(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="allvariable-identifier-list-list-predicate-boolean---boolean" aria-haspopup="dialog" aria-label="Share link: all(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>True if all elements satisfy predicate.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">all</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">,</span><span class="py">4</span><span class="p">,</span><span class="py">5</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">0</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">all</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">,</span><span class="py">4</span><span class="p">,</span><span class="py">5</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">3</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">false</span><span class="w"> </span></span></span></code></pre></div> <h5 id="anyvariable-identifier-list-list-predicate-boolean---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;any(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="anyvariable-identifier-list-list-predicate-boolean---boolean" aria-haspopup="dialog" aria-label="Share link: any(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>True if any element satisfies predicate.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">any</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">,</span><span class="py">4</span><span class="p">,</span><span class="py">5</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">3</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">any</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">10</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">false</span><span class="w"> </span></span></span></code></pre></div> <h5 id="nonevariable-identifier-list-list-predicate-boolean---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;none(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="nonevariable-identifier-list-list-predicate-boolean---boolean" aria-haspopup="dialog" aria-label="Share link: none(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>True if no elements satisfy predicate.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">none</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">10</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">none</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">2</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">false</span><span class="w"> </span></span></span></code></pre></div> <h5 id="singlevariable-identifier-list-list-predicate-boolean---boolean" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;single(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="singlevariable-identifier-list-list-predicate-boolean---boolean" aria-haspopup="dialog" aria-label="Share link: single(variable: IDENTIFIER, list: LIST, predicate: BOOLEAN) -&amp;gt; BOOLEAN"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>True if exactly one element satisfies predicate.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">single</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">,</span><span class="py">4</span><span class="p">,</span><span class="py">5</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">4</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">true</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">single</span><span class="p">(</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="py">2</span><span class="p">,</span><span class="py">3</span><span class="p">,</span><span class="py">4</span><span class="p">,</span><span class="py">5</span><span class="p">]</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">3</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">result</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="nc">false</span><span class="w"> </span></span></span></code></pre></div> <h5 id="coalescevalues-any---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;coalesce(values: ANY...) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="coalescevalues-any---any" aria-haspopup="dialog" aria-label="Share link: coalesce(values: ANY...) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Return first non-null value.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">coalesce</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">nickname</span><span class="p">,</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">Unknown</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">display_name</span><span class="w"> </span></span></span></code></pre></div> <h5 id="nullifvalue-any-null_value-any---any" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;nullIf(value: ANY, null_value: ANY) -&amp;gt; ANY&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="nullifvalue-any-null_value-any---any" aria-haspopup="dialog" aria-label="Share link: nullIf(value: ANY, null_value: ANY) -&amp;gt; ANY"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Return NULL if values are equal.</p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="py">nullIf</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">status</span><span class="p">,</span><span class="w"> </span><span class="err">&#39;</span><span class="py">inactive</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">active_status</span><span class="w"> </span></span></span></code></pre></div> <h3 id="data-types" class="position-relative d-flex align-items-center group"> <span>Data Types</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="data-types" aria-haspopup="dialog" aria-label="Share link: Data Types"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><table> <thead> <tr> <th>Type</th> <th>Description</th> <th>Example</th> </tr> </thead> <tbody> <tr> <td><code>INTEGER</code></td> <td>64-bit signed integer</td> <td><code>42</code>, <code>-100</code>, <code>0</code></td> </tr> <tr> <td><code>FLOAT</code></td> <td>64-bit floating point</td> <td><code>3.14</code>, <code>-0.5</code>, <code>1.0e10</code></td> </tr> <tr> <td><code>STRING</code></td> <td>Unicode string</td> <td><code>'hello'</code>, <code>&quot;world&quot;</code></td> </tr> <tr> <td><code>BOOLEAN</code></td> <td>Boolean value</td> <td><code>true</code>, <code>false</code></td> </tr> <tr> <td><code>DATE</code></td> <td>Calendar date</td> <td><code>date('2024-01-15')</code></td> </tr> <tr> <td><code>TIME</code></td> <td>Time of day</td> <td><code>time('14:30:00')</code></td> </tr> <tr> <td><code>DATETIME</code></td> <td>Date and time with timezone</td> <td><code>datetime('2024-01-15T14:30:00Z')</code></td> </tr> <tr> <td><code>DURATION</code></td> <td>Time duration</td> <td><code>duration('P1DT2H')</code></td> </tr> <tr> <td><code>POINT</code></td> <td>Geographic point</td> <td><code>point({latitude: 40.7, longitude: -74.0})</code></td> </tr> <tr> <td><code>VECTOR</code></td> <td>Fixed-dimension numeric vector</td> <td><code>vectorf32([1.0, 2.0, 3.0])</code></td> </tr> <tr> <td><code>UUID</code></td> <td>UUID identifier</td> <td><code>uuid('550e8400-e29b-41d4-a716-446655440000')</code></td> </tr> <tr> <td><code>BYTES</code></td> <td>Binary data</td> <td><code>bytes('0x48656c6c6f')</code></td> </tr> <tr> <td><code>JSON</code></td> <td>JSON document</td> <td><code>json('{&quot;key&quot;: &quot;value&quot;}')</code></td> </tr> <tr> <td><code>LIST</code></td> <td>Ordered collection</td> <td><code>[1, 2, 3]</code>, <code>['a', 'b', 'c']</code></td> </tr> <tr> <td><code>MAP</code></td> <td>Key-value map</td> <td><code>{name: 'Alice', age: 30}</code></td> </tr> <tr> <td><code>NODE</code></td> <td>Graph node element</td> <td><code>(n:Person {name: 'Alice'})</code></td> </tr> <tr> <td><code>RELATIONSHIP</code></td> <td>Graph relationship element</td> <td><code>-[:KNOWS]-&gt;</code></td> </tr> <tr> <td><code>PATH</code></td> <td>Graph path</td> <td><code>(a)-[:KNOWS]-&gt;(b)-[:KNOWS]-&gt;(c)</code></td> </tr> <tr> <td><code>GRAPH</code></td> <td>Named graph</td> <td><code>GRAPH social_network</code></td> </tr> <tr> <td><code>ANY</code></td> <td>Any type (wildcard)</td> <td>Used in function signatures</td> </tr> </tbody> </table> <h3 id="operators" class="position-relative d-flex align-items-center group"> <span>Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="operators" aria-haspopup="dialog" aria-label="Share link: Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3> <h4 id="comparison-operators" class="position-relative d-flex align-items-center group"> <span>Comparison Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="comparison-operators" aria-haspopup="dialog" aria-label="Share link: Comparison Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Equal</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&lt;&gt;</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Not</span><span class="w"> </span><span class="py">equal</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="p">!=</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Not</span><span class="w"> </span><span class="py">equal</span><span class="w"> </span><span class="p">(</span><span class="py">alternative</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&gt;</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Greater</span><span class="w"> </span><span class="py">than</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&gt;</span><span class="p">=</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Greater</span><span class="w"> </span><span class="py">than</span><span class="w"> </span><span class="py">or</span><span class="w"> </span><span class="py">equal</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&lt;</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Less</span><span class="w"> </span><span class="py">than</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&lt;</span><span class="p">=</span><span class="w"> </span><span class="py">25</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Less</span><span class="w"> </span><span class="py">than</span><span class="w"> </span><span class="py">or</span><span class="w"> </span><span class="py">equal</span><span class="w"> </span></span></span></code></pre></div> <h4 id="arithmetic-operators" class="position-relative d-flex align-items-center group"> <span>Arithmetic Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="arithmetic-operators" aria-haspopup="dialog" aria-label="Share link: Arithmetic Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">a</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Addition</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="err">-</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Subtraction</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Multiplication</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="err">/</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Division</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="err">%</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Modulo</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="err">^</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Exponentiation</span><span class="w"> </span></span></span></code></pre></div> <h4 id="string-operators" class="position-relative d-flex align-items-center group"> <span>String Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="string-operators" aria-haspopup="dialog" aria-label="Share link: String Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="err">&#39;</span><span class="py">Hello</span><span class="err">&#39;</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="err">&#39;</span><span class="w"> </span><span class="err">&#39;</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="err">&#39;</span><span class="py">World</span><span class="err">&#39;</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Concatenation</span><span class="p">:</span><span class="w"> </span><span class="err">&#39;</span><span class="nc">Hello</span><span class="w"> </span><span class="py">World</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">name</span><span class="w"> </span><span class="py">STARTS</span><span class="w"> </span><span class="py">WITH</span><span class="w"> </span><span class="err">&#39;</span><span class="py">A</span><span class="err">&#39;</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">String</span><span class="w"> </span><span class="py">starts</span><span class="w"> </span><span class="py">with</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">name</span><span class="w"> </span><span class="py">ENDS</span><span class="w"> </span><span class="py">WITH</span><span class="w"> </span><span class="err">&#39;</span><span class="py">son</span><span class="err">&#39;</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">String</span><span class="w"> </span><span class="py">ends</span><span class="w"> </span><span class="py">with</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">name</span><span class="w"> </span><span class="py">CONTAINS</span><span class="w"> </span><span class="err">&#39;</span><span class="py">mitt</span><span class="err">&#39;</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">String</span><span class="w"> </span><span class="py">contains</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">name</span><span class="w"> </span><span class="p">=</span><span class="err">~</span><span class="w"> </span><span class="err">&#39;.*</span><span class="py">Smith</span><span class="err">.*&#39;</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Regular</span><span class="w"> </span><span class="py">expression</span><span class="w"> </span><span class="py">match</span><span class="w"> </span></span></span></code></pre></div> <h4 id="logical-operators" class="position-relative d-flex align-items-center group"> <span>Logical Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="logical-operators" aria-haspopup="dialog" aria-label="Share link: Logical Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">a</span><span class="w"> </span><span class="py">AND</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Logical</span><span class="w"> </span><span class="py">AND</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="py">OR</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Logical</span><span class="w"> </span><span class="py">OR</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">NOT</span><span class="w"> </span><span class="py">a</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Logical</span><span class="w"> </span><span class="py">NOT</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">a</span><span class="w"> </span><span class="py">XOR</span><span class="w"> </span><span class="py">b</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Logical</span><span class="w"> </span><span class="py">XOR</span><span class="w"> </span></span></span></code></pre></div> <h4 id="list-operators" class="position-relative d-flex align-items-center group"> <span>List Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="list-operators" aria-haspopup="dialog" aria-label="Share link: List Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">]</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Membership</span><span class="w"> </span><span class="py">test</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="p">[</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">]</span><span class="w"> </span><span class="err">+</span><span class="w"> </span><span class="p">[</span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">]</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">List</span><span class="w"> </span><span class="py">concatenation</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">1</span><span class="p">,</span><span class="w"> </span><span class="py">2</span><span class="p">,</span><span class="w"> </span><span class="py">3</span><span class="p">,</span><span class="w"> </span><span class="py">4</span><span class="p">]</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">list</span><span class="p">[</span><span class="py">0</span><span class="p">]</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">List</span><span class="w"> </span><span class="py">indexing</span><span class="w"> </span><span class="p">(</span><span class="py">0</span><span class="err">-</span><span class="py">based</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">list</span><span class="p">[</span><span class="py">1</span><span class="err">.</span><span class="mf">.3</span><span class="p">]</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">List</span><span class="w"> </span><span class="py">slicing</span><span class="w"> </span></span></span></code></pre></div> <h4 id="null-operators" class="position-relative d-flex align-items-center group"> <span>NULL Operators</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="null-operators" aria-haspopup="dialog" aria-label="Share link: NULL Operators"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="py">IS</span><span class="w"> </span><span class="py">NULL</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">NULL</span><span class="w"> </span><span class="py">check</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="py">IS</span><span class="w"> </span><span class="py">NOT</span><span class="w"> </span><span class="py">NULL</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">NOT</span><span class="w"> </span><span class="py">NULL</span><span class="w"> </span><span class="py">check</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">coalesce</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">age</span><span class="p">,</span><span class="w"> </span><span class="py">0</span><span class="p">)</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">NULL</span><span class="w"> </span><span class="py">coalescing</span><span class="w"> </span></span></span></code></pre></div> <h4 id="property-access" class="position-relative d-flex align-items-center group"> <span>Property Access</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="property-access" aria-haspopup="dialog" aria-label="Share link: Property Access"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Property</span><span class="w"> </span><span class="py">access</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="p">[</span><span class="err">&#39;</span><span class="py">name</span><span class="err">&#39;</span><span class="p">]</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Dynamic</span><span class="w"> </span><span class="py">property</span><span class="w"> </span><span class="py">access</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">n</span><span class="err">.</span><span class="py">address</span><span class="err">.</span><span class="py">city</span><span class="w"> </span><span class="err">--</span><span class="w"> </span><span class="py">Nested</span><span class="w"> </span><span class="py">property</span><span class="w"> </span><span class="py">access</span><span class="w"> </span></span></span></code></pre></div> <h3 id="procedures" class="position-relative d-flex align-items-center group"> <span>Procedures</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="procedures" aria-haspopup="dialog" aria-label="Share link: Procedures"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3> <h4 id="centrality-algorithms" class="position-relative d-flex align-items-center group"> <span>Centrality Algorithms</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="centrality-algorithms" aria-haspopup="dialog" aria-label="Share link: Centrality Algorithms"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="call-algodegreestream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.degree.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algodegreestream" aria-haspopup="dialog" aria-label="Share link: CALL algo.degree.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute degree centrality for all nodes.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>degree: INTEGER</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="py">degree</span><span class="err">.</span><span class="py">stream</span><span class="p">()</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="p">,</span><span class="w"> </span><span class="py">degree</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">degree</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">degree</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algobetweennessstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.betweenness.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algobetweennessstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.betweenness.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute betweenness centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>betweenness: FLOAT</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="py">betweenness</span><span class="err">.</span><span class="py">stream</span><span class="p">()</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="p">,</span><span class="w"> </span><span class="py">betweenness</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">betweenness</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">betweenness</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algoclosenessstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.closeness.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algoclosenessstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.closeness.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute closeness centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>closeness: FLOAT</code></p> <h5 id="call-algoeigenvectorstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.eigenvector.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algoeigenvectorstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.eigenvector.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute eigenvector centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>eigenvector: FLOAT</code></p> <h5 id="call-algopagerankstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.pagerank.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algopagerankstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.pagerank.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute PageRank.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>score: FLOAT</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="py">pagerank</span><span class="err">.</span><span class="py">stream</span><span class="p">({</span><span class="py">dampingFactor</span><span class="p">:</span><span class="w"> </span><span class="nc">0</span><span class="mf">.85</span><span class="p">,</span><span class="w"> </span><span class="py">maxIterations</span><span class="p">:</span><span class="w"> </span><span class="nc">20</span><span class="p">})</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="p">,</span><span class="w"> </span><span class="py">score</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="py">score</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">score</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">LIMIT</span><span class="w"> </span><span class="py">10</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algoharmonicstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.harmonic.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algoharmonicstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.harmonic.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute harmonic centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>harmonic: FLOAT</code></p> <h5 id="call-algobridgeleveragestream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.bridgeLeverage.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algobridgeleveragestream" aria-haspopup="dialog" aria-label="Share link: CALL algo.bridgeLeverage.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute bridge/leverage centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>bridgeLeverage: FLOAT</code></p> <h5 id="call-algogreycardinalstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.greyCardinal.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algogreycardinalstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.greyCardinal.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Compute grey cardinal composite centrality.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>composite: FLOAT</code></p> <h4 id="community-detection" class="position-relative d-flex align-items-center group"> <span>Community Detection</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="community-detection" aria-haspopup="dialog" aria-label="Share link: Community Detection"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="call-algolouvainstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.louvain.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algolouvainstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.louvain.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Detect communities using Louvain algorithm.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>community: INTEGER</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="py">louvain</span><span class="err">.</span><span class="py">stream</span><span class="p">()</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="p">,</span><span class="w"> </span><span class="py">community</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">community</span><span class="p">,</span><span class="w"> </span><span class="py">collect</span><span class="p">(</span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">members</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">size</span><span class="p">(</span><span class="py">members</span><span class="p">)</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algolabelpropagationstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.labelPropagation.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algolabelpropagationstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.labelPropagation.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Detect communities using label propagation.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>label: INTEGER</code></p> <h5 id="call-algoleidenstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.leiden.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algoleidenstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.leiden.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Detect communities using Leiden algorithm.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>community: INTEGER</code></p> <h4 id="connectivity-analysis" class="position-relative d-flex align-items-center group"> <span>Connectivity Analysis</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="connectivity-analysis" aria-haspopup="dialog" aria-label="Share link: Connectivity Analysis"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4> <h5 id="call-algounionfindstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.unionFind.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algounionfindstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.unionFind.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find connected components using union-find.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>setId: INTEGER</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="kd">union</span><span class="nc">Find</span><span class="err">.</span><span class="py">stream</span><span class="p">()</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="p">,</span><span class="w"> </span><span class="py">setId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">setId</span><span class="p">,</span><span class="w"> </span><span class="py">count</span><span class="p">(</span><span class="err">*</span><span class="p">)</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">component_size</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">ORDER</span><span class="w"> </span><span class="py">BY</span><span class="w"> </span><span class="py">component_size</span><span class="w"> </span><span class="py">DESC</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algosccstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.scc.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algosccstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.scc.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find strongly connected components.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>componentId: INTEGER</code></p> <h5 id="call-algoarticulationpointsstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.articulationPoints.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algoarticulationpointsstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.articulationPoints.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find articulation points (cut vertices).</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code></p> <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">CALL</span><span class="w"> </span><span class="py">algo</span><span class="err">.</span><span class="py">articulationPoints</span><span class="err">.</span><span class="py">stream</span><span class="p">()</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">YIELD</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">id</span><span class="p">(</span><span class="py">n</span><span class="p">)</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">nodeId</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">n</span><span class="err">.</span><span class="py">name</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">critical_node</span><span class="w"> </span></span></span></code></pre></div> <h5 id="call-algobridgesstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.bridges.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algobridgesstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.bridges.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find bridge edges (cut edges).</p> <p><strong>Yields</strong>: <code>sourceId: INTEGER</code>, <code>targetId: INTEGER</code></p> <h5 id="call-algobiconnectedcomponentsstream" class="position-relative d-flex align-items-center group"> <span>&lt;code&gt;CALL algo.biconnectedComponents.stream()&lt;/code&gt;</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="call-algobiconnectedcomponentsstream" aria-haspopup="dialog" aria-label="Share link: CALL algo.biconnectedComponents.stream()"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h5><p>Find biconnected components.</p> <p><strong>Yields</strong>: <code>nodeId: INTEGER</code>, <code>componentId: INTEGER</code></p> <h3 id="expression-examples" class="position-relative d-flex align-items-center group"> <span>Expression Examples</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="expression-examples" aria-haspopup="dialog" aria-label="Share link: Expression Examples"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3> <h4 id="case-expressions" class="position-relative d-flex align-items-center group"> <span>CASE Expressions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="case-expressions" aria-haspopup="dialog" aria-label="Share link: CASE Expressions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">p</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">p</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="py">CASE</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="py">WHEN</span><span class="w"> </span><span class="py">p</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&lt;</span><span class="w"> </span><span class="py">18</span><span class="w"> </span><span class="py">THEN</span><span class="w"> </span><span class="err">&#39;</span><span class="py">minor</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="py">WHEN</span><span class="w"> </span><span class="py">p</span><span class="err">.</span><span class="py">age</span><span class="w"> </span><span class="err">&lt;</span><span class="w"> </span><span class="py">65</span><span class="w"> </span><span class="py">THEN</span><span class="w"> </span><span class="err">&#39;</span><span class="py">adult</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="py">ELSE</span><span class="w"> </span><span class="err">&#39;</span><span class="py">senior</span><span class="err">&#39;</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="py">END</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">age_group</span><span class="w"> </span></span></span></code></pre></div> <h4 id="list-comprehensions" class="position-relative d-flex align-items-center group"> <span>List Comprehensions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="list-comprehensions" aria-haspopup="dialog" aria-label="Share link: List Comprehensions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">RETURN</span><span class="w"> </span><span class="p">[</span><span class="py">x</span><span class="w"> </span><span class="py">IN</span><span class="w"> </span><span class="py">range</span><span class="p">(</span><span class="py">1</span><span class="p">,</span><span class="w"> </span><span class="py">10</span><span class="p">)</span><span class="w"> </span><span class="py">WHERE</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">%</span><span class="w"> </span><span class="py">2</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="py">0</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="py">x</span><span class="w"> </span><span class="err">*</span><span class="w"> </span><span class="py">2</span><span class="p">]</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">even_doubles</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="err">--</span><span class="w"> </span><span class="py">Returns</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="nc">4</span><span class="p">,</span><span class="w"> </span><span class="py">8</span><span class="p">,</span><span class="w"> </span><span class="py">12</span><span class="p">,</span><span class="w"> </span><span class="py">16</span><span class="p">,</span><span class="w"> </span><span class="py">20</span><span class="p">]</span><span class="w"> </span></span></span></code></pre></div> <h4 id="pattern-comprehensions" class="position-relative d-flex align-items-center group"> <span>Pattern Comprehensions</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="pattern-comprehensions" aria-haspopup="dialog" aria-label="Share link: Pattern Comprehensions"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">p</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">p</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"> </span><span class="p">[(</span><span class="py">p</span><span class="p">)</span><span class="err">-</span><span class="p">[:</span><span class="nc">KNOWS</span><span class="p">]</span><span class="err">-&gt;</span><span class="p">(</span><span class="py">friend</span><span class="p">)</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="py">friend</span><span class="err">.</span><span class="py">name</span><span class="p">]</span><span class="w"> </span><span class="py">AS</span><span class="w"> </span><span class="py">friend_names</span><span class="w"> </span></span></span></code></pre></div> <h4 id="map-projections" class="position-relative d-flex align-items-center group"> <span>Map Projections</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="map-projections" aria-haspopup="dialog" aria-label="Share link: Map Projections"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h4><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gql" data-lang="gql"><span class="line"><span class="cl"><span class="py">MATCH</span><span class="w"> </span><span class="p">(</span><span class="py">p</span><span class="p">:</span><span class="nc">Person</span><span class="p">)</span><span class="w"> </span></span></span><span class="line"><span class="cl"><span class="w"></span><span class="py">RETURN</span><span class="w"> </span><span class="py">p</span><span class="w"> </span><span class="p">{</span><span class="err">.</span><span class="py">name</span><span class="p">,</span><span class="w"> </span><span class="err">.</span><span class="py">age</span><span class="p">,</span><span class="w"> </span><span class="py">friends</span><span class="p">:</span><span class="w"> </span><span class="nc">size</span><span class="p">((</span><span class="py">p</span><span class="p">)</span><span class="err">-</span><span class="p">[:</span><span class="nc">KNOWS</span><span class="p">]</span><span class="err">-&gt;</span><span class="p">())}</span><span class="w"> </span></span></span></code></pre></div> <h3 id="next-steps" class="position-relative d-flex align-items-center group"> <span>Next Steps</span> <button type="button" class="h-share btn btn-link p-0 text-decoration-none link-secondary opacity-50 hover-opacity-100 transition-all ms-1" data-share-target="next-steps" aria-haspopup="dialog" aria-label="Share link: Next Steps"> <i class="fa-sharp-duotone fa-solid fa-share-nodes" aria-hidden="true" style="font-size: 0.8em;"></i> <span class="visually-hidden">Share link</span> </button> </h3><p><strong>Explore More</strong>:</p> <ul> <li><a href="/docs/gql/guide/" >GQL Guide</a> - Learn GQL syntax</li> <li><a href="/docs/query/performance-tuning/" >Query Performance</a> - Optimize queries</li> <li><a href="/docs/analytics/graph-algorithms/" >Graph Algorithms</a> - Advanced algorithms</li> </ul> <p><strong>Related Topics</strong>:</p> <ul> <li><a href="/docs/data-types/" >Data Types</a> - Detailed type system</li> <li><a href="/docs/guides/schema-design/" >Schema Design</a> - Graph modeling</li> <li><a href="/docs/guides/testing-strategies/" >Testing Strategies</a> - Test your queries</li> </ul> <p><strong>Standards</strong>:</p> <ul> <li>ISO/IEC 39075:2024 GQL Standard</li> <li>100% compliance (see conformance profile)</li> </ul> <hr> <p><strong>Generated from</strong>: <code>src/gql/language_metadata.zig</code> <strong>Last updated</strong>: 2026-01-03 <strong>GQL Conformance Profile</strong>: see conformance profile <strong>Functions</strong>: 100+ <strong>Keywords</strong>: 60+ <strong>Data Types</strong>: 19</p>