Не удается запросить созданные узлы из apoc.load.xml

#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