2015-05-23 5 views
1

Могу ли я вернуть значения свойств узла в массиве? Скажем, я создаю следующий узел в Neo4j:Получить значения свойств узла в массиве

CREATE (p:Person {name:'Ernesto', gender:'male', town:'Cham'}) 

Я могу произвести ключи с помощью:

MATCH (p:Person {name: 'Ernesto'}) 
RETURN keys(p) 

будет производить:

[name, gender, town] 

что является правильным способом получения:

['Ernesto', 'male', 'Cham'] 

as a co llection, еще лучше, получить карту:

{name: 'Ernesto', gender: 'male', town: 'Cham'} 

не заинтересован в получении этой информации визуально как узел свойств, как он всегда содержит идентификатор узла. Меня интересует общий подход, поэтому его можно использовать по-разному.

Спасибо за любую помощь.

ответ

2

К сожалению, невозможно вернуть все свойства узла с помощью Cypher. Было бы замечательной особенностью.

Вы получаете что-то близкое к этому с:

MATCH (n) RETURN str(n) LIMIT 1 

Это возвращает строковое представление, которое можно разобрать в приложении:

Node[817903]{key:"value", key2:"value2"} 
+0

Спасибо за ответ. Функция ** str ** позволяет сканировать ее, возможно, используя один из доступных итераторов и способный создавать карту в строке? – ErnestoE

+0

Я думаю, вы не можете сделать это в своем запросе Cypher. Попробуйте разобрать его на стороне приложения. К сожалению, JSON недопустим. –

Смежные вопросы