Как создать этот запрос с помощью Neo4jClient
.Neo4j Client And Not Query
MATCH (keanu:Person)-[:KNOWS*2]->(fof)
WHERE keanu.name = "Keanu Reeves"
AND NOT((keanu)-[:KNOWS]-(fof))
RETURN DISTINCT fof.name;
Как создать этот запрос с помощью Neo4jClient
.Neo4j Client And Not Query
MATCH (keanu:Person)-[:KNOWS*2]->(fof)
WHERE keanu.name = "Keanu Reeves"
AND NOT((keanu)-[:KNOWS]-(fof))
RETURN DISTINCT fof.name;
Предполагая, что у вас есть класс, как:
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
, но Стефан прав - документы содержат большую часть необходимой информации - и вам нужно показать, что вы пробовали, иначе мы не уверены в том, с каким бит вы боретесь.
Спасибо, Крис, он работает, я просто начал изучать Neo4j и клиентскую библиотеку на прошлой неделе, я пытался попробовать образец запроса на Neo4j с Neo4jClient и застрял на нем t. – Mohit
Что вы пробовали? Документы на странице https://github.com/Readify/Neo4jClient/wiki/cypher должны предоставить вам всю необходимую информацию. –
Я проверил это, но я не понимаю, как применить предложение «И не» в Neo4jClient. – Mohit
Поблагодарите Stefan за ваш ответ. – Mohit