Neo4j PHP客户端使用教程
neo4j-php-client项目地址:https://gitcode.com/gh_mirrors/ne/neo4j-php-client
项目介绍
Neo4j PHP客户端是一个高级且灵活的PHP客户端,用于与Neo4j图数据库进行交互。Neo4j是一个事务性的开源图数据库,能够以非常易访问的方式管理连接的数据结构,代表任何类型的数据。信息存储在节点和关系中,这些节点和关系都可以具有任意属性。
项目快速启动
安装
首先,通过Composer安装Neo4j PHP客户端:
composer require graphaware/neo4j-php-client
创建客户端
使用以下代码创建一个Neo4j客户端:
use GraphAware\Neo4j\Client\ClientBuilder;
$client = ClientBuilder::create()
->addConnection('default', 'http://neo4j:password@localhost:7474')
->build();
执行查询
使用创建的客户端执行Cypher查询:
$result = $client->run('MATCH (n) RETURN n LIMIT 10');
foreach ($result->getRecords() as $record) {
echo $record->get('n')->value('name') . "\n";
}
应用案例和最佳实践
社交网络分析
在社交网络分析中,可以使用Neo4j PHP客户端来查询用户之间的关系,例如查找共同的朋友或推荐朋友。
$query = "MATCH (user1:User {id: $userId})-[:FRIENDS_WITH]-(commonFriends)-[:FRIENDS_WITH]-(user2:User)
WHERE user1 <> user2
RETURN user2, COUNT(commonFriends) AS commonFriendsCount
ORDER BY commonFriendsCount DESC LIMIT 10";
$result = $client->run($query);
推荐系统
在推荐系统中,可以使用Neo4j PHP客户端来查询用户的历史行为并推荐相关产品。
$query = "MATCH (user:User {id: $userId})-[:PURCHASED]->(product)<-[:PURCHASED]-(otherUser)-[:PURCHASED]->(recommendedProduct)
WHERE user <> otherUser AND NOT (user)-[:PURCHASED]->(recommendedProduct)
RETURN recommendedProduct, COUNT(*) AS recommendationScore
ORDER BY recommendationScore DESC LIMIT 10";
$result = $client->run($query);
典型生态项目
Bolt协议支持
Neo4j PHP客户端支持Bolt二进制协议,提供更快的数据传输和更低的延迟。
高可用性支持
客户端内置支持Neo4j企业版的高可用性(HA)模式,包括主从模式和自动从节点回退。
事务支持
客户端支持事务,确保数据的一致性和完整性。
$transaction = $client->transaction();
$transaction->begin();
try {
$transaction->run('CREATE (n:User {name: "Alice"})');
$transaction->run('CREATE (n:User {name: "Bob"})');
$transaction->commit();
} catch (\Exception $e) {
$transaction->rollback();
}
通过以上步骤和示例,您可以快速开始使用Neo4j PHP客户端进行图数据库的开发和应用。
neo4j-php-client项目地址:https://gitcode.com/gh_mirrors/ne/neo4j-php-client