neo4jneo4j入门


备注

本节概述了neo4j是什么,以及开发人员可能想要使用它的原因。

它还应该提到neo4j中的任何大型主题,并链接到相关主题。由于neo4j的文档是新的,您可能需要创建这些相关主题的初始版本。

Cypher查询语言

这是Cypher,Neo4j的查询语言。在许多方面,如果您熟悉它,Cypher与SQL类似,除了SQL指的是存储在表中的项目,而Cypher指的是存储在图形中的项目。

首先,我们应该从学习如何创建图表和添加关系开始,因为这基本上就是Neo4j的全部内容。

CREATE (ab:Object { age: 30, destination: "England", weight: 99 })
 
  • 您使用CREATE来创建数据
  • 要指示节点,请使用括号:()
  • ab:Object部分可以按如下方式细分:变量'ab'和新节点的标签'Object'。请注意,变量可以是任何变量,但您必须在Cypher Query行中保持一致
  • 要向节点添加属性,请使用括号:{}括号

接下来,我们将学习如何找到MATCH

MATCH (abc:Object) WHERE abc.destination = "England" RETURN abc;
 

MATCH指定您要搜索某个节点/关系模式(abc:Object)是指一个节点Pattern(带有标签Object),它将匹配存储在变量abc中。您可以将整行视为以下内容

abc =  find the matches that is an Object WHERE the destination is England.
 

在这种情况下,WHERE添加一个约束,即目标必须是英格兰。您必须在所有MATCH查询的末尾包含一个返回值(neo4j不会只接受匹配...您的查询必须始终返回一些值[这也取决于您正在编写的查询类型...我们将更多地讨论稍后我们将介绍您可以制作的其他类型的查询]。

在我们讨论了Cypher查询语言的更多元素之后,将在未来解释下一行。这是为了让您体验一下我们用这种语言可以做些什么!下面,您将找到一个示例,其中包含标题以“T”开头的电影

MATCH (actor:Person)-[:ACTED_IN]->(movie:Movie)
WHERE movie.title STARTS WITH "T"
RETURN movie.title AS title, collect(actor.name) AS cast
ORDER BY title ASC LIMIT 10;
 

完整的命令列表及其语法可在此处的官方Neo4j Cypher参考卡中找到

安装和启动Neo4j服务器

先决条件步骤:

  • 在您的计算机上安装Java
  • 访问neo4j网站 ,然后单击“下载社区版” 链接或直接访问下载链接
  • 将.tar下载的文件解压缩到主目录中

从控制台启动Neo4j(无头,没有Web服务器)

  • 访问解压缩文件夹的子目录/bin ,并在终端./neo4j console 执行
  • 您现在可以在终端中执行neo4j查询

启动Neo4j Web服务器

  • 访问解压缩文件夹的子目录/ bin,并在终端./neo4j start 执行
  • 访问http:// localhost:7474 /
  • 只有第一次,您必须使用默认帐户登录并更改默认密码。从社区版本3.0.3开始,默认用户名和密码是neo4j和neo4j。
  • 您现在可以在Web浏览器中提供的控制台中插入Neo4j查询,并直观地调查每个查询的结果。

启动Neo4j Web服务器

目前每个Neo4j服务器(在社区版中)可以托管一个Neo4j数据库,因此为了设置新的数据库:

  • 访问子目录/bin 并执行./neo4j stop 以停止服务器
  • 访问子目录/conf 并编辑neo4j.conf 文件,将参数dbms.active_database 的值更改为要创建的新数据库的名称。
  • 再次访问子目录/ bin并执行./neo4j start
  • Web服务器已使用新的空数据库再次启动。您可以再次访问http:// localhost:7474 /以使用新数据库。
  • 创建的数据库位于子目录/data/databases ,位于参数dbms.active_database 指定名称的文件夹下。

删除其中一个数据库

  • 确保Neo4j服务器没有运行;转到子目录/ bin并执行./neo4j status 。如果输出消息显示服务器正在运行,则执行./neo4j stop

  • 然后转到子目录/数据/数据库并删除要删除的数据库的文件夹。

安装或设置

转到安装Neo4j ,它应该通过Web浏览器检测OS平台,下载并按照操作系统的常规安装说明进行操作。

Neo4j是用Java创建的,因此可以在安装了Java的任何平台上运行,但是Neo4j团队通过为流行平台提供简单的安装包来简化安装(例如,针对Mac的.dmg,针对Debian和Ubuntu的.deb,.exe。适用于Windows 64和32位平台......)。

要查看其他可用的版本和平台,请参阅其他Neo4j版本页面

将Neo4j设置为Docker容器:

## Required : Docker machine, docker cli

# Pull neo4j image from the docker hub
docker pull neo4j

# create the docker container
docker run \
    --publish=7474:7474 --publish=7687:7687 \
    --volume=$HOME/neo4j/data:/data \
    neo4j

# If you are running docker directly on the host (e.g ubuntu, RHEL, CentOs etc)
#     Access the neo4j console at http://localhost:7474
# If you are on OSX/ Windows
#     Access the neo4j console at http://<docker-machine-ip>:7474
 

RDBMS与图数据库

RDBMS 图数据库
图表
节点
列和数据属性及其值
约束关系
加盟穿越