У меня есть график neo4j, который определяет отношения слов.Каждый узел слова имеет отношение [r: IS_RELATED_TO] с любыми другими словами аналогичной природы.В этом отношении есть значение сходства.
Мне нужно выполнить поиск по списку передаваемых слов. Следующий запрос еще далек, но я застрял в том, как использовать предложение WHERE.
WITH
['landscape', 'photography', 'exposure'] as searchTermWords
//get all the words similar to those in the search term
match
(w1:WordGraph_Word)-[r:IS_RELATED_TO]-(w2:WordGraph_Word)
where w1.word in searchTermWords
WITH COLLECT({
word1:w1,
word2:w2,
similarity:r.similarityValue
}) as similarWords
//get all question collections with those similar words
match
(qc:QuestionCollection)-[:HAS_WORD]->(w:WordGraph_Word)
where w in similarWords.word1
return *
Когда я выполняю это, я получаю следующую ошибку:
Type mismatch: expected Any, Map, Node or Relationship
but was List<Map> (line 19, column 12 (offset: 437))
"where w in similarWords.word1"
Я также пробовал с "где w в похожих словах. ['Word1']", и это тоже не получается.
Любые идеи приветствуются.
Спасибо!