>本文探讨了使用Symfony Neo4J捆绑包的Symfony PHP框架Neo4J(Neo4J)Neo4J的无缝集成。 此捆绑包简化了与Neo4J的互动,提供了以符合符号为中心的体验。
键优点:
-
简化的集成:束简化了neo4j和symfony之间的连接,消除了通常与图形数据库相互作用相关的许多复杂性。
- 综合功能:它提供了诸如数据库呼叫跟踪,查询结果管理,异常处理和详细的呼叫统计的功能,在调试和性能监视中有很大帮助。>
- 灵活性:该捆绑包被设计为未开放,授予经验丰富的NEO4J用户对客户端和Cypher查询执行的完全控制。 对象图映射器(OGM)是可选的,为开发人员提供了灵活性。
> 类似学说的API:界面,提供了
- ,>,,
ObjectManager
,find
,,remove
,,和persist
。flush
为什么选择图形数据库?
数据固有地互连。 传统数据库努力有效地管理和查询这种复杂的关系网络。 Neo4J是一种本机图数据库,在处理此相互联系的数据时擅长通过直接存储关系,启用有效的查询。
> neo4j的优势:
>
>本机图数据库:- 与数据库附加组件不同,neo4j是从头开始构建的,作为图形数据库,优化了数据存储和用于连接数据的检索。 在Neo4J中,复杂的加入操作(关系数据库中的常见瓶颈)明显更快。
Cypher查询语言:>
symfony:强大的PHP框架
1 2 3 4 | <code>MATCH (c:Customer)-[:BOUGHT]->(:Product)(reco:Product)
WHERE c.id = 123 AND NOT (c)-[:BOUGHT]->(reco)
RETURN reco.name, count (*) as frequency
ORDER BY frequency DESC LIMIT 10;</code>
|
登录后复制
登录后复制
>
> Symfony的基于组件的体系结构和灵活性使其成为现代PHP开发的流行选择。 它的生态系统包括广泛使用的工具,例如作曲家,树枝和学说。>
symfony neo4j捆绑包:
>
捆绑包包裹了Graphaware PHP客户端,通过Web -Profiler集成增强了Symfony体验。 这提供了数据库调用,查询,结果和异常的详细视图,简化了调试。
使用捆绑包:
捆绑包提供了两种主要方法:
- >
直接客户端交互:对于高级用户,支持与neo4j客户端的直接互动。>
1 2 3 4 | <code>MATCH (c:Customer)-[:BOUGHT]->(:Product)(reco:Product)
WHERE c.id = 123 AND NOT (c)-[:BOUGHT]->(reco)
RETURN reco.name, count (*) as frequency
ORDER BY frequency DESC LIMIT 10;</code>
|
登录后复制
登录后复制
- >
对象图映射器(OGM):对于那些熟悉学说的人,OGM提供了类似的体验。 注释将PHP对象映射到neo4j节点和关系。>
1 2 3 4 5 6 | $client = $this ->get( 'neo4j.client' );
$results = $client ->run( 'MATCH (n:Movie) RETURN n LIMIT 5' );
foreach ( $results ->records() as $record ) {
$node = $record ->get( 'n' );
echo $node ->get( 'title' );
}
|
登录后复制
1 2 3 4 5 6 7 8 9 10 11 12 | use GraphAware\Neo4j\OGM\Annotations as OGM;
class User
{
protected $id ;
}
|
登录后复制
关系和关系实体:>
Neo4J将关系视为一流的公民。注释定义了节点之间的关系,关系实体允许在这些关系中添加属性。>
入门:
@OGMRelationship
>在GitHub上可以使用一个示例项目以演示捆绑包的用法。
>这种增强的描述提供了Symfony Neo4J捆绑包的更全面的概述,突出了其关键功能和好处,同时保持原始信息的完整性。 FAQ在修订后的文本中隐含地解决。>
以上是介绍Neo4J Symfony Bundle的详细内容。更多信息请关注PHP中文网其他相关文章!