Клиент Neo4j, а не запрос

Как мне создать этот запрос, используя Neo4jClient.

MATCH (keanu:Person)-[:KNOWS*2]->(fof)
WHERE keanu.name = "Keanu Reeves"
AND NOT((keanu)-[:KNOWS]-(fof))
RETURN DISTINCT fof.name;

person Mohit    schedule 20.10.2015    source источник
comment
что ты уже испробовал? Документы на github.com/Readify/Neo4jClient/wiki/cypher должны дать вам все нужная вам информация.   -  person Stefan Armbruster    schedule 20.10.2015
comment
Я проверил это, но не понимаю, как применить пункт And Not в Neo4jClient.   -  person Mohit    schedule 21.10.2015
comment
Спасибо Стефан за ваш ответ.   -  person Mohit    schedule 21.10.2015


Ответы (1)


Предполагая, что у вас есть класс вроде:

public class Person
{
    [JsonProperty("name")]
    public string Name { get; set; }
} 

Ваш запрос будет выглядеть так:

client.Cypher
    .Match("(keanu:Person)-[:KNOWS*2]->(fof)")
    .Where((Person keanu) => keanu.Name == "Keanu Reeves")
    .AndWhere("NOT ((keanu-[:KNOWS]-(fof)))")
    .ReturnDistinct(fof => fof.As<Person>().Name);

Я отвечаю в основном потому, что думаю, что в документах немного не хватает использования NOT, но Стефан прав - документы действительно содержат большую часть необходимой вам информации - и вам нужно показать, что вы пробовали, иначе мы не уверен, с какой частью вы боретесь.

person Charlotte Skardon    schedule 20.10.2015
comment
Спасибо, Крис, это работает, я только начал изучать Neo4j и клиентскую библиотеку на прошлой неделе, я пробовал там пример запроса, предоставленный на Neo4j с Neo4jClient, и застрял на нем, т.е. - person Mohit; 21.10.2015