2015-08-25 3 views
0

Не могли бы вы рассказать мне, какая из команд командной строки может помочь мне повторно инициализировать запрос neo4j, чтобы объяснить больше, у меня есть запрос, который дает всем пользователям узлы, а второй запрос дает узлам папок, к сожалению, второй запрос запоминает результат первый запрос.как повторно инициализировать запрос Neo4j?

EDIT 0

Здесь следует конкатенацию дополнительной информации, OP, перенесенных ответы. Для того, кто в состоянии, пожалуйста, объедините изменения и удалите этот комментарий.

EDIT 1

  <td> 
      <select name=user> 
      <?php 
      $result1 = $client->sendCypherQuery("MATCH (n:$label1) return n")->getResult(); 
      $i=0; 
      foreach ($result1->getNodes() as $nu){ 

       $n[$i]=$nu->getproperty('lastname'); 
       $i++; 
      } 
       while ($j<$i) 
       { 
       echo "<option value='$n[$j]'> $n[$j] </option>"; 
       $j=$j+1; 
       } 
       echo "</select>"; 

      ?> 
      </td> 
     </tr> 
     <tr> 
      <td>Nom dossier :</td> 
      <td> 
      <select name=folder> 
      <?php 
      $result2 = $client->sendCypherQuery("MATCH (n:$label2) return n")->getResult(); 
      $i=0; 
      foreach ($result2->getNodes() as $nd){ 

       $d[$i]=$nd->getProperty('name'); 
       $i++; 
      } 
      $j=0; 
       while ($j<$i) 
       { 
       echo "<option value='$d[$j]'> $d[$j] </option>"; 
       $j=$j+1; 
       } 
       echo "</select>"; 
      ?> 
      </td> 
     </tr> 

EDIT 2

У меня 2 пользователей и 2 папки. $result1 должен возвращать пользователей, а $result2 должен возвращать папки. Когда я ищу размер папок, я получаю 4, а не 2, поэтому запрос всегда помнит результат первого запроса.

EDIT 3

var_dump($result1), я получаю:

object(Neoxygen\NeoClient\Formatter\Result) protected 'nodes' => 
array (size=2) 
    7 => 
    object(Neoxygen\NeoClient\Formatter\Node)[796] 
     protected 'id' => string '7' (length=1) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=6) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... 
    9 => 
    object(Neoxygen\NeoClient\Formatter\Node)[797] 
     protected 'id' => string '9' (length=1) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=6) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... protected 'relationships' => 
array (size=0) 
    empty protected 'errors' => null 
    protected 'identifiers' => 
array (size=1) 
    'n' => 
    array (size=2) 
     0 => 
     object(Neoxygen\NeoClient\Formatter\Node)[796] 
      ... 
     1 => 
     object(Neoxygen\NeoClient\Formatter\Node)[797] 
      ... 

EDIT 4

и var_dump($result2):

object(Neoxygen\NeoClient\Formatter\Result) protected 'nodes' => 
array (size=4) 
    7 => 
    object(Neoxygen\NeoClient\Formatter\Node)[799] 
     protected 'id' => string '7' (length=1) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=6) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... 
    9 => 
    object(Neoxygen\NeoClient\Formatter\Node)[800] 
     protected 'id' => string '9' (length=1) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=6) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... 
    8 => 
    object(Neoxygen\NeoClient\Formatter\Node)[787] 
     protected 'id' => string '8' (length=1) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=2) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... 
    10 => 
    object(Neoxygen\NeoClient\Formatter\Node)[788] 
     protected 'id' => string '10' (length=2) 
     protected 'labels' => 
     array (size=1) 
      ... 
     protected 'properties' => 
     array (size=2) 
      ... 
     protected 'inboundRelationships' => 
     array (size=0) 
      ... 
     protected 'outboundRelationships' => 
     array (size=0) 
      ... 

EDIT 5

<?php include 'connection.php'; 
$j=0; 

$l=0; 

$label1="user"; 

$label2="folder1"; 

?> 
<br><br><br>  
<h3>Ajouter relation</h3>  
<form action='php/addlink.php' method=post> 
    <table> 
     <tr> 
      <td>Nom utilisateur:</td> 
      <td> 
      <select name=user> 
      <?php 
      $result1 = $client->sendCypherQuery("MATCH (n:$label1) return n")->getResult(); 

      $i=0; 
      foreach ($result1->getNodes() as $nu){ 

       $n[$i]=$nu->getproperty('lastname'); 
       $i++; 
      } 
       while ($j<$i) 
       { 
       echo "<option value='$n[$j]'> $n[$j] </option>"; 
       $j=$j+1; 
       } 
       echo "</select>"; 

      ?> 
      </td> 
     </tr> 
     <tr> 
      <td>Nom dossier :</td> 
      <td> 
      <select name=folder> 
      <?php 
      $result2 = $client->sendCypherQuery("MATCH (n:$label2) return n")->getResult(); 

      $i=0; 
      foreach ($result2->getNodes() as $nd){ 

       $d[$i]=$nd->getid(); 
       $i++; 
      } 
      $j=0; 
       while ($j<$i) 
       { 
       echo "<option value='$d[$j]'> $d[$j] </option>"; 
       $j=$j+1; 
       } 
       echo "</select>"; 
      ?> 
+0

Пожалуйста, разместите запросы.Каковы их результаты? Что вы ожидаете? – FrobberOfBits

+0

проблема в следующем: $ d [$ j] возвращает результат первого запроса, а также второй запрос –

+2

, пожалуйста, разместите вопросы как часть вопроса, а не в небольших комментариях. он почти не читается, особенно на мобильном телефоне –

ответ

1

Это действительно странно, я создал интеграционный тест, который доказывает, что результаты не повторяются в последующих запросах:

https://github.com/neoxygen/neo4j-neoclient/blob/master/tests/Neoxygen/NeoClient/Tests/Issues/IssueSOResultDuplicationTest.php

Так что я хотел бы посмотреть на разных позициях :

  1. Удостоверьтесь, что есть только 2 узла папки
  2. Убедитесь, что все ваши переменные реинициализированы
  3. Этикетки, представленной в запросе

NB: Вы можете редактировать свой вопрос, а не создавать несколько ответов.

меня проверить свой код, просто заменив этикетки с теми, в моей БД, и я получаю только 2 папки:

enter image description here

Так что я хотел бы проверить содержание дб, вы можете попробовать в вашем браузере чтобы сделать второй запрос вручную.

Смежные вопросы