• neo4j图数据库安装以及基本操作命令


    neo4j图数据安装以及基本操作命令

    neo4j安装配置使用,
    安装环境:Ubuntu系统
    jdk1.8 (neo4j 只支持jdk1.8以上版本)

    1. 下载 neo4j
      neo4j的下载window可以下载 exe 安装包。
      Linux 环境 可以下载NEO4J-SERVER,分为免费的社区版(Community), 收费的企业版(Enterprise)
      https://neo4j.com/download/other-releases/#releases
      https://neo4j.com/artifact.php?name=neo4j-community-3.3.2-unix.tar.gz
    2. 安装neo4j
    cd ~/soft/
    tar -zxvf neo4j-community-3.3.2-unix.tar.gz
    cd neo4j-community-3.3.2/
    

    配置环境变量
    vi /etc/profile

    export NEO4J_HOME=/home/hadoop/soft/neo4j-community-3.3.2
    export PATH=$NEO4J_HOME/bin:$PATH
    

    另外,修改配置文件/etc/security/limits.conf ,增加下面配置。

    hadoop  soft   nofile  65535  #警告设定hadoop用户最大打开文件数为65535
    hadoop  hard   nofile  65535  #严格设定hadoop用户最大打开文件数为65535
    

    修改neo4j对外服务IP地址:
    vi conf/neo4j.conf

    dbms.connectors.default_listen_address=0.0.0.0
    

    Neo4j服务关闭启动

    neo4j  start  ## 启动neo4j
    neo4j  stop   ## 关闭neo4j
    

    Neo4j连接地址
    通过浏览器访问:

    http://192.168.17.50:7474
    

    需要输入密码,默认用户名/密码是:neo4j/neo4j

    程序访问URL: bolt://192.168.17.50:7687

    重置密码:
    删掉 ~ eo4j-community-3.3.2/data/dbms/路径的auth文件后重新设置密码。

    命令行操作neo4j:
    ./cypher-shell


    Neo4j 基本操作命令

    1. 创建一个graph
    CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
    CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
    CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
    CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
    CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
    CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
    CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
    CREATE (JoelS:Person {name:'Joel Silver', born:1952})
    CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
      (LillyW)-[:DIRECTED]->(TheMatrix),
      (LanaW)-[:DIRECTED]->(TheMatrix),
      (JoelS)-[:PRODUCED]->(TheMatrix)
    
    CREATE (Emil:Person {name:"Emil Eifrem", born:1978})
    CREATE (Emil)-[:ACTED_IN {roles:["Emil"]}]->(TheMatrix)
    
    CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'})
    CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrixReloaded),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrixReloaded),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrixReloaded),
      (LillyW)-[:DIRECTED]->(TheMatrixReloaded),
      (LanaW)-[:DIRECTED]->(TheMatrixReloaded),
      (JoelS)-[:PRODUCED]->(TheMatrixReloaded)
    
    CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'})
    CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrixRevolutions),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrixRevolutions),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrixRevolutions),
      (LillyW)-[:DIRECTED]->(TheMatrixRevolutions),
      (LanaW)-[:DIRECTED]->(TheMatrixRevolutions),
      (JoelS)-[:PRODUCED]->(TheMatrixRevolutions)
    
    CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'})
    CREATE (Charlize:Person {name:'Charlize Theron', born:1975})
    CREATE (Al:Person {name:'Al Pacino', born:1940})
    CREATE (Taylor:Person {name:'Taylor Hackford', born:1944})
    CREATE
      (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate),
      (Charlize)-[:ACTED_IN {roles:['Mary Ann Lomax']}]->(TheDevilsAdvocate),
      (Al)-[:ACTED_IN {roles:['John Milton']}]->(TheDevilsAdvocate),
      (Taylor)-[:DIRECTED]->(TheDevilsAdvocate)
    
    CREATE (AFewGoodMen:Movie {title:"A Few Good Men", released:1992, tagline:"In the heart of the nation's capital, in a courthouse of the U.S. government, one man will stop at nothing to keep his honor, and one will stop at nothing to find the truth."})
    CREATE (TomC:Person {name:'Tom Cruise', born:1962})
    CREATE (JackN:Person {name:'Jack Nicholson', born:1937})
    CREATE (DemiM:Person {name:'Demi Moore', born:1962})
    CREATE (KevinB:Person {name:'Kevin Bacon', born:1958})
    CREATE (KieferS:Person {name:'Kiefer Sutherland', born:1966})
    CREATE (NoahW:Person {name:'Noah Wyle', born:1971})
    CREATE (CubaG:Person {name:'Cuba Gooding Jr.', born:1968})
    CREATE (KevinP:Person {name:'Kevin Pollak', born:1957})
    CREATE (JTW:Person {name:'J.T. Walsh', born:1943})
    CREATE (JamesM:Person {name:'James Marshall', born:1967})
    CREATE (ChristopherG:Person {name:'Christopher Guest', born:1948})
    CREATE (RobR:Person {name:'Rob Reiner', born:1947})
    CREATE (AaronS:Person {name:'Aaron Sorkin', born:1961})
    CREATE
      (TomC)-[:ACTED_IN {roles:['Lt. Daniel Kaffee']}]->(AFewGoodMen),
      (JackN)-[:ACTED_IN {roles:['Col. Nathan R. Jessup']}]->(AFewGoodMen),
      (DemiM)-[:ACTED_IN {roles:['Lt. Cdr. JoAnne Galloway']}]->(AFewGoodMen),
      (KevinB)-[:ACTED_IN {roles:['Capt. Jack Ross']}]->(AFewGoodMen),
      (KieferS)-[:ACTED_IN {roles:['Lt. Jonathan Kendrick']}]->(AFewGoodMen),
      (NoahW)-[:ACTED_IN {roles:['Cpl. Jeffrey Barnes']}]->(AFewGoodMen),
      (CubaG)-[:ACTED_IN {roles:['Cpl. Carl Hammaker']}]->(AFewGoodMen),
      (KevinP)-[:ACTED_IN {roles:['Lt. Sam Weinberg']}]->(AFewGoodMen),
      (JTW)-[:ACTED_IN {roles:['Lt. Col. Matthew Andrew Markinson']}]->(AFewGoodMen),
      (JamesM)-[:ACTED_IN {roles:['Pfc. Louden Downey']}]->(AFewGoodMen),
      (ChristopherG)-[:ACTED_IN {roles:['Dr. Stone']}]->(AFewGoodMen),
      (AaronS)-[:ACTED_IN {roles:['Man in Bar']}]->(AFewGoodMen),
      (RobR)-[:DIRECTED]->(AFewGoodMen),
      (AaronS)-[:WROTE]->(AFewGoodMen)
    
    WITH TomH as a
    MATCH (a)-[:ACTED_IN]->(m)<-[:DIRECTED]-(d) RETURN a,m,d LIMIT 10
    ;
    
    1. 查找名字叫 “Tom Hanks” 的演员
    MATCH (tom {name: "Tom Hanks"}) RETURN tom
    
    1. 查找 标题包含"Cloud Atlas"的电影 “”Find the movie with title "Cloud Atlas"...
    MATCH (cloudAtlas {title: "Cloud Atlas"}) RETURN cloudAtlas
    
    1. 查找10个人的名字
    MATCH (people:Person) RETURN people.name LIMIT 10
    
    1. 查找1990年到 2000年上映的电影
    MATCH (nineties:Movie) WHERE nineties.released >= 1990 AND nineties.released < 2000 RETURN nineties.title
    
    1. 查找出 "Tom Hanks" 表演的所有电影
    MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) RETURN tom,tomHanksMovies
    
    1. 查找出电影 "Cloud Atlas"的导演是谁?
    MATCH (cloudAtlas {title: "Cloud Atlas"})<-[:DIRECTED]-(directors) RETURN directors.name
    
    1. 查找出 Tom Hanks 的合作演员
    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name
    
    1. 人们怎么和"Cloud Atlas" 产生关系?
    MATCH (people:Person)-[relatedTo]-(:Movie {title: "Cloud Atlas"}) RETURN people.name, Type(relatedTo), relatedTo
    
    1. 距离演员"Kevin Bacon" 4度的影片和演员
    MATCH (bacon:Person {name:"Kevin Bacon"})-[*1..4]-(hollywood)
    RETURN DISTINCT hollywood
    
    1. "Kevin Bacon" 和 "Meg Ryan" 之间的最短路径
    MATCH p=shortestPath(
      (bacon:Person {name:"Kevin Bacon"})-[*]-(meg:Person {name:"Meg Ryan"})
    )
    RETURN p
    
    1. 找到"Tom Hanks"合作过的演员的 合作演员,从中找出没有和"Tom Hanks"合作过的。
    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
          (coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors)
    WHERE NOT (tom)-[:ACTED_IN]->()<-[:ACTED_IN]-(cocoActors) AND tom <> cocoActors
    RETURN cocoActors.name AS Recommended, count(*) AS Strength ORDER BY Strength DESC
    
    1. 找一个能把 "Tom Hanks" 介绍给 "Tom Cruise" 的人。即把这两个人之间的路径展示出来。
    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
          (coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cruise:Person {name:"Tom Cruise"})
    RETURN tom, m, coActors, m2, cruise
    
    1. 删除所有的电影和影人节点,包括他们之间的关系
    MATCH (n) DETACH DELETE n
    
    1. 查看图的内容是否已经清空:
    MATCH (n) RETURN n
    
  • 相关阅读:
    varnish缓存清理
    How to change default root@ email address linux / postfix / centos?
    crontab每小时运行一次
    awk 统计文件中按照某列统计某列的和(sum)
    Linux下查看压缩文件内容的 10 种方法
    python 脚本定时删除 elk索引
    python 如何让字符串的不具有转义的反斜杠具有转义功能
    Linux安装redis和部署
    redis requires Ruby version >= 2.2.2问题
    Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案
  • 原文地址:https://www.cnblogs.com/honeybee/p/8383805.html
Copyright © 2020-2023  润新知