10k Posts, 2 Tags, 1 Emoji.
Explore impact of :CONTAINS
rel on query.
Schema:
(:Emoji)<-[:CONTAINS]-(:Post)-[:CONTAINS]->(:Tag)
Creation:
MATCH (n) DETACH DELETE n;
CREATE (:Tag { value: "neo4j" });
CREATE (:Tag { value: "cypher" });
CREATE (:Emoji { value: "smile" });
MATCH (a:Tag { value: "neo4j" })
MATCH (b:Emoji { value: "smile" })
WITH a, b, range(1, 10000) as items
UNWIND items as item
CREATE (a)<-[:CONTAINS]-(:Post { id: item })-[:CONTAINS]->(b);
MATCH (a:Tag { value: "cypher" }), (p:Post)
CREATE (a)<-[:CONTAINS]-(p);
Query:
PROFILE MATCH (p:Post)-[:CONTAINS]->(e:Emoji)
RETURN p, e
Schema:
(:Emoji)<-[:CONTAINS_EMOJI]-(:Post)-[:CONTAINS_TAG]->(:Tag)
Creation:
MATCH (n) DETACH DELETE n;
CREATE (:Tag { value: "neo4j" });
CREATE (:Tag { value: "cypher" });
CREATE (:Emoji { value: "smile" });
MATCH (a:Tag { value: "neo4j" })
MATCH (b:Emoji { value: "smile" })
WITH a, b, range(1, 10000) as items
UNWIND items as item
CREATE (a)<-[:CONTAINS_TAG]-(:Post { id: item })-[:CONTAINS_EMOJI]->(b);
MATCH (a:Tag { value: "cypher" }), (p:Post)
CREATE (a)<-[:CONTAINS_TAG]-(p);
Query:
PROFILE MATCH (p:Post)-[:CONTAINS_EMOJI]->(e:Emoji)
RETURN p, e