# 1 MATCH (k:Continent {name:"Europe"})-[e:Encompasses]->(c:Country)-[:Borders]->(:Country {name:"Greece"}) WHERE e.percentage <> "100.0" RETURN DISTINCT c.name; # 2 - VALID MATCH (:Country {name:"China"})-[:Borders]->(c:Country)-[:Borders]->(c2:Country)-[:Borders]->(:Country {name:"China"}) WHERE c.name < c2.name RETURN c.name, c2.name; # 3 - VALID MATCH (:Continent {name:"Europe"})-[:Encompasses {percentage:100.0}]->(c:Country)-[:Borders]->(:Country)<-[e:Encompasses]-(k:Continent) WHERE k.name <> "Europe" OR e.percentage <> 100.0 RETURN DISTINCT c.name; # 4 - VALID MATCH (:Country {name:"Turkey"})-[:Borders *..2]->(c:Country)<-[:Encompasses]-(k:Continent {name:"Asia"}) WHERE c.name <> "Turkey" RETURN DISTINCT c.name ORDER BY c.name; # 5 - VALID MATCH (:Continent {name:"Europe"})-[:Encompasses {percentage: "100.0"}]->(c:Country) WITH c, COUNT {(c)-[:Borders]->()} AS degree RETURN c.name, degree ORDER BY degree DESC; # 6 - VALID MATCH (c:Country) WITH c, COUNT{(c)-[:Borders]->()} AS degree RETURN c.name, degree ORDER BY degree DESC LIMIT 1; # 7 - VALID MATCH p=shortestPath((:Country {name:"Belgium"})-[:Borders *]->(:Country {name:"China"})) RETURN p; # 8 - VALID MATCH p=shortestPath((:Country {name:"Belgium"})-[:Borders *]->(d:Country)) WHERE d.name <> "Belgium" RETURN d.name ORDER BY length(p) DESC LIMIT 1 ; # 9 - VALID MATCH (c:Country)-[:Borders]->(c1:Country) MATCH (c:Country)-[:Borders]->(c2:Country) MATCH (c:Country)-[:Borders]->(c3:Country) MATCH (c1:Country)-[:Borders]->(c2:Country)-[:Borders]->(c3:Country)-[:Borders]->(c1:Country) WITH c, COUNT {(c)-[:Borders]->()} AS degree WHERE degree = 3 RETURN DISTINCT c.name; # 10 - VALID MATCH (:Continent {name:"Europe"})-[:Encompasses]->(c:Country) WHERE NOT (c:Country)-[:Borders *1..3]->(:Country)<-[:Encompasses]-(:Continent {name:"Asia"}) RETURN c.name ORDER BY c.name;