neo4j(一)入门篇


什么是图?

图有两个元素,一个是节点(node)另一个是节点间的关系(relationship).

什么是图数据库?

图数据库就是用来管理图数据模型的数据库。与其他数据库不同,关系在图数据库中是首要的,不需要添加外键来连接两个节点。图数据库存储了节点及其关系组成的结构系统,可以更加方便的描述我们的现实世界。

什么是neo4j?

  • Neo4j是一个数据库- 用它来可靠地存储信息在以后找到它
  • Neo4j的数据模型是Graph,特别是Property Graph
  • Cypher是Neo4j的图形查询语言(SQL用于图形!
  • Cypher是一种声明性查询语言:它描述您感兴趣的内容,而不是如何获取。
  • Cypher意味着非常易读富有表现力

什么是Cypher?

Cypher是一种声明性查询语言

在Cyphter中节点(node)和关系(relationship)的表达方式

nodes:

使用()来表达节点,我们可以为节点命名一个变量名(varaible),以便可以在可以引用它。同时节点需要声明类型,使用“:Type”。使用{}来声明节点具有的属性,示例如下:

()  标示空节点
(matrix) 该节点的名称为matrix
(:Movie) 该节点的类型为Movie
(matrix:Movie) 节点名为matrix类型为Movie的节点
(matrix:Movie {title: "The Matrix"}) matrix的节点具有title属性值为“The Matrix”
(matrix:Movie {title: "The Matrix", released: 1999})
(matrix:Movie:Promoted) 节点可以有多个类型

  我们可以使用Match和Return来查找和返回几点,如查找类型为Movie,电影名title为The Matrix的电影节点可以使用

MATCH (movie:Movie {title:"The Matrix"})
RETURN movie

 

relationships:

关系是从一个节点指向另一个节点的箭头:

(节点1)-[关系1]->(节点2)

或者

(节点1)<-[关系2]-(节点2)

关系和节点一样也可以有变量声明,也有类型,有对应的属性。

例如我们要查找一个演员在电影中的角色

MATCH (actor:Person)-[rel:ACTED_IN]->(movie:Movie)
RETURN rel.roles

  rel:就是关系变量

  ACTED_IN:就是关系类型

  roles:就是关系所具有的的属性。

patterns:

将节点和关系连接起来就被称为pattern(模式)。

为了方便重用,我们可以给模式赋予变量,以便于在其他地方引用示例:

MATCH cast = (:Person)-[:ACTED_IN]->(:Movie)
RETURN cast

  cast代表了电影、演员和演员在电影中角色这样一个模型。可以使用nodes(cast)返回模型的节点,rels(cast)代表模型中节点的关系,length(cast)代表所有的模型数量。

 

优质内容筛选与推荐>>
1、LeetCode Remove Duplicates from Sorted List II
2、HttpClient的文件上传进度
3、sqlserver获取系统时间
4、POJ 1928
5、day57 choice字段 MTV与MVC 模型 ajax基本语法 前后端传输数据编码格式 ajax传文件 序列化组件 ajax与sweetalert插件结合使用 自定义分页器


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn