【问题标题】:New to Neo4j and cypherNeo4j 和密码新手
【发布时间】:2015-11-10 20:14:25
【问题描述】:

我正在尝试使用 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();
}

任何帮助都会很棒,我不知道该怎么做

【问题讨论】:

    标签: php neo4j


    【解决方案1】:

    这可能对你有用:

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多