Neo4J Graph Explorer¶
Interactive exploration node for Neo4J graphs. It can inspect schema (labels, relationship types, constraints/indexes), find shortest paths between two nodes up to a depth limit, and run basic graph analytics (PageRank centrality and label propagation community detection). Results can be returned as text/JSON and optionally as HTML, XLSX, or PDF for easy sharing.

Usage¶
Use this node when you need to quickly understand or analyze the structure and connectivity of your Neo4J database. Typical workflow: provide valid Neo4J credentials, choose an action (schema exploration, path finding, centrality, or community detection), set optional parameters (start/end nodes, max depth), and select an output format to view or export results.
Inputs¶
| Field | Required | Type | Description | Example |
|---|---|---|---|---|
| credentials_path | True | STRING | Path to the stored Neo4J credentials for the service. | |
| timeout | True | INT | Maximum time (seconds) to wait for the exploration or analytics request to complete. | 60 |
| action | True | CHOICE | Select the operation to perform: explore_schema (schema overview), find_paths (paths between nodes), analyze_centrality (PageRank), or community_detection (label propagation). | explore_schema |
| start_node | False | STRING | Start node reference for path finding. Interpreted by name property; you can pass either a plain name or a label-prefixed value like 'Person:John'. Used only when action is find_paths. | Person:John |
| end_node | False | STRING | End node reference for path finding. Interpreted by name property; you can pass either a plain name or a label-prefixed value like 'Person:Jane'. Used only when action is find_paths. | Person:Jane |
| max_depth | False | INT | Maximum traversal depth for path finding (minimum 1, maximum 10). Used only when action is find_paths. | 3 |
| output_format | True | CHOICE | Select the output format: text (plain text and JSON), html (HTML table), xlsx (Excel), pdf (PDF), or all (returns all formats). | text |
Outputs¶
| Field | Type | Description | Example |
|---|---|---|---|
| text | STRING | Human-readable summary or title of the results. Present when output_format is text or all. | Neo4J Graph Schema Exploration |
| json | JSON | Raw results in JSON string form, suitable for downstream processing. | {"schema_info": {...}, "node_labels": [...], "relationship_types": [...]} |
| html | HTML | HTML table representation of the results. Present when output_format is html or all. | |
| xlsx | XLSX | Binary data for an Excel export of the results. Present when output_format is xlsx or all. | |
| Binary data for a PDF export of the results. Present when output_format is pdf or all. |
Important Notes¶
- Credentials required: You must provide a valid credentials_path for a Neo4J connection.
- Path finding requirements: start_node and end_node are required for find_paths. Matching is done by the 'name' property of nodes.
- Depth limit: max_depth is constrained between 1 and 10.
- Graph Data Science dependency: analyze_centrality and community_detection use GDS algorithms (PageRank and Label Propagation) on a projected graph named 'myGraph'. Ensure GDS is installed and 'myGraph' exists.
- Result limits: Path finding returns up to 10 shortest paths; analytics list up to the top 20 items.
- Output formats: 'text' returns text + JSON; 'html', 'xlsx', or 'pdf' return only that format plus JSON; 'all' returns all formats.
Troubleshooting¶
- No paths found: Verify that start_node and end_node match node 'name' properties and increase max_depth if necessary.
- GDS errors: Ensure the Neo4J Graph Data Science library is installed and a graph projection named 'myGraph' exists with proper configuration.
- Permission/connection issues: Check credentials_path content, network access to the Neo4J server, and that the database is reachable within the timeout.
- Timeouts or large graph issues: Increase timeout or narrow the scope (reduce max_depth or dataset size).
- Empty outputs in selected format: Use output_format='all' to retrieve all formats and confirm data presence; if still empty, inspect the JSON output for error messages.