#neo4j #cypher #neo4j-apoc
Вопрос:
Я успешно загрузил XML-файл с apoc.load.xml и создал узлы и отношения с Neo4j 4.0.3, ниже некоторых частей XML-файла загрузки:
call apoc.load.xml("file:/import.xml",'/doc/obj',{}, false) yield value as II
unwind II._children as RA
unwind RA._children as RA2
unwind RA2._children as RA3
with II.type as Type,
…
merge(e:Element{name:NAME, guid:GUID})
merge(t:Type{name:Type})
merge(e)-[:of]->(t)
return e,t
Узлы, отношения и свойства видны, но я не могу запрашивать узлы на основе какого-либо значения свойства.
match(n:Element) where n.name = "element1" return n
(no changes, no records)
в то время как поиск идентификатора(n) работает нормально //совпадение(n:Элемент) , где идентификатор(n) > 10, возвращает n
Есть идеи, почему я не могу запросить значения свойств для вновь созданных элементов?
Комментарии:
1. что возвращает свойства СООТВЕТСТВИЯ (n:Элемент) (n)?
2. Я получаю все узлы, включая свойства и значения в таблице.
{"name": ["element1"]}
Ответ №1:
по-видимому name
, свойство содержит массив после импорта, и в этом случае это должно сработать
match(n:Element)
where n.name[0] = "element1"
return n
или
match(n:Element)
where "element1" IN n.name
return n