`
qindongliang1922
  • 浏览: 2188393 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117658
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:126062
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:60010
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71396
社区版块
存档分类
最新评论

图形数据库之Neo4j学习(一)

阅读更多





最近工作需要使用图形数据库来构建知识图谱,目前基于Java使用最广泛的有两个开源框架


(1) neo4j

社区版 免费

企业版 收费

(2) Titan

全开源

我们此次选择了neo4j的社区版,主要是项目紧,neo4j比较稳定,Titan可能比较新,虽然Titan肯定是未来的主流,我个人是看好Titan的,Neo4j没法存储巨大的一张关系图 ,因为他不支持分片,而Titan是天生分布式的,可以构建在Hbase,Cassandra之上外加+ES或者Solr存储索引,非常强大,再此不在过多
对比两个图形数据库的优缺点,后面有机会再来专门写文章叙述。


什么是图形数据库?

图形数据库(Graph Database)是利用计算机将点、线、画霹图形基本元素按一定数据结同造型存储的数据集合。

最早应该使用在社交场景,比如QQ的几度空间关系图,除了社交应用之外,图数据库同很多应用可以工作。很多应用可以自然扩展使用图形类型的关系。比如,好多内嵌在社交应用中的推荐系统常常都是基于图形的系统。图数据库由一系列结点和边界组成;每一个结点代表了一个实体,每一个边界代表了两个结点之间的一种连接或者关系。



Neo4j的安装

本次方便快速开发测试,安装平台是在Windows上。

下载地址:
https://neo4j.com/download/community-edition/

选择版本下载




下载后,解压到某个盘符下面,我这里用的最新的的版本,需要JDK8支持,这一点需要注意下
,JDK8我已经安装,下载解压后,需要先配置Neo4j的环境变量:

NEO4J_HOME = E:\2016\neo4j-community-3.0.6
然后PATH里面加入:%NEO4J_HOME%\bin

如果是Liunx:
 
NEO4J_HOME=/home/search/neo4j 
export CLASSPATH=$CLASSPATH:NEO4J_HOME/lib
export PATH=$PATH:$NEO4J_HOME/bin





打开cmd窗口后,切到neo4j根目录,执行:

neo4j.bat会给出下面的几个参数提示

start
stop
console
restart
status
install-service
uninstall-service
Verbose

然后我们执行
neo4j.bat console

以控制台方式启动,方便调试开发

启动之后,在浏览器访问http://localhost:7474

默认的用户名和密码是neo4j neo4j 登录之后需要修改




在页面最上面的cypher的执行器里面,插入一些数据:
CREATE 
 (p1:Person {name:'胡兴炯', born:1991, interest:'mac,ios,旅游', goodat:'java,swift,objectiveC'}),
 (p2:Person {name:'张勇', born:1990,  interest:'android', goodat:'java,android'}),
 (p3:Person {name:'成文龙', born:1990, interest:'linux,hadoop', goodat:'linux,java,android'}),
 (p4:Person {name:'王昕', born:1978, interest:'wpf,noSQL,旅游', goodat:'java,c#'}),
 (p5:Person {name:'周开琪', born:1977 , interest:'管理', goodat:'管理,'}),
 (p6:Person {name:'徐锦亮', born:1985,  interest:'前端', goodat:'前端,html5,hadoop'}),
 (p6:Person {name:'张三', born:1993,  interest:'大数据', goodat:'hadoop,html5,java,lucene,elasticsearch,solr'}),
 (p8:Person {name:'徐辉霞', born:1990,  interest:'管理,旅游', goodat:'管理,采购'}),
 (p9:Person {name:'黄廷鹏', born:1992,  interest:'OA', goodat:'java'}),
 (p10:Person {name:'史乐乐', born:1991,  interest:'OA,旅游', goodat:'管理'}),
 (p1)-[:认识]->(p2),
 (p1)-[:认识]->(p3),
 (p1)-[:认识]->(p4),
 (p1)-[:认识]->(p5),
 (p1)-[:认识]->(p9),
 (p2)-[:认识]->(p1),
 (p2)-[:认识]->(p3),
 (p2)-[:认识]->(p4),
 (p2)-[:认识]->(p5),
 (p2)-[:认识]->(p9),
 (p3)-[:认识]->(p1),
 (p3)-[:认识]->(p2),
 (p3)-[:认识]->(p4),
 (p3)-[:认识]->(p5),
 (p3)-[:认识]->(p7),
 (p4)-[:认识]->(p1),
 (p4)-[:认识]->(p2),
 (p4)-[:认识]->(p3),
 (p4)-[:认识]->(p5),
 (p4)-[:认识]->(p9),
 (p5)-[:认识]->(p1),
 (p5)-[:认识]->(p2),
 (p5)-[:认识]->(p3),
 (p5)-[:认识]->(p4),
 (p5)-[:认识]->(p6),
 (p5)-[:认识]->(p8),
 (p5)-[:管理]->(p1),
 (p5)-[:管理]->(p2),
 (p5)-[:管理]->(p3),
 (p5)-[:管理]->(p4),
 (p5)-[:管理]->(p6),
 (p6)-[:认识]->(p5),
 (p6)-[:认识]->(p4),
 (p6)-[:夫妻]->(p8),
 (p9)-[:认识]->(p1),
 (p9)-[:认识]->(p2),
 (p9)-[:认识]->(p3),
 (p9)-[:认识]->(p10),
 (p9)-[:喜欢]->(p10),
 (p10)-[:认识]->(p9),
 (p10)-[:同事]->(p7)

然后查看关系图如下:



至此,已经入门了,后面会记录neo4j的概念,配置,cyper查询语法,以及neo4j的java集成使用 , jdbc使用等等

有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。




  • 大小: 138.1 KB
  • 大小: 70.3 KB
  • 大小: 98.6 KB
  • 大小: 201.3 KB
0
0
分享到:
评论

相关推荐

    图形数据库Neo4j之Java API使用示例

    最近研究图形数据库 Neo4j。需要使用 java API 编写查询接口,参考网上的示例自己写了一个接口类: Neo4jUtil.java。目前只完成了查询方法。创建、删除及修改方法未实现。请自行参考代码来实现。 使用方法: 在 ...

    一种关系型数据库向Neo4j模型转换和数据迁移方法.pdf

    一种关系型数据库向Neo4j模型转换和数据迁移方法:Neo4j是一款高性能的、世界领先的……

    图形数据库Neo4j之Python API使用示例

    最近研究图形数据库 Neo4j。参考网上的文档,编写了使用 python API 接口实现的接口库:neo4jUtil.py。另外还写一个查询脚本:querySQL.py。 使用方法: 需要安装 neo4j for python 的库: pip install neo4j ...

    图形数据库Neo4j的内嵌式应用研究

    Neo4j是一款高性能的图形数据库,它支持C/S(客户端/服务器)结构和内嵌式部署两种方式。...随着Web 2.0和大数据时代的到来,图形数据库Neo4j在数据密集型应用中的地位将越来越重要,其研究和应用领域也将不断扩展。

    图形数据库之王Neo4j从入门到精通(含Neo4j+D3.js完整实战项目开发)

    Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中...

    Neo4j图形数据库windows压缩版

    Neo4j是一款强大的图形数据库,尤其适用于处理复杂的关系和网络数据。在Windows环境下,它提供了直观的用户界面和高效的数据存储能力。标题“Neo4j图形数据库windows压缩版”表明这是专门为Windows操作系统设计的...

    图形数据库Neo4j图形化管理工具源码

    Neoclipse 是一个图形数据库管理工具,可用于浏览、编辑和探索 Neo4j 数据库。具有以下特性: 可视化图形 增加/减少遍历深度 按关系类型过滤视图 添加/删除节点/关系 创建关系类型 在节点和关系上添加/删除/...

    Neo4j学习-Neo4j入门-Neo4j文档

    Neo4j是一款强大的图形数据库系统,它以节点、关系和属性的形式存储数据,适用于处理复杂的网络结构和关联数据。在“Neo4j学习-Neo4j入门-Neo4j文档”这个主题中,我们将深入探讨Neo4j的基本概念、安装与配置、查询...

    图形数据库Neo4j的搭建

    本教程将有助于小白搭建Neo4j图形数据库

    neo4j学习必备的简单示例

    标题与描述概述的知识点主要集中在Neo4j图数据库的基础学习上,这是一份入门级的教程,旨在帮助初学者理解并掌握...总之,Neo4j的学习之旅是一场对图形数据世界的探索,每一次操作都可能带来意想不到的发现和洞察。

    C# Neo4jDriver操作Neo4j图形数据库底层代码

    Neo4j是一款强大的开源图形数据库,适用于处理复杂数据关系,而C# Neo4jDriver则是官方提供的用于.NET开发的驱动,使得我们可以方便地与Neo4j进行交互。 首先,了解图形数据库的基本概念是必要的。图形数据库以节点...

    基于图数据库Neo4j的话单分析研究_黄冰倩.pdf

    《基于图数据库Neo4j的话单分析研究》一文由黄冰倩等人撰写,主要探讨了如何运用Neo4j这一图形数据库技术来进行话单分析,进而辅助公安机关获取有价值的破案线索。随着移动通信技术的发展,手机已成为人们生活中不可...

    图数据库neo4j_实战

    Neo4j是目前最流行、功能最强大的图数据库之一,广泛应用于社交网络分析、推荐系统、知识图谱构建等领域。其特点是: 1. **高性能**:Neo4j采用内存映射技术,能快速处理大规模图数据。 2. **ACID事务**:支持原子...

    图数据库neo4j 的基础入门学习资料

    通过以上内容,你将对图数据库Neo4j有一个全面的认识,能够搭建环境、编写Cypher语句并理解其在实际场景中的应用。随着对图数据库的深入学习,你会发现更多关于数据建模、性能优化和实时分析的技巧,从而更好地利用...

    neo4j-operations-manual-4.0_图数据库_neo4j_

    - Neo4j概述:Neo4j是ACID兼容的图形数据库,支持实时分析和大规模数据处理。 - Cypher查询语言:Neo4j特有的查询语言,用于创建、查询和更新图数据。 2. **安装与配置** - 安装过程:详细讲解Windows、Linux和...

    对比学习关系型数据库Mysql和图数据库Neo4j.zip

    本资料包主要对比了两种常见的数据库类型:关系型数据库MySQL和图数据库Neo4j。这两种数据库在设计理念、数据模型、查询语言及适用场景等方面存在显著差异。 首先,MySQL是一款流行的关系型数据库管理系统(RDBMS)...

Global site tag (gtag.js) - Google Analytics