es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

neo4jclient es una biblioteca de C# que permite interactuar con una base de datos Neo4j desde un proyecto en C#. Es una herramienta útil para desarrolladores que desean utilizar C# para trabajar con datos almacenados en Neo4j. La sintaxis “CALL {} IN TRANSACTIONS” se utiliza en Neo4j para ejecutar consultas dentro de una transacción. Esto permite que las operaciones se realicen de manera segura y consistente, asegurando que los cambios en los datos se realicen de forma atómica. Por lo tanto, utilizando neo4jclient, se pueden realizar operaciones como “CALL {} IN TRANSACTIONS” para ejecutar consultas en una transacción en la base de datos Neo4j desde un proyecto en C#.

Usando el C# neo4jclient, ¿cómo puedo formular la siguiente consulta cypher (posible desde neo4j 4.4)?

MATCH (n:Foo) where n.foo='bar'
CALL { WITH n
DETACH DELETE n
} IN TRANSACTIONS OF 10000 ROWS;

Saludos cordiales,

Andreas

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para formular la consulta de cifrado mencionada utilizando el C# neo4jclient, se puede utilizar el siguiente fragmento de código:

    var cliente = new GraphClient(new Uri("http://localhost:7474/db/data"), new HttpClientWrapper("nombre de usuario", "contraseña"));
    cliente.Connect();
    
    cliente.Cypher.Match("(n:Foo)")
        .Where((Foo n) => n.foo == "bar")
        .Call("WITH n DETACH DELETE n")
        .WithParam("batchSize", 10000)
        .WithParam("concurrency", 4)
        .Yield("count(*)")
        .Return<int>("count")
        .ResultsAsync;
    

    Este código realiza los siguientes pasos:
    – Se conecta a la base de datos de neo4j a través del objeto GraphClient.
    – Utiliza la propiedad Cypher del GraphClient para formular la consulta de cifrado como una cadena de métodos fluente.
    – Encuentra todos los nodos etiquetados como ‘Foo’ donde la propiedad foo es igual a ‘bar’.
    – Utiliza el método Call para ejecutar la consulta de cifrado interna en un bloque de transacción.
    – Utiliza el método WithParam para ajustar el tamaño del lote (cantidad de filas procesadas por transacción) y el nivel de concurrencia (cantidad de transacciones paralelas).
    – Utiliza el método Yield para devolver el recuento de nodos eliminados.
    – Utiliza el método Return para recuperar el resultado y convertirlo en un valor fuertemente tipado de tipo int.

    Ten en cuenta que el código asume que la base de datos se está ejecutando en localhost:7474 y que se proporciona un nombre de usuario y contraseña válidos para la autenticación.

Comments are closed.