暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

neo4j入门(一)——neo4j安装和简易操作

BioinfoNeo4j 2021-05-16
1144

什么是neo4j,其优点是什么?有什么用。

neo4j是一个图形数据库,它的优点是:

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

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

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

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

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

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


neo4j可以很容易在众多关系中查询到指定两者间的关系,并且将其可视化,直观快速地找到其之间关系的所有内容。

1. 安装Java

在安装neo4j之前,需要先确定你的电脑是否已经安装Java程序,如果没有,你可以参考这个安装教程。https://blog.csdn.net/Good_zwn/article/details/87906599

2. neo4j下载

neo4j下载地址:https://neo4j.com/download-center/#releases

选择community Server, 选择windows版本。
下载到你指定的路径去。

3. 解压文件

然后解压文件到指定的目录下,我解压文件到我的电脑F盘,之后为了方便我辨认,我将它的文件夹名称改成neo4j_execise,你也可以写成其他名字,但是以英文字母命名(不要出现中文)。解压后的文件夹neo4j_execise里面的内容如下图:

4. 更改文件设置

因为我们以后可能电脑里面会存取多个neo4j数据库,所以这里我们就不去设置环境变量了,而是改动文件里面的一些设置。来达到我们可以开启neo4j的目的。

下面更改F:\neo4j_execise\bin\neo4j.ps1
文件的一些设置:

查找
Import-Module "$PSScriptRoot\Neo4j-Management.psd1

改为:
Import-Module "F:\June28\GREG\bin\Neo4j-Management.psd1

如果你存放的路径不同,记得在这里要改变成相应的路径。

5. 启动neo4j

快捷键win+ R
 ,输入cmd,运行,

进入到命令行界面,切换目录到F:\neo4j_execise\bin
,然后输入neo4j.bat console
, 或者输入neo4j console
也可以运行neo4j。

然后打开浏览器,输入网址:
http://localhost:7474/browser/
首次登录界面如下:

默认密码是neo4j
,之后更改成你自己的密码。

之后的界面如下图:

6. neo4j简单代码入门

在命令行输入的位置输入::play write-code
,或者点击write code

之后用快捷键Ctrl+Enter进行运行,或者点击最右边的运行命令。

neo4j就会出现一些例子给你选择学习了。

neo4j使用的是Cypher语言进行操作的,最主要的是CREATE、MATCH、RETURN、where等语句,下面展示的是这几个的基本用法。

6.1 创建——CREATE

6.1.1 创建节点

创建节点使用create
命令。

语法格式

    CREATE (
    <node-name>:<label-name>
    {
    <Property1-name>:<Property1-Value>
    ........
    <Propertyn-name>:<Propertyn-Value>
    }
    )




    语法说明

    创建节点

      create(:person{name:'小黄'})
      create(:person{name:'老黄'})
      create(:person{name:'小黄哥'})
      create(:person{name:'小黄姐'})
      create(:person{name:'小黄妹'})
      create(:person{name:'小黄弟'})
      create(:person{name:'小肖'})
      create(:person{name:'小黄妈'})

      这里我们围绕小黄同学的家庭设立节点。 person
      是label,name
      是属性(property)。小黄
      等是属性值(property key)

      6.1.2 创建关系

      因为我们已经创建了节点,为了避免节点重复,我们先要找到对应的节点,然后建立关系。
      找到对应的节点用的是MATCH
      语句。关于MATCH
      语法请看后面

      创建关系

        match(n:person{name:'小黄'}),(m:person{name:'小黄哥'})
        create (n)-[r:home {relationship:'兄弟'}]->(m)
          match(n:person {name:'小黄'}),
          (dad:person {name:'老黄'}),
          (sister1:person {name:'小黄姐'}),
          (sister2:person {name:'小黄妹'}),
          (bro:person {name:'小黄弟'}),
          (girlfriend:person {name:'小肖'}),
          (mam:person {name:'小黄妈'})
          create (n)-[:home {relationship:'父母'}]->(mam),
          (n)-[:home {relationship:'父母'}]->(dad),
          (n)-[:home {relationship:'姐姐'}]->(sister1),
          (n)-[:home {relationship:'妹妹'}]->(sister2),
          (n)-[:home {relationship:'弟弟'}]->(bro),
          (n)-[:friend {relationship:'女朋友'}]->(girlfriend)

          6.2 查找——MATCH

          6.2.1 MATCH
           语法

            MATCH
            (
            <node-name>:<label-name>
            )

            语法说明

            6.2.2 查找节点

            查找小黄

              MATCH (n:person{name:'小黄'})
              RETURN n


              查找小黄
              小黄哥

                MATCH (n:person{name:'小黄'}),(m:person {name:'小黄哥'})
                RETURN n,m

                6.2.3 查找关系

                查找小黄
                小肖
                的关系

                  MATCH p = (n:person{name:'小黄'})-[]->(m:person {name:'小肖'})
                  RETURN p


                  查找小黄
                  和所有人的关系

                    MATCH p = (n:person{name:'小黄'})-[]->()
                    RETURN p

                    6.3 筛选——where

                    where语句是用来筛选节点或关系的。

                    6.3.1 筛选节点

                    查找小黄

                    命令1

                      match (n)
                      where n.name='小黄'
                      return n

                      命令2

                        match (n:person)
                        where n.name='小黄'
                        return n

                        命令1是遍历所有之后,才根据条件name='小黄’筛选出来的,当节点过多的时候,建议采用命令2去查找,有label这个设定之后,遍历的节点范围会有所缩小,速度会更快一些,所占用内存空间也会减少。


                        查找小黄
                        小黄哥

                          match (n:person)
                          where n.name='小黄' or n.name='小黄哥'
                          return n

                          注意额:我用的是or
                          ,用and
                           就找不到结果咯额。

                          6.3.2 筛选关系

                          查找关系是女朋友
                          的节点

                            match p= (n:person)-[r]->(m:person)
                            where r.relationship='女朋友'
                            return p

                            参考:https://www.w3cschool.cn/neo4j/



                            谢谢您的关注,我们将继续努力!
                            文章转载自BioinfoNeo4j,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                            评论