• docker安装neo4j及py2neo的使用


    一、安装

    #拉取容器,不要拉最新版的,最新版的有bug
    docker pull neo4j:3.4
    
    #拉取可能会很慢或中断,可以使用阿里云加速地址
    vim /etc/docker/daemon.json
    
    #your_id你自己的阿里云ID号
    --registry-mirror=https://{your_id}.mirror.aliyuncs.com
    #启动容器
    docker run -it -d -p 7474:7474 -p 7687:7687 neo4j:3.4

    二、修改密码

    
    
    方法一
    进入ip:7474,初始账号密码neo4j,登入后修改密码
    方法二
    #container容器id
    docker exec --interactive --tty <container> bin/cypher-shell

    三、访问

    #http://服务器的ip:7474

    四、py2neo

    import pandas as pd
    from py2neo import Graph, Node, Relationship, NodeMatcher
    
    
    #连接neo4j数据库,输入地址、用户名、密码
    graph = Graph('http://*.*.*.*:7474', username='neo4j', password='neo4j')
    
    df=pd.read_excel(r"company.xlsx")
    
    #创建公司名节点
    for i in range(df.shape[0]): company=df.iloc[i, :][0] node = Node("COMPANY", company=company, ) graph.create(node)
    #创建公司信息节点
    for i in range(df.shape[0]): columns = df.columns.to_list() for j in columns[1:]: _node = df.iloc[i, :][j] node = Node("INFO", _node=_node,column=j) graph.create(node)
    #建立公司信息关系
    for i in range(df.shape[0]): company = df.iloc[i, :][0] matcher = NodeMatcher(graph) company_node = matcher.match("COMPANY", company=company).first() columns=df.columns.to_list() for j in columns[1:]: _node=df.iloc[i, :][j] _node=matcher.match("INFO", _node=_node,column=j).first() # print(_node,j,company_node) relationship = Relationship(_node, j, company_node) graph.create(relationship)

    数据从天眼查爬取的

    数据文件:https://pan.baidu.com/s/1g_UYUVpG9KV9T1eA6PReZQ    密码:e662

    五、cypher常用查询

    查询所有数据
    match (n) return n
    
    查询所有数据,并限制查询数据量
    match (n) return n limit 10
    
    查询某个标签的所有节点
    match (c:COMPANY) return c limit 10
    
    查询某个标签的所有节点的指定属性
    match (i:INFO) return i.column limit 100
    
    查询某个标签的所有节点的指定属性
    match (i:INFO) return i.column='公司类型' limit 100
    
    match (i:INFO { column:'公司类型' } ) return i
    
    查询注册资金都是60万相关的公司名
    match (i:INFO{_node:'60万人民币'})--(COMPANY) return i,COMPANY
    
    查询整个图中所存在的关系
    match (i:INFO)-[r]-(company:COMPANY) return type(r)
    
    查询整个图中所存在的关系并去除结果中的重复元素
    match (i:INFO)-[r]-(company:COMPANY) return distinct type(r)

    查询2家公司相同的信息
    match (c1:COMPANY{company:"上海贯德国际贸易有限公司"}),(c2:COMPANY{company:"甘肃谷森新能源科技有限公司"}),r=((c1)-[*..3]-(c2)) return r
  • 相关阅读:
    PHP实现bitmap算法
    c++高性能web框架drogon入门教程五:实例小项目,web和api实例代码
    c++高性能web框架drogon入门教程四,orm使用,csp使用
    c++高性能web框架 drogon入门教程三 控制器和数据库客户端使用
    c++高性能web框架drogon入门教程二 windows10下安装drogon,配合vscoede搭建开发环境
    关于tiobe编程语言排行榜的开发语言排名有什么实际作用吗?
    Effective C++的50条建议
    php-cli命令行选项
    php调用kafka消息队列
    php调用rabbitmq实现订单消费队列,和延时消费队列
  • 原文地址:https://www.cnblogs.com/angelyan/p/12604410.html
Copyright © 2020-2023  润新知