zoukankan      html  css  js  c++  java
  • 关于neo4j初入门(1)

    图形数据库也称为图形数据库管理系统或GDBMS。

    Neo4j的官方网站:http://www.neo4j.org

    Neo4j的优点

    • 它很容易表示连接的数据

    • 检索/遍历/导航更多的连接数据是非常容易和快速的

    • 它非常容易地表示半结构化数据

    • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

    • 它使用简单而强大的数据模型

    • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

    关系应该是定向的

     访问Neo4j通过使用http:// localhost:7474 /

    CREATE命令语法

    CREATE (<node-name>:<label-name>) 节点名称。节点标签名称

    CREATE (
       <node-name>:<label-name>
       { 	
          <Property1-name>:<Property1-Value>    定义将分配给创建节点的属性的名称、值
          ........
          <Propertyn-name>:<Propertyn-Value>
       }
    )
    总结: 节点 标签 属性

    MATCH命令语法:

    • 从数据库获取有关节点,关系和属性的数据
    MATCH 
    (
       <node-name>:<label-name>
    )

    RETURN命令语法:

    • 检索节点的某些属性、所有属性
    • 检索节点和关联关系的某些属性、所有属性
    RETURN 
       <node-name>.<property1-name>,
       ........
       <node-name>.<propertyn-name>

    不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令
    MATCH (dept: Dept)
    RETURN dept.deptno,dept.dname

    dept是节点名称

    这里Dept是一个节点标签名

    deptno是dept节点的属性名称

    dname是dept节点的属性名

    CQL - CREATE+MATCH+RETURN命令

    CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
    CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
    MATCH (e:Customer)
    RETURN e.id,e.name,e.dob
    MATCH (cc:CreditCard)
    RETURN cc.id,cc.number,cc.cvv,cc.expiredate

     关系基础

    Neo4j关系被分为单向关系、双向关系

     CREATE创建标签

    Neo4j仅支持两个节点之间的单个关系类型。

    CREATE (google1:GooglePlusProfile)
    CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)多个标签到节点
    例如CREATE (m:Movie:Cinema:Film:Picture)

     单个标签到关系
    CREATE (<node1-name>:<label1-name>)-
    	[(<relationship-name>:<relationship-label-name>)]
    	->(<node2-name>:<label2-name>)
    举例
    CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
    

    这里p1和profile1是节点名称和节点标签名称“From Node”

    p2和Profile2是“To Node”的节点名称和节点标签名称、r1是关系名称、LIKES是一个关系标签名称

    WHERE子句

    过滤MATCH查询的结果。

    WHERE <condition>
    WHERE <condition> <boolean-operator> <condition>

    <condition>语法:

    <property-name> <comparison-operator> <value>

    布尔运算符


    and or not xor

    比较运算符

    =             >           <           >=         <=             <>

    MATCH (emp:Employee) 
    WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
    RETURN emp


    使用WHERE子句创建关系

    MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>) 
    WHERE <condition>
    CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
           {<relationship-properties>}]->(<node2-label-name>) 
    例子
    MATCH (cust:Customer),(cc:CreditCard) WHERE cust.id = "1001" AND cc.id= "5001" CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) RETURN r
  • 相关阅读:
    Nbear实体和接口 CodeSmith模版
    prototype1.4版中文参考手册(word,pdf,chm)
    SharePoint 2013 (SharePoint 15)的新特性
    没有域环境下安装SharePoint 2010
    产品经理(PM)常用原型图设计工具
    【转贴】mysql导入数据load data infile用法
    重新学javaweb!
    关于HIbernate中的lazy属性的一些解释
    JAVA程序员基本测试题目
    添加sql server约束
  • 原文地址:https://www.cnblogs.com/xingnie/p/9418107.html
Copyright © 2011-2022 走看看