Neo4j简介
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。
图形数据结构
在一个图中包含两种基本的数据类型:Nodes(节点) 和 Relationships(关系)。Nodes 和 Relationships 包含key/value形式的属性。Nodes通过Relationships所定义的关系相连起来,形成关系型网络结构。
Neo4j安装
Neo4j可以被安装成一个独立运行的服务端程序,客户端程序通过REST API进行访问。也可以嵌入式安装,即安装为编程语言的第三方类库,目前只支持Java和Python语言。
因Neo4j是用java语言开发的,所以确保将要安装的机器上已安装了jre或者jdk
安装为服务
此种安装方式简单,各平台安装过程基本一样
- 从http://neo4j.org/download上下载最新的版本,根据安装的平台选择适当的版本。
- 解压安装包,解压后运行终端,进入解压后文件夹中的bin文件夹。
- 在终端中运行命令完成安装
Linux/MacOS系统neo4j install
Windows系统Neo4j.bat install
- 在终端中运行命令开启服务
Linux/MacOS系统service neo4j-service start
Windows系统Neo4j.bat start
通过stop
命令可以关闭服务,status
命令查看运行状态
支持python嵌入式安装
第一步:安装Jpype
从http://sourceforge.net/projects/jpype/files/JPype/下载最新版本,windows有exe格式的直接安装程序,linux平台要下载源码包,解压后运行sudo
python setup.py install
完成安装
第二步:安装 neo4j-embedded
如果安装了python的包管理工具 pip 或者 easy_install 可直接运行
Pip install neo4j-embedded
easy_install neo4j-embedded
也可以从http://pypi.python.org/pypi/neo4j-embedded/下载相应的安装包完成安装。
Neo4j使用实例
有如下所示的用户关注关系所形成的关系网络
现在利用图形数据库进行数据的储存,并获得user1 的粉丝,并为user4 推荐好友
示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
from neo4j
import GraphDatabase,
INCOMING
db
= GraphDatabase( 'neodb' )
with
db.transaction:
users
= db.node()
db.reference_node.USERS(users)
user_idx
= db.node.indexes.create( 'users' )
def create_user(name):
with
db.transaction:
user
= db.node(name = name)
user.INSTANCE_OF(users)
user_idx[ 'name' ][name]
= user
return user
def get_user(name):
return user_idx[ 'name' ][name].single
for name
in [ 'user1' ,
'user2' , 'user3' , 'user4' ]:
create_user(name)
with
db.transaction:
get_user( 'user2' ).FOLLOWS(get_user( 'user1' ))
get_user( 'user3' ).FOLLOWS(get_user( 'user1' ))
get_user( 'user4' ).FOLLOWS(get_user( 'user3' ))
for relationship
in get_user( 'user1' ).FOLLOWS.incoming:
u
= relationship.start
print u[ 'name' ]
nid
= get_user( 'user4' ). id
query
= "START
n=node({id}) MATCH n-[:FOLLOWS]->m-[:FOLLOWS]->fof RETURN n,m,fof"
for row
in db.query(query, id = nid):
node
= row[ 'fof' ]
print node[ 'name' ]
|
<script type="text/javascript"><!-- google_ad_client = "ca-pub-1944176156128447"; /* cnblogs 首页横幅 */ google_ad_slot = "5419468456"; google_ad_width = 728; google_ad_height
= 90; //--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
分享到:
相关推荐
Neo4j 介绍 Neo4j 是一个开源的 NoSQL 图数据库,应用图形理论存储实体之间的关系信息,以“图”这种数据结构做为逻辑结构存储和查询数据。Neo4j 具有高效存储和查询关联数据的优势,在需要表示多对多关系时,可以...
本教程将详细介绍Neo4j的基本概念、安装、配置、使用Cypher查询语言以及数据库的安全性和监控等。 首先,介绍图形数据库的概念。与传统的关系型数据库将数据存储在表格中不同,图形数据库通过图模型存储数据,其中...
在3.1版本中,官方手册详细介绍了如何安装、配置、管理和优化 Neo4j,以及如何使用Cypher查询语言进行数据操作。以下是基于该手册的关键知识点的详细解释: 1. **安装与配置** - **安装**: Neo4j通常提供可执行的...
- **Neo4j浏览器**:介绍如何使用Neo4j浏览器进行数据可视化和管理。 - **图形界面**:提供直观的操作界面,便于用户操作。 **2. Neo4j命令行** - **命令行工具**:Neo4j提供一系列命令行工具,用于数据库管理。 -...
1. **简介与安装**:这部分会介绍Neo4j的基本概念,包括其设计理念和核心特性。还会详述如何在不同的操作系统上下载、安装和启动Neo4j服务器。 2. **Cypher查询语言**:Cypher是Neo4j的声明式图查询语言,类似于SQL...
本手册将详细介绍Neo4j的使用方法,并提供一些实例帮助理解。 1. **图形数据库基础** - 图数据模型:由节点(Nodes)、关系(Relationships)和属性(Properties)组成,适合表示实体间的复杂关系。 - Cypher查询...
│ 图数据库-Neo4j介绍与Cypher入门.html │ 图数据库之Cypher语言 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 图数据库之neo4j-jdbc的使用 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 数据分页处理系列之三:...
3.0版本的官方使用手册详细介绍了如何安装、配置、操作和优化Neo4j,为开发者和管理员提供了全面的指导。以下是手册中涵盖的关键知识点: 1. **安装与启动**:手册首先介绍了Neo4j的安装过程,包括Windows、Linux和...
1. **安装与启动**:介绍如何在不同的操作系统上安装Neo4j,包括下载、解压、配置环境变量和启动服务等步骤。 2. **数据模型**:解释Neo4j中的核心概念——节点(Nodes)、关系(Relationships)和属性(Properties...
本文档介绍了什么是图数据库,NEO4J介绍,Docker环境搭建,NEOJ CQL查询语言及Spring Boot 整合Neo4j
vue+neo4j+(neovis.js / neo4j-driver)纯前端实现知识图谱的集成 ...Neovis.js与Neo4j的连接非常简单明了,并且Neovis 的数据格式与那neo4j数据库保持一致。在单个配置对象中定义标签、属性、节点和关系的样式和颜色
- 介绍了如何部署和配置Neo4j服务器,以及如何使用REST API与服务器交互。 - 讨论了如何通过扩展Neo4j服务器来增加自定义功能。 以上内容概述了《neo4j使用文档》中涵盖的主要知识点,从Neo4j的基本概念到具体的...
通过以上概述可以看出,《Neo4j Developer Manual 3.0 Java》为开发者提供了全面深入的学习资源,不仅涵盖了Neo4j的基础知识和技术要点,还详细介绍了如何使用Cypher语言以及Neo4j提供的其他工具和服务来开发高效的...
本篇将详细介绍如何在SpringBoot项目中整合Neo4j。 ### 1. 安装与配置 首先,确保已安装Neo4j数据库。下载并启动 Neo4j 社区版或企业版,配置相应的端口(默认7474)和数据存储目录。 在SpringBoot项目中,通过...
关于Neo4J如何创建新的项目的介绍
比较详细的介绍了Neo4j的各种优点与缺点,并介绍了Neo4j跟其他图形数据库的比较。
本文档介绍了如何部署 Neo4j 高可用集群,并使用 Haproxy 来代理集群。这种结构可以提供高可用性和可靠性,避免单点故障。使用 Neo4j 和 Haproxy,可以构建高性能和高可用的图形数据库管理系统。
- **依赖管理**:通过Maven等工具管理项目依赖,确保项目中使用的Neo4j OGM版本与Neo4j数据库兼容。 #### 六、节点和关系 - **节点**:代表实体对象,可以通过注解来定义其属性。 - **关系**:连接两个节点的边,...
Neo4j是一款强大的图形数据库系统,...通过以上介绍,你应该对如何安装和使用Neo4j有了基本的了解。随着对Cypher的熟练掌握和对图形数据库特性的理解,你可以充分利用Neo4j来处理复杂的关系数据,构建和探索知识图谱。
接下来是入门部分,介绍了如何开始使用Neo4j,包括安装Neo4j和开始使用Cypher查询语言。Cypher是Neo4j的声明式查询语言,允许开发者编写和执行图形查询,其语法清晰且易于学习。 Cypher查询语言部分为Cypher的详细...