Понимание паттернов с одноузловым паттерном в Cypher - PullRequest
1 голос
/ 03 июля 2019

В Cypher это работает:

[ (n:some_label)-[]-() | n ]

Но это не так:

[ (n:some_label) | n ]

Поскольку (n:some_label) является допустимым шаблоном, который можно использовать в MATCH, этоМне не понятно, почему это так.Есть ли способ выполнить понимание шаблона с шаблоном, совпадающим только с одним узлом?

1 Ответ

1 голос
/ 04 июля 2019

Хотя ваш текущий подход невозможен (у нас есть запрос на улучшение в резерве), вы можете обойти это, используя шаблон var-length 0-длины:

[ (n:some_label)-[*0]-() | n ]

Это эффективнотакой же, как шаблон одного узла.И никакое количество фактических отношений на самом узле не меняет поведения, *0 - это в основном отношение идентичности ... узел на другой стороне - это тот же самый узел n.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...