Получить значение метки виртуального узла neo4j apoc

Как получить значение метки виртуального узла, созданного apoc proc? Следующее возвращает идентификатор узла и ноль для значения метки.

OPTIONAL MATCH (cd:Day) WHERE cd.yyyymmdd= 20190609 
call  apoc.create.vNode(['Day'],{yyyymmdd:20190609})  yield node as vd
WITH Coalesce(cd, vd) as td  
return ID(td) as id, td.yyyymmdd as f

person Daniel N    schedule 09.06.2019    source источник
comment
Вы не возвращаете поле метки, тогда как вы получаете null для метки?   -  person Rajendra Kadam    schedule 10.06.2019
comment
Вы имеете в виду null для значения свойства (yyyymmdd)?   -  person Rajendra Kadam    schedule 10.06.2019
comment
это правильно, ггггммдд возвращается с нулевым значением   -  person Daniel N    schedule 10.06.2019


Ответы (1)


Виртуальные узлы/связи в основном используются для визуализации.

Сам Cypher не может получить к ним доступ. В apoc есть множество функций для доступа к их свойствам, меткам и типам ссылок.

Вы можете использовать apoc.any.property для доступа к свойству для реальные, узлы, отношения.

OPTIONAL MATCH (cd:Day) WHERE cd.yyyymmdd= 20190609 
CALL  apoc.create.vNode(['Day'],{yyyymmdd:20190609})  YIELD node AS vd
WITH Coalesce(cd, vd) AS td  
RETURN ID(td) AS id, apoc.any.property(td, 'yyyymmdd') AS f
person Rajendra Kadam    schedule 10.06.2019
comment
Спасибо, это именно то, что я искал. - person Daniel N; 10.06.2019