0
Wie gebe ich RELATIONSHIP Type
als Parameter in der folgenden CREATE
-Anweisung ein?Parameter für die CREATE-Beziehung in Neo4j verwenden
String query = "MATCH (n:User),(m:User) WHERE n.id = {srcId} AND m.id = {dstId} CREATE (n)-[{r:{type}} {dateAdded:{dateAdded}}]->(m)";
Diese Zeile muss geändert werden.
public static void TransactionExample() throws Exception
{
Driver driver = GraphDatabase.driver("bolt://localhost", AuthTokens.basic("neo4j", "admin4j"));
Session session = driver.session();
String query = "MATCH (n:User),(m:User) WHERE n.id = {srcId} AND m.id = {dstId} CREATE (n)-[{r:{type}} {dateAdded:{dateAdded}}]->(m)";
try (Transaction tx = session.beginTransaction())
{
tx.run(query,Values.parameters("srcId",srcId,"dstId",dstId,"relType",relType,"dateAdded",dateAdded));
tx.success();
}
}
session.close();
driver.close();
}
org.neo4j.driver.v1.exceptions.ClientException: Invalid input '{': expected whitespace, comment or ']' (line 1, column 98 (offset: 97))
"MATCH (n:User),(m:User) WHERE n.id = {srcId} AND m.id = {dstId} CREATE (n)-[{relType:{relType}} {dateAdded:{dateAdded}}]->(m)"
Das bedeutet, dass ich zwei verschiedene Transaktionsmethoden schreiben musste. Eine für Knoten und eine für Beziehungen. Kann ich irgendetwas an dieser Linie machen, um es zu vermeiden? 'tx.run (query_type, Values.parameters (propertiesArray.get (i)));' – Nick
Woher kommt 'propertiesArray'? –
Ein JSON wird einem Objekt zugeordnet, und dann habe ich eine Methode geschrieben, um ein Array von Schlüssel/Wert-Elementen für das Objekt zurückzugeben. – Nick