[英]how can i create relationships between nodes using php and neo4j
我正在通過表單和 php 創建節點,參數通過 POST 獲取到 neo4j 數據庫。 我想要做的是在我輸入人員節點時創建節點之間的關系,以便自動創建關系並且只創建一次。
$nombre = $_POST["nombre"];
$cedula = $_POST["cedula"];
$edad = $_POST["edad"];
$cedulaP = $_POST["cedulaP"];
$cedulaM = $_POST["cedulaM"];
$genero = $_POST["genero"];
$results = $client->runStatements([
Statement::create('CREATE (p:Persona {nombre: $nombre, cedula: $cedula, edad: $edad,
cedulaP: $cedulaP, cedulaM: $cedulaM, genero: $genero })',
['nombre' => $nombre, 'cedula' => $cedula, 'edad' => $edad, 'cedulaP' => $cedulaP,
'cedulaM' => $cedulaM, 'genero' => $genero]),
當通過表單輸入一個新的人節點時,我希望它創建關系,只要變量 cedulaP 等於 cedula(這個 cedula 來自父節點)。 它是一種家譜。 我遇到的問題是,當我輸入一個新節點時,它會給我一個錯誤。
$results1 = $client->run('MATCH (a:Persona),(b:Persona) WHERE a.cedulaP = b.cedula CREATE (b)-[r:PADRE]->(a)');
我認為我的語法錯誤,請有人可以幫助我
我認為它與 PHP 庫無關。 您可以同時進行兩個查詢,並且可以將節點屬性簡化為字典。
$nombre = $_POST["nombre"];
$cedula = $_POST["cedula"];
$edad = $_POST["edad"];
$cedulaP = $_POST["cedulaP"];
$cedulaM = $_POST["cedulaM"];
$genero = $_POST["genero"];
$properties = ['nombre' => $nombre, 'cedula' => $cedula, 'edad' => $edad, 'cedulaP' => $cedulaP, 'cedulaM' => $cedulaM, 'genero' => $genero];
$statement = new Statement('CREATE (p:Persona $props)
WITH p
MATCH (b:Persona) WHERE p.cedulaP = b.cedula
CREATE (b)-[r:PADRE]->(a)', [$props => $properties]);
$client->runStatement($statement, 'default');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.