0

私は、neo4jphp [ https://github.com/jadell/neo4jphp/wiki]を使用して、新しいモジュールのノードと関係シップを作成しようとしています。

同じために暗号クエリを使用しています。

以下のクエリでノードを作成します。

$queryNodes = "CREATE (n:User { props } ) ";
$query      = new Everyman\Neo4j\Cypher\Query($client, $queryNodes, array('props' => $arrNodeProperties));
$result     = $query->getResultSet();

以下のクエリで関係を作成します。

$queryRelations = "
   MATCH (authUser: User { userid: 0001 }),(friend)
     WHERE friend.userid IN ['" . implode("','",$relations) . "']
        CREATE UNIQUE (authUser)-[r:KNOWS { connection: 'user_friend' }]->(friend)";

これまでのところ、ノードの作成は gr8 で動作します。

しかし、ノードの一意の関係を作成しようとすると、時間がかかりすぎます....

: ラベル User には一意の制約 userid があるため、ラベル user を持つノードはプロパティ userid で Neo4j によってインデックス化されます。

CREATE CONSTRAINT ON (user:User) ASSERT user.userid IS UNIQUE

質問:

  1. 他にユニークな関係を築く方法はありますか?
  2. リレーションシップにインデックスを使用できますか?? はいの場合、どうすれば同じことを達成できますか。
4

2 に答える 2

1

MERGEの代わりにuse を使用してみてくださいCREATE UNIQUE。さらに、クライアント側で連結する代わりに、フライド リストに Cypher パラメータを使用します。http://docs.neo4j.org/chunked/stable/cypher-parameters.html を参照してください

于 2014-10-11T17:23:42.270 に答える