Guys, I am new to Neo4j platform and pretty much noob in writing cypher queries. I have a query which creates a brand, branches and checkoutTypes associated with it.
CREATE (brand:Brand {
id: apoc.create.uuid(),
name: $name,
logoUrl: $logoUrl,
coverUrl: $coverUrl,
tax: $tax,
deliveryCharges: $deliveryCharges,
category: $category,
isAvailable: $isAvailable,
color: $color
})
WITH brand
UNWIND $checkoutTypes as type
CREATE (checkoutType: FoodCheckoutType {
id: apoc.create.uuid(),
name: type.name
})
CREATE (coupon:FoodCoupon {
id: apoc.create.uuid(),
name: type.couponName,
percentage: type.percentage
}) - [:IN_CHECKOUT_TYPE] -> (checkoutType)
CREATE (checkoutType)-[:IN_BRAND]->(brand)
WITH brand
UNWIND $branches as branch
CREATE (foodBranch:FoodBranch {
id: apoc.create.uuid(),
name: branch.name,
phoneNumber: branch.phoneNumber,
latitude: branch.latitude,
longitude: branch.longitude,
preparationTime: branch.preparationTime,
isAvailable: branch.isAvailable
})
CREATE (foodBranch) -[:BRANCH_OF] -> (brand)
RETURN brand
and variables are
name: "Dominos",
logoUrl: "https://cdn.worldvectorlogo.com/logos/domino-s-pizza-3.svg",
coverUrl: "https://scontent.fbom3-1.fna.fbcdn.net/v/t1.0-",
branch: [
{
name: "Dominos Panchpakhadi",
phoneNumber: "2225437858",
latitude: 19.1796965,
longitude: 72.9562069,
isAvailable: true,
preparationTime: 2000
},
{
name: "Domino's , Mulund East",
phoneNumber: "18602100000",
latitude: 19.1724069,
longitude: 72.9580359,
isAvailable: true,
preparationTime: 2000
},
{
name: "Domino's ,Vasant Oscar ,Mulund West",
phoneNumber: "02225907250"
latitude: 19.1758063,
longitude: 72.9329858,
isAvailable: true,
preparationTime: 2000
}
]
checkoutTypes: [
{
name: "FastFood",
couponName: "25% off on all pizza",
percentage: 25
},
{
name: "Delivery",
couponName: "25% off on all pizza",
percentage: 25
},
{ name: "Takeaway",
couponName: "25% off on all pizza",
percentage: 25
}
]
But when I execute the query it creates multiple instances of the same branch which I don't want .
Is there any other way to refractor this Cypher query so its gives a desired results
Query Results are
{
"id": "dbb3414b-2928-4cd2-a708-c4ed1de7fc0c",
"name": "Dominos",
"checkoutType": [
{
"name": "FastFood",
"coupon": [
{
"name": "25% off on all pizza"
}
]
},
{
"name": "Takeaway",
"coupon": [
{
"name": "25% off on all pizza"
}
]
},
{
"name": "Delivery",
"coupon": [
{
"name": "25% off on all pizza"
}
]
}
],
"foodBranch": [
{
"name": "Domino's ,Vasant Oscar ,Mulund West",
"id": "3e88460d-c8ca-43c1-bb41-d0fbe44c40bd"
},
{
"name": "Domino's ,Vasant Oscar ,Mulund West",
"id": "abce0608-f49f-49d9-9acc-83c3c1bc9f6f"
},
{
"name": "Dominos Panchpakhadi",
"id": "f60ac181-10d8-4a62-9ddc-a076c91dbdd0"
},
{
"name": "Domino's , Mulund East",
"id": "aa2d8e36-b9bb-4b0d-9597-8c25c83df90f"
},
{
"name": "Domino's ,Vasant Oscar ,Mulund West",
"id": "76462ce9-f380-44ed-b6ca-6020e953c30e"
},
{
"name": "Domino's , Mulund East",
"id": "ec8022f9-0e61-4ac0-87f3-9e88a8570c65"
},
{
"name": "Domino's , Mulund East",
"id": "0b0075d5-5358-496d-8036-867ebce070f3"
},
{
"name": "Dominos Panchpakhadi",
"id": "f7fd7767-55f4-4a35-9780-cc1c0ab78f1b"
},
{
"name": "Dominos Panchpakhadi",
"id": "db50c866-6f54-418c-884a-54784b20a399"
}
]
}