2016-02-07 2 views
-2

ОК, поэтому я иду на пример создания отношений, используя Neo4JClient: How to create relationships?. Как посмотреть отношения? Я имею в виду, хочу ли я узнать, сколько узлов напрямую связано с «А», как это сделать?Neo4JClient: Как посмотреть отношения (прямые рецензенты)?

Update После небольшой помощи @manonthemat, я преобразовал шифр в C#

var record = client.Cypher 
        .Match("(A)-[r]->()")     
        .Return((A, r) => new 
        { 
         User = A.As<ExampleNode>(), 
         NumberOfFriends = r.Count() 
        }).Results; 

Хотя я смог получить прямой подсчет сказать 4 для А, я также хочу, чтобы получить имена таких, например В, С, D, Е. Как это сделать?

Цените помощь. Заранее спасибо

+0

Я еще не знаком с C# в сочетании с Neo4j. Чтобы уточнить, это то, что вы хотите в cypher? «A» является узлом, в котором вы хотите, чтобы его счетчик отношений: MATCH (A) - [r] ->() RETURN COUNT (r); – manonthemat

+0

@manonthemat, хотя я могу получить прямой подсчет 4 для A, я также хочу получить имена тех, например. В, С, D, Е. Как это сделать? –

ответ

0

Я понимаю, что вы задаете вопрос «Как определить узлы, которые связаны с A?»

Если вы хотите только узлы, то высчитывать запрос должен выглядеть следующим образом:

Match A-[r:*]-(X) 
Return distinct X 

Если вы хотите, чтобы отношения попробовать это:

Match A-[r:*]-(X) 
Return r, distinct X 

Иногда вы можете ограничить вас искать только определенные отношения, такие как «ЗНАЕТ». В этом случае попробуйте это:

Match A-[r:KNOWS*]-(X) 
Return r, distinct X 
+0

Я пробовал как var record1 = client.Cypher .Match ("(A) - [r: *] - (X)") .ReturnDistinct ("X"). но ошибка SyntaxException: недопустимый ввод «*»: ожидаемое пропущенное имя или имя типа rel (строка 1, столбец 14 (смещение: 13)) «MATCH (A) - [r: *] - (X) « ^ –

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