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

Neo4j之入门例子

 
阅读更多

简介:

Neo4j是一个网络——面向图网络的数据库——也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在图网络上而不是表中。图网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。

 

嵌入式使用代码如下:

RelationshipType:

enum UserRelationship implements RelationshipType {
	FELLOW, BELONG
}

调用:

public static void main(String[] args) {
	String DB_PATH = "G:/neo4j/db/data1/";
	GraphDatabaseFactory factory = new GraphDatabaseFactory();

	GraphDatabaseService gds = factory.newEmbeddedDatabase(DB_PATH);
	GlobalGraphOperations ggo = GlobalGraphOperations.at(gds);
	Transaction tx = gds.beginTx();
	try {
		Node fromNode = gds.createNode();
		fromNode.setProperty("table", "person");
		fromNode.setProperty("name", "马云");
		Node toNode = gds.createNode();
		toNode.setProperty("table", "person");
		toNode.setProperty("name", "李彦宏");
		Relationship relationship = fromNode.createRelationshipTo(toNode,
			UserRelationship.FELLOW);
		List<String> eventList = new ArrayList<String>();
		eventList.add("2013福布斯中国富豪榜:李彦宏第三、马化腾第五、马云第八 ");
		eventList.add("李彦宏推轻应用马云入股浏览器 移动入口争夺暗战升级 ");

		relationship.setProperty("event", JSON.toJSONString(eventList));
		Node companyNode = gds.createNode();
		companyNode.setProperty("table", "company");
		companyNode.setProperty("name", "阿里巴巴");
		Relationship belongRelationship = fromNode.createRelationshipTo(companyNode,
			UserRelationship.BELONG);
		belongRelationship.setProperty("event", "马云如何掌控阿里巴巴? ");
		tx.success();
	} catch (Throwable e) {
		e.printStackTrace();
		tx.failure();
	} finally {
		tx.finish();
	}
	Iterator<Node> iterator = ggo.getAllNodes().iterator();
	while (iterator.hasNext()) {
		Node node = iterator.next();
		Iterator<String> keysIterator = node.getPropertyKeys().iterator();
		while (keysIterator.hasNext()) {
			String key = keysIterator.next();
			System.out.println(key + "->" + node.getProperty(key));
		}
		Iterator<Relationship> relationshipsIterator = node.getRelationships().iterator();
		while (relationshipsIterator.hasNext()) {
			Relationship relationships = relationshipsIterator.next();
			System.out.println("关系:" + relationships.getType());
		}
	}
	gds.shutdown();
}

maven依赖:

<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.1.36</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-cypher-dsl</artifactId>
	<version>1.9.M04</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-kernel</artifactId>
	<version>${neo4j.version}</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-cypher</artifactId>
	<version>${neo4j.version}</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-com</artifactId>
	<version>${neo4j.version}</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-shell</artifactId>
	<version>${neo4j.version}</version>
</dependency>
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j</artifactId>
	<version>${neo4j.version}</version>
</dependency>
<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<neo4j.version>1.9.M04</neo4j.version>
</properties>

 

0
0
分享到:
评论
3 楼 string2020 2015-06-25  
小网客 写道
string2020 写道
这个数据库的使用场景是什么

图状 数据


什么是:图状 数据
2 楼 小网客 2015-06-25  
string2020 写道
这个数据库的使用场景是什么

图状 数据
1 楼 string2020 2015-06-25  
这个数据库的使用场景是什么

相关推荐

    neo4j mybatis的例子

    在这个例子中,我们将探讨如何在Java应用中使用MyBatis与Neo4j进行集成。 首先,我们需要下载必要的jar包。MyBatis本身以及 Neo4j JDBC 驱动是实现这个集成的关键组件。通过Maven,我们可以方便地把这些依赖添加到...

    Neo4j学习-Neo4j入门-Neo4j文档

    在“Neo4j学习-Neo4j入门-Neo4j文档”这个主题中,我们将深入探讨Neo4j的基本概念、安装与配置、查询语言Cypher以及在实际应用中的优势。 首先,让我们了解一下什么是NOSQL数据库。NOSQL(Not Only SQL)是一种非...

    neo4j入门讲解.pptx

    Neo4j入门讲解 Neo4j是当前最流行的图数据库管理系统之一,它提供了高效、可扩展、灵活的图数据库解决方案。在本篇文章中,我们将对Neo4j的基本使用进行讲解,包括安装、创建数据库、创建节点、创建关系等操作。 ...

    图形据库Neo4j入门到精通(含Neo4j+D3.js完整实战项目)

    课程涉及Neo4j概念、原理、实战、综合完整项目(Neo4j+D3.js可视化)全方位深入讲解,深入讲解图数据库查询语言Cyther,可帮助学员快速掌握Cyther开发技能。深入讲解Neo4j Java API,并在Neo4j+D3.js完整Web项目中...

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

    图数据库是目前大数据领域最火热的方向,Neo4j则是图数据库中的领军者,占有过半的行业采用率。 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备...

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

    │ Neo4j之Cypher学习总结.html │ NEO4J亿级数据导入导出以及数据更新 - 耶和华靠近伤心的人,拯救灵性痛悔的人 - CS.html │ Neo4j入门点滴(一):Cypher.html │ Neo4j入门点滴(三):用Cypher完善图.html ...

    Neo4j中文使用手册以及例子

    **Neo4j中文使用手册及例子** Neo4j是一款强大的图形数据库系统,它以其高效、灵活和直观的数据模型——图数据模型,深受开发者喜爱。在处理复杂的关系数据时,如社交网络、推荐系统、知识图谱等场景,Neo4j表现...

    Neo4j中文使用手册以及例子.7z

    "Neo4j中文使用手册以及例子.7z"这个压缩包显然包含了关于如何使用Neo4j的详细指导和实例,这对于开发者来说是一份非常宝贵的资源。 1. **图形数据库基础**:首先,了解图形数据库的基本概念是必要的。与传统的关系...

    NEO4j.pdf入门与说明文档

    ### NEO4j 入门与说明文档 #### 一、引言 NEO4j是一款图数据库管理系统,它采用了一种独特的数据模型来存储和管理数据。与传统的关系型数据库不同,NEO4j的核心是节点(Node)和关系(Relationship),通过这种...

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

    Neo4j是当前最流行的图数据库之一,尤其在社交网络、推荐系统、知识图谱等领域有广泛应用。这篇入门学习资料旨在帮助初学者快速掌握Neo4j的基础知识。 1. **图数据库基本概念**: - **节点(Node)**:图数据库中的...

    neo4j入门资料汇总

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

    Java_使用Spring Data为JPA MongoDB Neo4j Redis的例子.zip

    6. **Repository**:Spring Data的核心之一是Repository抽象,它允许开发者定义数据库操作的接口,而具体的实现由Spring Data自动生成。这种设计模式降低了代码的复杂性,提高了可重用性和测试性。 7. **配置**:在...

    Neo4j图数据库入门培训

    ### Neo4j图数据库入门培训知识点详解 #### 一、安装及启动 ##### 1. 安装Java SDK - **下载地址**:[Oracle官方Java SDK下载页面](http://www.oracle.com/technetwork/java/javase/downloads) - **下载文件**:`...

    neo4j社区版 neo4j社区版neo4j社区版

    Neo4j是一款强大的图形数据库管理系统,专为处理复杂的网络数据而设计。社区版是Neo4j的免费版本,提供开源的、无限制的数据库服务,适用于个人开发、学习和小型项目。标题中反复提到的“neo4j社区版”,表明我们将...

    neo4j4.2实例视频

    描述中的“第一次入门样例视频”暗示我们将深入到Neo4j的核心特性——Cypher查询语言。Cypher是一种声明式语言,专为查询图形数据而设计。你需要掌握如何编写简单的查询,如查找特定节点、遍历关系,以及更复杂的...

    neo4j 教程 百度网盘链接 pdf

    neo4j实战教程,百度网盘链接,pdf教程, 关系数据库入门教材,包括语法,使用教程等,适合初学者学习和研究

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

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

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

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

    基于Vue+SpringBoot+Neo4j知识图谱入门项目-寻医问药知识图谱

    基于Vue+SpringBoot+Neo4j知识图谱入门项目——寻医问药知识图谱 个人经导师指导并认可通过的高分毕业设计项目,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大...

    Neo4j-spring-data数据库例子

    这个例子展示了如何利用Spring Data Neo4j在Spring框架下进行数据存取操作。 首先,让我们深入了解Spring Data Neo4j的基本概念。Spring Data Neo4j通过自动映射实体类到图数据库节点,以及关系类型到图中的边,...

Global site tag (gtag.js) - Google Analytics