3

スクリプトを使用して大量のデータを Neo4j に挿入しようとしています。しばらくすると、スクリプトは次の例外で中断します。

PHP Fatal error:  Uncaught exception 'Everyman\Neo4j\Exception' with message 'Unable to execute query [400]:
Headers: Array
(
    [Content-Length] =>  3031
    [Content-Type] =>  application/json; charset=UTF-8
    [Access-Control-Allow-Origin] =>  *
    [Server] =>  Jetty(6.1.25)
)
Body: Array
(
    [message] => An identifier is used with different types. The identifier `  UNNAMED2` is used both as Relationship and as Collection
    [exception] => CypherTypeException
    [fullname] => org.neo4j.cypher.CypherTypeException
    [stacktrace] => Array
        (
            [0] => org.neo4j.cypher.internal.symbols.SymbolTable.add(SymbolTable.scala:33)
            [1] => org.neo4j.cypher.internal.symbols.SymbolTable$$anonfun$checkNoOverlapsExist$1.apply(SymbolTable.scala:47)
            [2] => org.neo4j.cypher.internal.symbols.SymbolTable$$anonfun$checkNoOverlapsExist$1.apply(SymbolTable.scala:46)
            [3] => scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
            [4] => org.neo4j.cypher.internal.symbols.Symbol in phar:///var/www/zomato9/application/library/neo4jphp.phar/lib/Everyman/Neo4j/Command.php on line 116

同じクエリがコンソールから機能し、例外が発生した同じポイントからスクリプトを再起動すると、再び失敗するまでしばらくの間再び機能します。例外をキャッチしてスクリプトを数秒間スリープさせても、スクリプトは壊れません。

ここで何が起こっているのかについて何か提案はありますか?

更新: サンプル クエリを追加しました

START a = node:?("?:?"), b = node:?("?:?")
            MATCH a-[c1:ACTIVITY_LIST*]->z, z-[r1:ACTIVITY_LIST]->y
            WHERE z.TIMESTAMP >= '.$time.' AND y.TIMESTAMP < '.$time.'
            CREATE n = {?}, clist = {COMMENT_ID: ''}, a-[:IN_?]->n, n-[:OUT_?]->b, n-[:COMMENT_LIST]->clist, z-[:ACTIVITY_LIST]->n, n-[:ACTIVITY_LIST]->y
            DELETE r1
            RETURN n;
4

0 に答える 0