# Cypher

> WhisperGraph's read-only Cypher dialect over HTTP: how every query is shaped — anchor, traverse, return — and where the clause, function and practice references live.

*Source: https://www.whisper.security/docs/cypher*

---
WhisperGraph speaks a read-only dialect of Cypher, the graph query language, over HTTP. You `POST` a query to the [HTTP API](/docs/cypher-api) and get back columns and rows; there is no driver to install and no session to manage. If you have used Neo4j, you already know most of the language.

Almost every WhisperGraph query is anchor, traverse, return: pin a node by its indexed `name`, walk the edges you care about, project columns, cap the rows.

```cypher expect=rows>0 seed=google.com verified=2026-09-02
MATCH (h:HOSTNAME {name: "google.com"})-[:RESOLVES_TO]->(ip:IPV4)
RETURN ip.name AS ip
LIMIT 5
```

Every supported clause is documented with a runnable example in [Syntax & Clauses](/docs/cypher/syntax). Full signatures, examples and return values for the function library are in [Functions](/docs/cypher/functions).

## Where next

The clause, function, practice and cheat-sheet pages are listed at the top of
this chapter. To send what you write over the wire, the [HTTP API](/docs/cypher-api)
has the endpoint, the `X-API-Key` header and the response envelope. For patterns
that keep large or repetitive jobs fast, see
[Cross-Layer Patterns](/docs/recipes/cross-cutting); for whole investigations
already assembled, [Workflows](/docs/workflows).
