我一直在尝试使用 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 的节点由 Neo4j 在属性 userid 上索引。
CREATE CONSTRAINT ON (user:User) ASSERT user.userid IS UNIQUE
问题:
- 有没有其他方法可以实现创建独特的关系。
- 我可以在关系上使用索引吗?如果是,我怎样才能达到同样的效果。