安装`neo4j`

安装neo4j服务

版本:1.0.1

一、 安装包方式安装

  1. 解压此安装包

    sudo tar xf neo4j-enterprise-3.5.4-unix.tar.gz
    
  2. 修改配置文件

    cd neo4j-enterprise-3.5.4/conf
    vi neo4j.conf
    
    #去掉此行的注释   使7474页面可以访问
    dbms.connectors.default_listen_address=0.0.0.0
    
    #去掉此行的注释   改为false代表可以免密连接
    dbms.security.auth_enabled=false
    
    
  3. 进入 bin 目录,启动服务

    cd neo4j-enterprise-3.5.4/bin
    ./neo4j start
    
  4. 查看服务是否成功启动

    #在 bin 目录下执行 
    ./neo4j status
    
    #输出Neo4j is running at pid 28807 代表启动成功(pid是随机的)
    

二、 在docker中安装

  1. docker中拉取neo4j容器

    docker pull neo4j:3.5.1
    
    docker pull neo4j:5.7.0-enterprise
    #将镜像保存到本地
    docker save 镜像ID > 目录/文件名.tar
    #将安装包加载成镜像
    docker load < 目录/文件名.tar
    #修改镜像的名字
    docker tag 镜像ID 名字:latest
    
  2. 创建两个文件夹

    sudo mkdir data
    sudo mkdir import
    #用于挂载neo4j容器中的这两个目录    data目录权限改为 777
    sudo chmod -R 777 data
    
  3. 启动容器

    #1、先创建两个目录 一个data 用来挂载数据库文件,一个import 用来存放导入的csv文件
    sudo docker run -it -d --name neo4j --publish=7474:7474 --publish=7687:7687 -v $HOME/neo4j/import:/import  -v $HOME/neo4j/data:/data  neo4j:3.5.1
    
    #启动 neo4j 容器
    sudo docker run -d --name neo4j -p 7474:7474 -p 7687:7687 --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes neo4j:3.5.1
    
    # 5.7.0版本用docker启动
    docker run -it -d --name neo4j-flf --publish=7474:7474 --publish=7687:7687 -v /home/fanlinfeng/neo4j/5.7.0-enterprise/import:/var/lib/neo4j/import  -v /home/fanlinfeng/neo4j/5.7.0-enterprise/data:/var/lib/neo4j/data  -v /home/fanlinfeng/neo4j/5.7.0-enterprise/conf:/var/lib/neo4j/conf --env=NEO4J_ACCEPT_LICENSE_AGREEMENT=yes neo4j:5.7.0-enterprise
    
    
    #停止服务  neo4j 为容器名称或容器id
    docker stop neo4j
    #重启服务
    docker restart neo4j
    
  4. 导入数据

    #1、将数据放入docker容器中
    sudo docker cp /data12/flf/14y/e_header.csv neo4j:/import/
    
    #2、进入容器
    docker exec -it neo4j bash
    
    #3、执行命令 bin/neo4j-admin import 离线导入数据
    neo4j-admin import --database=14y.db --nodes "/import/v_header.csv,/import/vertex.csv" --relationships "/import/e_header.csv,/import/edge.csv" --delimiter='\t' --multiline-fields=true
    
    ./neo4j-admin import -database 1400w.db -nodes: ../import/1400w/Vertex_个人.csv -relationships: ../import/1400w/Edge_个人-个人-关注.csv
    
    
    #命令变动    4.X企业版变更为
    ./neo4j-admin import --database Graph500.db --id-type=ACTUAL --nodes=person=/import/Graph500/vertex.csv --relationships=know=/import/Graph500/edge.csv --delimiter='\t'
    
    # 5.7 
    bin/neo4j-admin database import full smallSchool --id-type=STRING --nodes=teacher="import/school_small/vertex/teacher.csv" --nodes=student="import/school_small/vertex/student.csv" --relationships=teach="import/school_small/relations/teach.csv" --relationships=taught="import/school_small/relations/taught.csv" --relationships=workmate="import/school_small/relations/workmate.csv" --relationships=classmate="import/school_small/relations/classmate.csv"
    
    
    #导入sf图命令
    bin/neo4j-admin database import full sf10 --id-type=INTEGER --nodes=person="/var/lib/neo4j/import/snb10/social_network/dynamic/person_0_0.csv" --nodes=comment="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_0_0.csv" --nodes=city="/var/lib/neo4j/import/snb10/social_network/static/city_0_0.csv" --nodes=university="/var/lib/neo4j/import/snb10/social_network/static/university_0_0.csv" --nodes=forum="/var/lib/neo4j/import/snb10/social_network/dynamic/forum_0_0.csv" --nodes=country="/var/lib/neo4j/import/snb10/social_network/static/country_0_0.csv" --nodes=company="/var/lib/neo4j/import/snb10/social_network/static/company_0_0.csv" --nodes=tagclass="/var/lib/neo4j/import/snb10/social_network/static/tagclass_0_0.csv" --nodes=tag="/var/lib/neo4j/import/snb10/social_network/static/tag_0_0.csv" --nodes=post="/var/lib/neo4j/import/snb10/social_network/dynamic/post_0_0.csv" --nodes=continent="/var/lib/neo4j/import/snb10/social_network/static/continent_0_0.csv" --relationships=likes="/var/lib/neo4j/import/snb10/social_network/dynamic/person_likes_comment_0_0.csv" --relationships=likes="/var/lib/neo4j/import/snb10/social_network/dynamic/person_likes_post_0_0.csv" --relationships=knows="/var/lib/neo4j/import/snb10/social_network/dynamic/person_knows_person_0_0.csv" --relationships=hasType="/var/lib/neo4j/import/snb10/social_network/static/tag_hasType_tagclass_0_0.csv" --relationships=hasMember="/var/lib/neo4j/import/snb10/social_network/dynamic/forum_hasMember_person_0_0.csv" --relationships=isLocatedIn="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_isLocatedIn_country_0_0.csv" --relationships=isLocatedIn="/var/lib/neo4j/import/snb10/social_network/dynamic/person_isLocatedIn_city_0_0.csv" --relationships=isLocatedIn="/var/lib/neo4j/import/snb10/social_network/dynamic/post_isLocatedIn_country_0_0.csv" --relationships=isLocatedIn="/var/lib/neo4j/import/snb10/social_network/static/company_isLocatedIn_country_0_0.csv" --relationships=isLocatedIn="/var/lib/neo4j/import/snb10/social_network/static/university_isLocatedIn_city_0_0.csv" --relationships=hasModerator="/var/lib/neo4j/import/snb10/social_network/dynamic/forum_hasModerator_person_0_0.csv" --relationships=replyOf="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_replyOf_comment_0_0.csv" --relationships=replyOf="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_replyOf_post_0_0.csv" --relationships=hasCreator="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_hasCreator_person_0_0.csv" --relationships=hasCreator="/var/lib/neo4j/import/snb10/social_network/dynamic/post_hasCreator_person_0_0.csv" --relationships=isSubclassOf="/var/lib/neo4j/import/snb10/social_network/static/tagclass_isSubclassOf_tagclass_0_0.csv" --relationships=workAt="/var/lib/neo4j/import/snb10/social_network/dynamic/person_workAt_company_0_0.csv" --relationships=studyAt="/var/lib/neo4j/import/snb10/social_network/dynamic/person_studyAt_university_0_0.csv" --relationships=isPartOf="/var/lib/neo4j/import/snb10/social_network/static/city_isPartOf_country_0_0.csv" --relationships=isPartOf="/var/lib/neo4j/import/snb10/social_network/static/country_isPartOf_continent_0_0.csv" --relationships=hasInterest="/var/lib/neo4j/import/snb10/social_network/dynamic/person_hasInterest_tag_0_0.csv" --relationships=hasTag="/var/lib/neo4j/import/snb10/social_network/dynamic/comment_hasTag_tag_0_0.csv" --relationships=hasTag="/var/lib/neo4j/import/snb10/social_network/dynamic/forum_hasTag_tag_0_0.csv" --relationships=hasTag="/var/lib/neo4j/import/snb10/social_network/dynamic/post_hasTag_tag_0_0.csv" --relationships=containerOf="/var/lib/neo4j/import/snb10/social_network/dynamic/forum_containerOf_post_0_0.csv" --delimiter="|"
    
    

遇到的问题:在导入ldbc-sf数据时,不同类型的点pk有重复

导入报错:

Caused by:Id '0' is defined more than once in group 'global id space'

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayBagozA-1684748524096)(/Users/linfeng/Library/Application Support/typora-user-images/image-20230517112900269.png)]

解决办法:https://neo4j.com/docs/operations-manual/current/tutorial/neo4j-admin-import/#_id_space

原始数据的表头加上label在ID后,eg:id:ID(person)

三、算法包

  1. 下载对应版本的算法包

  2. 放到 plugins 目录下

  3. 修改配置文件

    # 在配置文件中加上
    dbms.security.procedures.unrestricted=gds.*
    
    echo "dbms.security.procedures.unrestricted=gds.*" >> neo4j.conf
    
  4. 重启服务,执行 CALL gds.list() 无报错

  5. 执行算法前将图加入内存

    # 执行如下语句
    CALL gds.graph.create(
        'my-native-graph',
        'Person',
        'LIKES'
    )
    YIELD graphName, nodeCount, relationshipCount, createMillis;
    
    # 参数注释
    'my-native-graph':图名称
    'Person':点名称
    'LIKES':边名称
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值