You are on page 1of 2

Ανδρέας Τσακνής ics20114

Συστήματα Βάσεων Δεδομένων Ατομική Εργασία Νο.4(HW4)


1.
MATCH (p:Product{discontinued:true}) WHERE p.productName STARTS WITH'C' OR p
.productName ENDS WITH 't' RETURN p 

2.
MATCH (s:Supplier)-[:SUPPLIES]->(p:Product)-[:PART_OF]->(c:Category) RETURN s.co
ntactName , count(p), c.categoryName

3.
MATCH(o:Order)-[ord:ORDERS]-(p:Product)WHERE id(o)=213 RETURN
sum(p.unitPrice) AS totalCostOfOrder213

4.
MATCH (:Product{productName:'Chai'})-[:SUPPLIES]-(s:Supplier)-[:SUPPLIES]-
(p:Product)-[:PART_OF]-(c:Category)RETURN p,c

5.
MATCH (s:Supplier)-[:SUPPLIES]-(p:Product)-[:PART_OF]-(c:Category) WHERE s.count
ry='Germany' or s.country='Sweden' 
RETURN  p.productName ,c.description
6.
MATCH (c:Customer)-[:PURCHASED]-(o:Order)-[:ORDERS]-
(p:Product{productName:'Chai'}) WHERE NOT EXISTS((c:Customer)-[:PURCHASED]-
(:Order)-[:ORDERS]-(p:Product{productName:'Pavlova'}) ) AND c.country='USA' OR c.
country='UK'  RETURN c

7.
MATCH (c:Customer)-[:PURCHASED]-(o:Order)-[:ORDERS]-(p:Product)-[:PART_OF]-
(cat:Category{categoryName:"Seafood"}) WITH c ,count(*) AS amountOfOrders
WHERE amountOfOrders>=10 RETURN c.contactName, amountOfOrders
8.
MATCH (o:Order)-[:ORDERS]-(p:Product)-[:PART_OF]-(c:Category) WITH
c,count(DISTINCT p) AS amountOfProducts,count(DISTINCT o) AS Orders WHERE
amountOfProducts>=10 RETURN c.categoryName, Orders,amountOfProducts ORDER
BY amountOfProducts desc
Ανδρέας Τσακνής ics20114
Συστήματα Βάσεων Δεδομένων Ατομική Εργασία Νο.4(HW4)
9.
MATCH (c:Customer)-[:PURCHASED]-(o:Order)-[:ORDERS]-(p:Product) RETURN
c.contactName,o.orderDate ,p ORDER BY o.orderDate asc limit 1
10.
MATCH (c1:Customer)-[:PURCHASED]-(o:Order)-[:ORDERS]-(p:Product)-[:ORDERS]-
(:Order)-[:PURCHASED]-(c2:Customer)WITH c1,c2, count(DISTINCT p)AS
amountOfCommonProducts WHERE c1<>c2 RETURN
c1,c2,amountOfCommonProducts ORDER BY amountOfCommonProducts desc LIMIT
1
11.
MATCH path=((s:Supplier{country:"Sweden"})-[*..4]-
(s1:Supplier{country:"Sweden"}))WHERE s<>s1 RETURN path
12.
MATCH p=ShortestPath((c:Customer)-[*]-(c1:Customer))WHERE c.contactName
STARTS WITH('F') AND c<>c1 RETURN distinct c,c1,length(p) AS pathLength ORDER
BY pathLength asc

You might also like