Skip to content

Query Results

Learn how to work with query results in Python.

Iterating Results

result = db.execute("""
    MATCH (p:Person)
    RETURN p.name, p.age
""")

# Iterate over rows
for row in result:
    print(f"{row['p.name']}: {row['p.age']}")

Accessing Values

result = db.execute("""
    MATCH (p:Person {name: 'Alix'})
    RETURN p.name, p.age, p.active
""")

row = next(iter(result))

# By column name
name = row['p.name']

# By index
name = row[0]

Converting to List

result = db.execute("MATCH (p:Person) RETURN p.name")

# Convert to list
rows = list(result)

# Or use list comprehension
result = db.execute("MATCH (p:Person) RETURN p.name")
names = [row['p.name'] for row in result]

Single Value

# Get count
result = db.execute("""
    MATCH (p:Person)
    RETURN count(p) AS count
""")

count = next(iter(result))['count']
print(f"Total people: {count}")

Column Names

result = db.execute("""
    MATCH (p:Person)
    RETURN p.name AS name, p.age AS age
""")

# Results have columns
for row in result:
    print(row)  # {'name': 'Alix', 'age': 30}

Empty Results

result = db.execute("""
    MATCH (p:Person {name: 'NonExistent'})
    RETURN p
""")

# Check if empty
rows = list(result)
if not rows:
    print("No results found")

Large Results

result = db.execute("""
    MATCH (p:Person)
    RETURN p.name
""")

# Stream results (memory efficient)
for row in result:
    process(row)
    # Each row is fetched as needed