neo4j入门
2016-04-07 14:04
218 查看
neo4j是一个nosql的图形数据库。nosql的意思是说不支持sql。图形数据库是说用graph作为建模工具。我们知道关系型数据采用二维表作为建模工具,一些nosql数据库使用hash表,有的使用json。neo4j颠覆传统,使用graph。众所周知,图上的数据操作一般有:
1. 添加 删除节点;
2. 添加删除 边;
3. 深度优先遍历;
4. 广度优先遍历;
5. 最短路径;
6. 最小生成子树。
当然还有别的算法。neo4j的边是两个节点关系,边上有属性,可以存储数据。可以使用java代码插入数据,如下所示:
neo4j还支持事务的插入和回滚。
图形数据库可以使用cypher语言进行查询,它具有如下的元素:
使用cypher语言可以很容易的创建图,修改图和查询图。
图形数据库很适合哪些本质上是图的数据模型,不然人与人之间的关系,或者一个项目的各个环节,或者一个数据流任务的节点。
1. 添加 删除节点;
2. 添加删除 边;
3. 深度优先遍历;
4. 广度优先遍历;
5. 最短路径;
6. 最小生成子树。
当然还有别的算法。neo4j的边是两个节点关系,边上有属性,可以存储数据。可以使用java代码插入数据,如下所示:
firstNode = graphDb.createNode();
firstNode.setProperty(
"message"
,
"Hello, "
);
secondNode = graphDb.createNode();
secondNode.setProperty(
"message"
,
"World!"
);
relationship = firstNode.createRelationshipTo( secondNode, RelTypes.KNOWS );
relationship.setProperty(
"message"
,
"brave Neo4j "
);
neo4j还支持事务的插入和回滚。
图形数据库可以使用cypher语言进行查询,它具有如下的元素:
START: Starting points in the graph, obtained via index lookups or by element IDs.
MATCH: The graph pattern to match, bound to the starting points in
START.
WHERE: Filtering criteria.
RETURN: What to return.
CREATE: Creates nodes and relationships.
DELETE: Removes nodes, relationships and properties.
SET: Set values to properties.
FOREACH: Performs updating actions once per element in a list.
WITH: Divides a query into multiple, distinct parts.
使用cypher语言可以很容易的创建图,修改图和查询图。
图形数据库很适合哪些本质上是图的数据模型,不然人与人之间的关系,或者一个项目的各个环节,或者一个数据流任务的节点。
相关文章推荐
- Unity3d 读写文本
- JS禁止网页被复制以及禁止鼠标右击代码
- Android Support 包里究竟有什么
- python开发笔记
- Android应用开发多语言drawable目录
- Intellij IDEA 的 Test Restful Web Service 使用教程
- linux内核链表以及list_entry--linux内核数据结构(一)
- SDWebImage的缓存怎么不要
- CSS制作图形变形弹出效果的示例分享
- MYSQL报错 error: Got a packet bigger than ‘max_allowed_packet’ bytes
- ActionContext和ServletActionContext小结
- 将Drawable转为Bitmap
- NOIP 金明的预算方案
- 虚拟机VMware安装XP系统错误解决办法
- web项目部署时的标准目录结构
- FZU 2026 代码问题
- PHP开发APP接口
- 5.6.2 sigsetjmp/siglongjmp错误处理架构
- win系统下nodejs安装及环境配置
- java连接Neo4j服务器