`
liujiekasini0312
  • 浏览: 147160 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Neo4j介绍与使用

 
阅读更多

Neo4j简介

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。

图形数据结构

在一个图中包含两种基本的数据类型:Nodes(节点) 和 Relationships(关系)。Nodes 和 Relationships 包含key/value形式的属性。Nodes通过Relationships所定义的关系相连起来,形成关系型网络结构。

网络结构图

Neo4j安装

Neo4j可以被安装成一个独立运行的服务端程序,客户端程序通过REST API进行访问。也可以嵌入式安装,即安装为编程语言的第三方类库,目前只支持JavaPython语言。

因Neo4j是用java语言开发的,所以确保将要安装的机器上已安装了jre或者jdk

安装为服务

此种安装方式简单,各平台安装过程基本一样

  1. http://neo4j.org/download上下载最新的版本,根据安装的平台选择适当的版本。
  2. 解压安装包,解压后运行终端,进入解压后文件夹中的bin文件夹。
  3. 在终端中运行命令完成安装

    Linux/MacOS系统neo4j install
    Windows系统Neo4j.bat install

  4. 在终端中运行命令开启服务

    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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Neo4j图形数据库示例
#
fromneo4j importGraphDatabase, INCOMING
# 创建或连接数据库
db =GraphDatabase('neodb')
# 在一个事务内完成写或读操作
with db.transaction:
#创建用户组节点
users =db.node()
# 连接到参考节点,方便查找
db.reference_node.USERS(users)
# 为用户组建立索引,便于快速查找
user_idx =db.node.indexes.create('users')
#创建用户节点
defcreate_user(name):
with db.transaction:
user =db.node(name=name)
user.INSTANCE_OF(users)
# 建立基于用户name的索引
user_idx['name'][name] =user
returnuser
#根据用户名获得用户节点
defget_user(name):
returnuser_idx['name'][name].single
#建立节点
forname in['user1', 'user2','user3','user4']:
create_user(name)
#为节点间添加关注关系(FOLLOWS)
with db.transaction:
get_user('user2').FOLLOWS(get_user('user1'))
get_user('user3').FOLLOWS(get_user('user1'))
get_user('user4').FOLLOWS(get_user('user3'))
# 获得用户1的粉丝
forrelationship inget_user('user1').FOLLOWS.incoming:
u =relationship.start
printu['name']
#输出结果:user2,user3
#为用户4推荐好友,即该用户关注的用户所关注的用户
nid =get_user('user4').id
#设置查询语句
query ="START n=node({id}) MATCH n-[:FOLLOWS]->m-[:FOLLOWS]->fof RETURN n,m,fof"
forrow indb.query(query,id=nid):
node =row['fof']
printnode['name']
#输出结果:user1

  

<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介绍.pptx

    Neo4j 介绍 Neo4j 是一个开源的 NoSQL 图数据库,应用图形理论存储实体之间的关系信息,以“图”这种数据结构做为逻辑结构存储和查询数据。Neo4j 具有高效存储和查询关联数据的优势,在需要表示多对多关系时,可以...

    Neo4j的详细使用教程

    本教程将详细介绍Neo4j的基本概念、安装、配置、使用Cypher查询语言以及数据库的安全性和监控等。 首先,介绍图形数据库的概念。与传统的关系型数据库将数据存储在表格中不同,图形数据库通过图模型存储数据,其中...

    neo4j官方使用手册3.1

    在3.1版本中,官方手册详细介绍了如何安装、配置、管理和优化 Neo4j,以及如何使用Cypher查询语言进行数据操作。以下是基于该手册的关键知识点的详细解释: 1. **安装与配置** - **安装**: Neo4j通常提供可执行的...

    Neo4j中文使用手册

    - **Neo4j浏览器**:介绍如何使用Neo4j浏览器进行数据可视化和管理。 - **图形界面**:提供直观的操作界面,便于用户操作。 **2. Neo4j命令行** - **命令行工具**:Neo4j提供一系列命令行工具,用于数据库管理。 -...

    Neo4j官方中文文档-翻译

    1. **简介与安装**:这部分会介绍Neo4j的基本概念,包括其设计理念和核心特性。还会详述如何在不同的操作系统上下载、安装和启动Neo4j服务器。 2. **Cypher查询语言**:Cypher是Neo4j的声明式图查询语言,类似于SQL...

    Neo4j中文使用手册以及例子

    本手册将详细介绍Neo4j的使用方法,并提供一些实例帮助理解。 1. **图形数据库基础** - 图数据模型:由节点(Nodes)、关系(Relationships)和属性(Properties)组成,适合表示实体间的复杂关系。 - Cypher查询...

    neo4j学习资料汇总(各种优质博文和neo4j教程整理)

    │ 图数据库-Neo4j介绍与Cypher入门.html │ 图数据库之Cypher语言 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 图数据库之neo4j-jdbc的使用 - 活的洒脱怪我咯的专栏 - CSDN博客.html │ 数据分页处理系列之三:...

    neo4j图数据库官方使用手册-3.0

    3.0版本的官方使用手册详细介绍了如何安装、配置、操作和优化Neo4j,为开发者和管理员提供了全面的指导。以下是手册中涵盖的关键知识点: 1. **安装与启动**:手册首先介绍了Neo4j的安装过程,包括Windows、Linux和...

    Neo4j学习-Neo4j入门-Neo4j文档

    1. **安装与启动**:介绍如何在不同的操作系统上安装Neo4j,包括下载、解压、配置环境变量和启动服务等步骤。 2. **数据模型**:解释Neo4j中的核心概念——节点(Nodes)、关系(Relationships)和属性(Properties...

    Neo4j介绍及实现原理

    本文档介绍了什么是图数据库,NEO4J介绍,Docker环境搭建,NEOJ CQL查询语言及Spring Boot 整合Neo4j

    vue+neo4j +纯前端(neovis.js / neo4j-driver) 实现 知识图谱的集成 大干货

    vue+neo4j+(neovis.js / neo4j-driver)纯前端实现知识图谱的集成 ...Neovis.js与Neo4j的连接非常简单明了,并且Neovis 的数据格式与那neo4j数据库保持一致。在单个配置对象中定义标签、属性、节点和关系的样式和颜色

    neo4j使用文档(英文版)

    - 介绍了如何部署和配置Neo4j服务器,以及如何使用REST API与服务器交互。 - 讨论了如何通过扩展Neo4j服务器来增加自定义功能。 以上内容概述了《neo4j使用文档》中涵盖的主要知识点,从Neo4j的基本概念到具体的...

    Neo4j Developer Manual 3.0 Java

    通过以上概述可以看出,《Neo4j Developer Manual 3.0 Java》为开发者提供了全面深入的学习资源,不仅涵盖了Neo4j的基础知识和技术要点,还详细介绍了如何使用Cypher语言以及Neo4j提供的其他工具和服务来开发高效的...

    SpringBoot整合neo4j案例源码

    本篇将详细介绍如何在SpringBoot项目中整合Neo4j。 ### 1. 安装与配置 首先,确保已安装Neo4j数据库。下载并启动 Neo4j 社区版或企业版,配置相应的端口(默认7474)和数据存储目录。 在SpringBoot项目中,通过...

    关于Neo4J如何创建新的项目的介绍

    关于Neo4J如何创建新的项目的介绍

    Neo4j优劣点的介绍

    比较详细的介绍了Neo4j的各种优点与缺点,并介绍了Neo4j跟其他图形数据库的比较。

    Centos 7.4_neo4j3.4.11企业版 + Haproxy 1.79 高可用集群部署.docx

    本文档介绍了如何部署 Neo4j 高可用集群,并使用 Haproxy 来代理集群。这种结构可以提供高可用性和可靠性,避免单点故障。使用 Neo4j 和 Haproxy,可以构建高性能和高可用的图形数据库管理系统。

    Neo4j Ogm Manual 2.0

    - **依赖管理**:通过Maven等工具管理项目依赖,确保项目中使用的Neo4j OGM版本与Neo4j数据库兼容。 #### 六、节点和关系 - **节点**:代表实体对象,可以通过注解来定义其属性。 - **关系**:连接两个节点的边,...

    neo4j-chs-community-4.2.4-windows(图形化数据库安装包)

    Neo4j是一款强大的图形数据库系统,...通过以上介绍,你应该对如何安装和使用Neo4j有了基本的了解。随着对Cypher的熟练掌握和对图形数据库特性的理解,你可以充分利用Neo4j来处理复杂的关系数据,构建和探索知识图谱。

    Neo4j开发手册.pdf

    接下来是入门部分,介绍了如何开始使用Neo4j,包括安装Neo4j和开始使用Cypher查询语言。Cypher是Neo4j的声明式查询语言,允许开发者编写和执行图形查询,其语法清晰且易于学习。 Cypher查询语言部分为Cypher的详细...

Global site tag (gtag.js) - Google Analytics