2013-05-23 1 views
0

Я хотел бы вернуть логическое значение true | false в оператор select/return запроса nep4j cypher, а не возвращать отношение.как вернуть логическое выражение вместо отношения в проекции возврата cypher

, например

START me = node:node_auto_index(Uname="test") 
MATCH me-[f?:Favorite]->items 
return items.Title, f as isFavorite; 

Как есть isFavorite возвращение как BOOL, а не как весь объект отношений? Есть ли функция isExists()?

Должен ли я просто сделать это как:

return count(f) > 0 as isFavorite 

Примечание: Я удалил neo4jclient вопрос, поскольку это более succint вопрос, как на самом деле немного больше общего, то другой.

+1

вы можете сделать 'не возвращаются (не (число (F)> 0)) as isFavorite' –

+0

делает двойной не более эффективным? – MonkeyBonkey

ответ

5

Для новой Neo4j (я использую 2.1.2), запрос может выглядеть следующим образом (я пропущу указательный часть):

OPTIONAL MATCH me-[f:Favorite]->items 
RETURN items.Title, f IS NOT NULL as isFavorite; 
Смежные вопросы