WITH split(tolower(), ' ') AS words WITH [w in words WHERE NOT w IN ["the", "and", "i", "to"]] AS text UNWIND range(0, size(text)-2) AS i MERGE (w1:Word {name: text[i]}) MERGE (w2:Word {name: text[i+1]}) MERGE (w1)-[r:NEXT]->(w2) ON CREATE SET r.count =1 ON MATCH SET r.count = r.count + 1;
MATCH (p)-[:HAS_CATEGORY]-> (:Category{name:'lo temps que passa'}) WITH split(tolower(p.name), " ") AS words WITH [w IN words WHERE NOT w IN ["de","a","lo","la","un","una"]] AS text RETURN text; MATCH (s:Stopword) return COLLECT(s.word) MATCH (s:Stopword) WITH COLLECT(s.word) AS stopwords RETURN stopwords
MATCH (s:Stopword) WITH COLLECT(s.word) AS stopwords MATCH (p)-[:HAS_CATEGORY]-> (:Category{name:'lo temps que passa'}) WITH split(tolower(p.name), " ") AS words, stopwords WITH [w IN words WHERE NOT w IN stopwords] AS text RETURN text;
MATCH (s:Stopword) WITH collect(s.word) AS stopwords MATCH (p:Phrase) WITH split(tolower(p.name)," ") AS phrase,stopwords WITH [w IN phrase WHERE NOT w IN stopwords] AS text UNWIND range(0, size(text)-2) AS i MERGE (w1:Word{name: text[i]}) MERGE (w2:Word{name: text[i+1]}) MERGE (w1)-[r:NEXT]->(w2) ON CREATE SET r.count = 1 ON MATCH SET r.count = r.count + 1;
/** filename : relateCantalausaWords.cql Make sure the CONSTRAINT is created for the performance reasons */ CREATE CONSTRAINT ON (w:Word) ASSERT w.word IS UNIQUE; /** Destroy Word and :NEXT relationship */ MATCH (w:Word) DETACH DELETE w; /** Build the word nodes and the :NEXT relationship */ MATCH (p:Phrase) WITH REPLACE(p.name, '(', "") AS phrase WITH REPLACE(phrase, ')', "") AS phrase WITH REPLACE(phrase, ',', "") AS phrase WITH REPLACE(phrase, '.', "") AS phrase WITH REPLACE(phrase, '!', "") AS phrase WITH split(tolower(phrase)," ") AS words MATCH (s:Stopword) WITH collect(s.word) AS stopwords, words WITH [w IN words WHERE NOT w IN stopwords] AS text UNWIND range(0, SIZE(text)-2) AS i MERGE (w1:Word{name: text[i]}) MERGE (w2:Word{name: text[i+1]}) MERGE (w1)-[r:NEXT]->(w2) ON CREATE SET r.count = 1 ON MATCH SET r.count = r.count + 1;