关于ubuntu下neo4j的安装与使用

来源:互联网 发布:辽宁2016经济数据 编辑:程序博客网 时间:2024/05/14 20:11

neo4j的介绍

  Neo4j是一个高性能的,Nosql图形数据库。Nosql =no sql,即与传统的将数据结构化并存储在表中的数据库不一样。Neo4j将数据存储在网络上,我们也可以把Neo4j视为一个图引擎。我们打交道的是一个面对对象的、灵活的网络结构而不是严格的、静态的表。传统关系型数据库,当数据量很大时,查询性能会明显受影响,尤其是一度以上的查询。但是图形数据库却在这方面表现得很好。
neo4j 支持多种主流编程语言,包括.Net、Java、JavaScript、Python

neo4j的安装

  neo4j的下载可以到官网下载community版本,而我将下载好的东西放到百度网盘上,大约就61M左右,https://pan.baidu.com/s/1jIDdhbw
  下载好neo4j-community-3.0.7-unix.tar.gz,解压到指定的目录中,然后用终端跳到目录/neo4j-community-3.0.7/bin
  输入命令./neo4j console,如图:
  这里写图片描述
  
  然后网页浏览http://localhost:7474/, 就会看到neo4j的后台界面,如图,初次默认用户名和密码是 neo4j/neo4j
  这里写图片描述

关于安装的问题

 由于neo4j支持的jdk为1.8以上,所以如果系统为jdk1.7以下会出现类似ERROR! Neo4j cannot be started using java version 1.7.0_111.的情况.不过解决这个办法有很多,不需要卸载jdk1.7,可以再下载jdk1.8,然后在/etc/profile更换JAVA_HOME和PATH的路径
 不过,由于我之前安装hadoop,使得java_home是jdk1.7,而修改路径的文件是./bash.rc,所以搞了很久才发现是这个错误.由于./bash.rc是用户级别的启动文件,而/etc/profile为系统级别的启动文件,开机时的执行顺序为系统级别,再到用户级别的启动文件,所以用户级别的路径覆盖了系统级别.最后,我将./bash.rc的export JAVA_HOME注释掉就解决了

关于neo4j的编程使用

既然Neo4j是数据库,则必然有它自己的查询语言。Cypher是一种面向图形的申明式语言。它由分句、关键词和一些表示判断、代表函数的语句组成。比如:WHERE,ORDER BY,SKIP LIMIT ,p.unitPrice > 10。例如,我们可以以这段代码为例:

CREATE (matrix:Movie { title:"The Matrix",released:1997 })CREATE (cloudAtlas:Movie { title:"Cloud Atlas",released:2012 })CREATE (forrestGump:Movie { title:"Forrest Gump",released:1994 })CREATE (keanu:Person { name:"Keanu Reeves", born:1964 })CREATE (robert:Person { name:"Robert Zemeckis", born:1951 })CREATE (tom:Person { name:"Tom Hanks", born:1956 })CREATE (tom)-[:ACTED_IN { roles: ["Forrest"]}]->(forrestGump)CREATE (tom)-[:ACTED_IN { roles: ['Zachry']}]->(cloudAtlas)CREATE (robert)-[:DIRECTED]->(forrestGump)RETURN matrix,cloudAtlas,forrestGump,keanu,robert,tom

然后在后台界面中运行,得到如下结果:
这里写图片描述

0 0