我正在尝试用php学习neo4j,但我在使用查询语句时遇到了困难。如何使用cypher遍历我创建的节点并分配一个abv、ibu、srm和brewery关系。
require_once 'vendor/autoload.php';
use Neoxygen\NeoClient\ClientBuilder;
$client = ClientBuilder::create()->addConnection('default','http','localhost',7474, true, 'neo4j', '123')->setDefaultTimeout(20)->build();
$version = $client->getNeo4jVersion();
$conn = mysqli_connect("localhost","root","","sample data");
if(!$conn){
mysqli_connect_error();
}
$db_selected = mysqli_select_db($conn, 'sample data');
if(!$db_selected){
die();
}
$sql="SELECT * FROM `beers` ";
$result=mysqli_query($conn, $sql);
if(!$result){
die();
}
$beer = array();
while($row = mysqli_fetch_array($result,MYSQLI_BOTH)){
$temp = array();
array_push($temp, $row['name']);
array_push($temp, $row['abv']);
array_push($temp, $row['ibu']);
array_push($temp, $row['srm']);
array_push($temp, $row['brewery_id']);
array_push($beer,$temp);
}
$i =0;
foreach ($beer as $name) {
$temp = $name;
if($i == 500){break;}else{$i++;}
$q = "CREATE ( n {beer_name:"."\"".$name[0]."\","."ABV:".$name[1].","."IBU:".$name[2].","."SRM:".$name[3].","."brewey:".$name[4]."})";
$client->sendCypherQuery($q);
$result = $client->getRows();
}任何帮助都是很好的,我被困在该做什么
发布于 2015-11-11 11:53:36
这可能对你有用:
require_once 'vendor/autoload.php';
use Neoxygen\NeoClient\ClientBuilder;
$client = ClientBuilder::create()->addConnection('default','http','localhost',7474, true, 'neo4j', '123')->setDefaultTimeout(20)->build();
$version = $client->getNeo4jVersion();
$conn = mysqli_connect("localhost","root","","sample data");
if(!$conn){
mysqli_connect_error();
}
$db_selected = mysqli_select_db($conn, 'sample data');
if(!$db_selected){
die();
}
$sql="SELECT * FROM `beers` ";
$result=mysqli_query($conn, $sql);
if(!$result){
die();
}
$q =
"CREATE (beer:Beer {name: {name}})
MERGE (abv:Abv {name: {abv}})
MERGE (ibu:Ibu {name: {ibu}})
MERGE (srm:Srm {name: {srm}})
MERGE (brw:Brewery {name: {brewery_id}})
CREATE (beer)-[:ABV]->(abv),(beer)-[:IBU]->(ibu),(beer)-[:SRM]->(srm),(beer)-[:BREWERY]->(brw);";
while($row = mysqli_fetch_array($result,MYSQLI_BOTH)){
$client->sendCypherQuery($q, $row);
}https://stackoverflow.com/questions/33638715
复制相似问题