neo4j



CY:

MATCH  (n:Device) <-[r:BINDDEVICE] - (m:User) where  n.deviceId = "yp_waigu"   return count(m) 
node

1、图数据库neo4j介绍:

Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图(网络)中而不是表中存储数据。算法

Neo4j提供了大规模可扩展性,在一台机器上能够处理数十亿节点/关系/属性的图,能够扩展到多台机器并行运行。相对于关系数据库来讲,图数据库善于处理大量复杂、互链接、低结构化的数据,这些数据变化迅速,须要频繁的查询——在关系数据库中,这些查询会致使大量的表链接,所以会产生性能上的问题。数据库

Neo4j重点解决了拥有大量链接的传统RDBMS在查询时出现的性能衰退问题。经过围绕图进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。数组

此外,Neo4j还提供了很是快的图算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是没法实现的。
网络

2、节点和关系

Neo4j 中最基本的概念是节点(node)和关系(relationship)。性能

节点表示实体,由org.neo4j.graphdb.Node 接口来表示。在两个节点之间,能够有不一样的关系。code

关系由org.neo4j.graphdb.Relationship 接口来表示。每一个关系由起始节点、终止节点和类型等三个要素组成。起始节点和终止节点的存在,说明了关系是有方向,相似于有向图中的边。不过在某些状况,关系的方向可能并无意义,会在处理时被忽略。全部的关系都是有类型的,用来区分节点之间意义不一样的关系。在建立关系时,须要指定其类型。关系的类型由 org.neo4j.graphdb.RelationshipType 接口来表示。接口

节点和关系均可以有本身的属性。每一个属性是一个简单的名值对。属性的名称是 String 类型的,而属性的值则只能是基本类型、String 类型以及基本类型和 String 类型的数组。一个节点或关系能够包含任意多个属性。事务

相关文章
相关标签/搜索