•遍历(Traversal):遍历一张图就是按照必定的规则,跟随他们的关系,访问关联的的节点集合。最多的状况是只有一部分子图被访问到,由于你知道你对那一部分节点或者关系感兴趣。
•Neo4j提供了遍历的API,可让你指定遍历规则。最简单的设置就是设置遍历是宽度优先仍是深度优先。
•Traversal.preorderDepthFirst(): 深度优先,在访问的子节点以前访问每个节点。
•Traversal.postorderDepthFirst(): 深度优先,在访问的子节点以后访问每个节点。
•Traversal.preorderBreadthFirst(): 宽度优先,在访问的子节点以前访问每个节点。
•Traversal.postorderBreadthFirst(): 宽度优先,在访问的子节点以后访问每个节点。
•增长一个关系类型到遍历的关系类型列表中。 默认状况下,这个列表是空的,意味着默认会返回 全部类型 的关系,而不考虑类型。 若是有关系被加入到这个列表中,那就意味着 只有 列表中的关系才会被遍历。 有两个方法,一个是包括方向,另一个是排除方向,这个方法中遍历关系是双向的。
•
经过引入一个正确的Java库就能够将Neo4j放入项目中,在选择了适合你的平台的版本后,经过引入jar包到你的应用中来完成嵌入Neo4j,在嵌入式的模式下,Neo4j能够和应用程序运行于同一个进程,嵌入式的优势:
一、低延迟,直接与数据库对话,没有网络开销。
二、任选API,能够全范围的访问建立和查询数据的API,包括Neo4j的核心API,遍历框架和Cypher查询语音
三、嵌入式模式提供了对命名索引的建立和管理的彻底控制。
嵌入式缺点:
一、仅能应用于JVM,Neo4j是基于JVM的数据库,所以它的不少API仅能经过基于JVM的语音访问。
二、GC的行为,主机的应用程序垃圾回收器的行为会对Neo4j产生影响,而且当嵌入式实例运行于HA集群时,长期的GC暂停可能会使集群协议触发主节点重选
三、应用程序负责控制数据库的生命周期,包括启动和关闭。嵌入式版本的Neo4j和服务器版本的Neo4j同样,也能够作成集群。也能够将嵌入式和服务器版本的Neo4j作混合集群。
Neo4j能够做为一个独立服务器访问,能够直接经过一个REST接口或者一个基于指定语言的驱动。
一、REST API:服务器提供了REST API接口,容许客户端经过http请求发送JSON格式的请求,响应包括JSON格式的消息响应。
二、平台独立性:因为访问是经过HTTP发送的JSON格式的文档,所以Neo4j服务器能够被运行于任何平台的客户端访问。
三、Neo4J以服务器模式运行时,能够独立于应用服务器。
四、与应用程序的GC行为隔离,服务器模式中,任何应用程序的不良GC行为都不会影响Neo4j。
五、网络开销:在接收到第一个客户端请求以后,TCP连接会保持开启状态,知道客户端关闭。
六、每一个请求的事务:每一个客户端的请求都在一个单独的事务上下文中被执行。
七、开发者能够本身扩展REST API,扩展采起JAX-RS注解类(annotated class)的形式。