<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:neo4j="http://www.mulesoft.org/schema/mule/neo4j"
xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd
http://www.mulesoft.org/schema/mule/neo4j
http://www.mulesoft.org/schema/mule/neo4j/current/mule-neo4j.xsd">
<http:listener-config name="HTTP_Listener_config"
doc:name="HTTP Listener config" basePath="/" >
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<neo4j:config name="Neo4j_Config" doc:name="Neo4j Config">
<neo4j:connection username="${config.username}"
password="${config.password}" boltUrl="${config.boltUrl}"
restUrl="${config.restUrl}" />
</neo4j:config>
<flow name="CRUD" >
<http:listener doc:name="Listener"
config-ref="HTTP_Listener_config" path="/CRUD"/>
<ee:transform doc:name="Transform Message" >
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
"name":"Tom Hanks",
"born": "1956"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<neo4j:create-node label="Person" doc:name="Create node"
config-ref="Neo4j_Config" input="#[payload]"/>
<neo4j:select-nodes label="Person" doc:name="Select nodes"
config-ref="Neo4j_Config" input="#[payload]"/>
<neo4j:delete-nodes label="Person" doc:name="Delete nodes"
config-ref="Neo4j_Config" parameters="#[payload]"/>
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
<flow name="createNodeWithMultiLabels">
<http:listener doc:name="Listener"
config-ref="HTTP_Listener_config"
path="/createNodeMultiLabel"/>
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
}]]></ee:set-payload>
</ee:message>
<ee:variables >
<ee:set-variable variableName="select" ><![CDATA[%dw 2.0
output application/json
---
"MATCH (a:ACTOR:PERSON) RETURN a"]]></ee:set-variable>
<ee:set-variable variableName="create" ><![CDATA[%dw 2.0
output application/json
---
"CREATE (a:ACTOR:PERSON { name:\"Tom Hanks\", born:1956 })"]]></ee:set-variable>
</ee:variables>
</ee:transform>
<neo4j:execute doc:name="Create node (advanced)" config-ref="Neo4j_Config" input="#[payload]">
<neo4j:query ><![CDATA[#[vars.create]]]></neo4j:query>
</neo4j:execute>
<neo4j:execute doc:name="Select node (Multi-label)" config-ref="Neo4j_Config">
<neo4j:query ><![CDATA[#[vars.select]]]></neo4j:query>
</neo4j:execute>
<ee:transform doc:name="Transform Message">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
payload]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>
</mule>