Neo4j

Use Neo4j in Sim to query graph data with Cypher and create, merge, update, or delete nodes and relationships. Pass query results to later workflow steps for processing or storage.

Usage Instructions

Integrate Neo4j graph database into the workflow. Can query, create, merge, update, and delete nodes and relationships.

Actions

Neo4j Query

Execute MATCH queries to read nodes and relationships from Neo4j graph database. For best performance and to prevent large result sets, include LIMIT in your query (e.g., "MATCH (n:User) RETURN n LIMIT 100") or use LIMIT $limit with a limit parameter.

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher query to execute (e.g., "MATCH (n:Person) RETURN n LIMIT 10", "MATCH (a)-[r]->(b) WHERE a.name = $name RETURN a, r, b")
parametersobjectNoParameters for the Cypher query as a JSON object. Use for any dynamic values including LIMIT (e.g., query: "MATCH (n) RETURN n LIMIT $limit", parameters: {limit: 100}).

Output

ParameterTypeDescription
messagestringOperation status message
recordsarrayArray of records returned from the query
recordCountnumberNumber of records returned
summaryjsonQuery execution summary with timing and counters

Neo4j Create

Execute CREATE statements to add new nodes and relationships to Neo4j graph database

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher CREATE statement to execute (e.g., "CREATE (n:Person {name: $name, age: $age})", "CREATE (a)-[:KNOWS]->(b)")
parametersobjectNoParameters for the Cypher query as a JSON object (e.g., {"name": "Alice", "age": 30})

Output

ParameterTypeDescription
messagestringOperation status message
summaryjsonCreation summary with counters for nodes and relationships created

Neo4j Merge

Execute MERGE statements to find or create nodes and relationships in Neo4j (upsert operation)

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher MERGE statement to execute (e.g., "MERGE (n:Person {name: $name}) ON CREATE SET n.created = timestamp()", "MERGE (a)-[r:KNOWS]->(b)")
parametersobjectNoParameters for the Cypher query as a JSON object (e.g., {"name": "Alice", "email": "alice@example.com"})

Output

ParameterTypeDescription
messagestringOperation status message
summaryjsonMerge summary with counters for nodes/relationships created or matched

Neo4j Update

Execute SET statements to update properties of existing nodes and relationships in Neo4j

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher query with MATCH and SET statements to update properties (e.g., "MATCH (n:Person {name: $name}) SET n.age = $age", "MATCH (n) WHERE n.id = $id SET n += $props")
parametersobjectNoParameters for the Cypher query as a JSON object (e.g., {"name": "Alice", "age": 31, "props": {"city": "NYC"}})

Output

ParameterTypeDescription
messagestringOperation status message
summaryjsonUpdate summary with counters for properties set

Neo4j Delete

Execute DELETE or DETACH DELETE statements to remove nodes and relationships from Neo4j

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher query with MATCH and DELETE/DETACH DELETE statements (e.g., "MATCH (n:Person {name: $name}) DELETE n", "MATCH (n) DETACH DELETE n")
parametersobjectNoParameters for the Cypher query as a JSON object (e.g., {"name": "Alice", "id": 123})
detachbooleanNoWhether to use DETACH DELETE to remove relationships before deleting nodes

Output

ParameterTypeDescription
messagestringOperation status message
summaryjsonDelete summary with counters for nodes and relationships deleted

Neo4j Execute

Execute arbitrary Cypher queries on Neo4j graph database for complex operations

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)
cypherQuerystringYesCypher query to execute (e.g., "CALL db.labels()", "MATCH (n) RETURN count(n)", "CREATE INDEX FOR (n:Person) ON (n.name)")
parametersobjectNoParameters for the Cypher query as a JSON object (e.g., {"name": "Alice", "limit": 100})

Output

ParameterTypeDescription
messagestringOperation status message
recordsarrayArray of records returned from the query
recordCountnumberNumber of records returned
summaryjsonExecution summary with timing and counters

Neo4j Introspect

Introspect a Neo4j database to discover its schema including node labels, relationship types, properties, constraints, and indexes.

Input

ParameterTypeRequiredDescription
hoststringYesNeo4j server hostname or IP address
portnumberYesNeo4j server port (default: 7687 for Bolt protocol)
databasestringYesDatabase name to connect to (e.g., "neo4j", "movies", "social")
usernamestringYesNeo4j username
passwordstringYesNeo4j password
encryptionstringNoConnection encryption mode (enabled, disabled)

Output

ParameterTypeDescription
messagestringOperation status message
labelsarrayArray of node labels in the database
relationshipTypesarrayArray of relationship types in the database
nodeSchemasarrayArray of node schemas with their properties
relationshipSchemasarrayArray of relationship schemas with their properties
constraintsarrayArray of database constraints
indexesarrayArray of database indexes