Как повторно инициализировать запрос Neo4j?

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

РЕДАКТИРОВАТЬ 0

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

РЕДАКТИРОВАТЬ 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>

РЕДАКТИРОВАТЬ 2

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

РЕДАКТИРОВАТЬ 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]
...

РЕДАКТИРОВАТЬ 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)
...

РЕДАКТИРОВАТЬ 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

Решение

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

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

Поэтому я бы посмотрел на разные позиции:

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

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

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

введите описание изображения здесь

Поэтому я бы проверил содержимое БД, можете ли вы попробовать в своем браузере сделать второй запрос вручную.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]