Searching a graph

The Editor and the Explorer provide three search modes: Smart search, AI search, and Cypher query. Results are displayed as a graph or a table. See Query Table Results for supported table value types.

Search modes: Smart search, AI search, and Cypher query

Keyword search configuration

The node group’s Searchable properties setting in the Editor controls whether keyword search is enabled and which text properties are indexed.

By default, the eligible columns selected in Select column with names are indexed across the group’s definitions. If none is eligible, the group has no keyword search. For example, Food Name is not eligible because its name contains a space; another eligible property must be selected to make the group searchable.

Indexed property names must contain only letters, digits, and underscores, must not start with a digit, and must not be reserved names. Ineligible properties are disabled in Searchable properties, with the reason available in a tooltip.

Keyword search enabled on the name property of the Person node group

Search requirements and limitations

Supported databases

Smart search requires a graph managed by Visual Graph. Unmanaged Neo4j databases support AI search and Cypher query, but not keyword search or graph patterns.

Search indexes and upgrades

Keyword search requires indexes on the selected properties. Graphs built before Visual Graph 1.5.0, or built without search indexes, display Text search is not ready until rebuilt. Graph patterns remain available.

Indexes are created during a graph build. After upgrading or changing searchable properties:

  • Editor: Rebuild, under Connection & Sampling, builds indexes for the Editor’s graph.

  • Explorer: the Build graph recipe builds indexes from the saved, published configuration. Refresh search options reloads the Explorer’s search configuration after the build.

Neo4j privileges

When keyword search is enabled, the Neo4j identity used by the Editor or Build graph needs the INDEX MANAGEMENT privilege on the database to create and drop search indexes. Visual Graph checks this before resetting the database. If the privilege is missing, the rebuild stops without deleting the existing graph.

Cypher query

The Cypher query editor provides schema-aware autocompletion. Cypher supports queries such as property filters and aggregations that are not available in Smart search.

Cypher query editor

For example, this query returns up to 100 transfers above 5,000:

MATCH (source:BankAccount)-[transfer:TRANSFER]->(target:BankAccount)
WHERE transfer.amount > 5000
RETURN source, transfer, target
LIMIT 100

Queries saved in the Editor are shared by its users and published with the graph configuration. Changes to the schema or database type can affect their validity.

Results and limits

Smart search returns up to 2,000 result rows by default. The search bar accepts limits between 100 and 5,000. A row can contain several nodes and edges, so the graph can display more elements than the row limit. Cypher queries use their own LIMIT clause.

The Smart search status indicates All results visible or Results capped. Its details identify the keyword and pattern searched and any result or neighbor limits reached.

The search bar also displays the time elapsed since the displayed results were executed.

Execution limits

  • The webapp’s Query and search timeout (seconds) limits the duration of a search, including all queries it runs.

  • In the Explorer, results are also limited to 10,000 rows and 10 MiB. Exceeding a time or size limit returns an error.

Search state

If a search fails or is canceled, the previous results remain displayed. Each search mode keeps its own draft. Recent searches and AI questions are stored in the browser for the webapp. The last executed query and view settings are stored in the browser for each graph. They are not shared with other users.