美文网首页
知识图谱(二)---Neo4j

知识图谱(二)---Neo4j

作者: 结构学AI | 来源:发表于2019-12-30 16:33 被阅读0次

neo4j

  • Neo4j是一个世界领先的开源图形数据库,由 Java 编写。图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系。

  • neo4j的数据由下面几部分组成:

  • 节点、边、属性

  • 顶点(node)和边(relationship)和属性,无论是顶点还是边,都可以有任意多的属性。属性的存放类似于一个 HashMap,Key 为一个字符串,而 Value 必须是基本类型或者是基本类型数组

  • Neo4J中节点和边 都能够包含保存至的属性,此外:

  • 可以为节点设置零或多个标签

  • 每个关系都对应一种类型。

  • 关系总是从一个节点指向另一个节点。

neo4j简介

  • Neo4j 的特点和优势

  • SQL就像简单的查询语言语句Neo4j CQL

  • 它遵循属性图数据模型

  • 它通过使用Apache Lucence支持索引

  • 它支持UNIQUE约束

  • 它它包含一个用于执行CQL命令的UI:Neo4j数据浏览器

  • 它支持完整的ACID(原子性,一致性,隔离性和持久性)规则

  • 它采用原生图形库与本地GPE(图形处理引擎)

  • 它支持查询的数据导出到JSON和XLS格式

  • 它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问

  • 它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本

  • 它支持两种Java API:Cypher API和Native Java API来开发Java应用程序

Neo4j优点

  • 它很容易表示连接的数据

  • 检索/遍历/导航更多的连接数据是非常容易和快速的

  • 它非常容易地表示半结构化数据

  • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

  • 它使用简单而强大的数据模型

  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

Neo4j install

  • 官网直接下载安装包安装即可,链接:https://neo4j.com/download/

  • 注意环境变量的更新

  • 访问地址:http://localhost:7474

  • 修改数据库的文件名称:${NEO4J_HOME}/conf 文件夹

  • Neo4j数据构建模块

  • 节点、属性、关系、标签、数据浏览器

  • 节点:是图的基本单位,它包含具有键值对的属性

  • 属性:用于描述节点和关系的键值对

  • 关系:是图形数据库的另一个国建模块,链接两个节点。

  • 导出的格式:CSV和json

  • CQL:是Neo4j的查询语言。具体的用法可以参考:https://www.w3cschool.cn/neo4j/neo4j_cql_introduction.html

py2neo

  • Py2Neo 是用来对接 Neo4j 的 Python 库。

  • install


pip install py2neo

Node & relationship


from py2neo import Node, Relationship

a = Node('Person', name='Alice')

b = Node('Person', name='Bob')

r = Relationship(a, 'KNOWS', b)

print(a, b, r)

示例

常见语法

[官网指南](https://neo4j.com/docs/getting-started/current/get-started-with-neo4j/](https://neo4j.com/docs/getting-started/current/get-started-with-neo4j/)

首先,我们为示例创建一些数据:

CREATE (matrix:Movie { title:"The Matrix",released:1997 })
CREATE (cloudAtlas:Movie { title:"Cloud Atlas",released:2012 })
CREATE (forrestGump:Movie { title:"Forrest Gump",released:1994 })
CREATE (keanu:Person { name:"Keanu Reeves", born:1964 })
CREATE (robert:Person { name:"Robert Zemeckis", born:1951 })
CREATE (tom:Person { name:"Tom Hanks", born:1956 })
CREATE (tom)-[:ACTED_IN { roles: ["Forrest"]}]->(forrestGump)
CREATE (tom)-[:ACTED_IN { roles: ['Zachry']}]->(cloudAtlas)
CREATE (robert)-[:DIRECTED]->(forrestGump)

这是结果图:


image.png

相关文章

  • 初识Neo4j - 图数据库

    起个头:由于涉及知识图谱的项目需要,接触到Neo4j图形数据库,就想写个笔记,做个分享,督促自己。 知识图谱: 简...

  • py2neo V4 极简使用指南:Python操作Neo4j图数

    Neo4j的介绍可以参考这篇文章:《知识图谱技术与应用指南(转)》 其实,Python操作Neo4j,既可以用ne...

  • 记一个 neo4j 与 py2neo 的 match 语句的坑

    最近项目中需要使用 neo4j 构建知识图谱。在师兄建议下使用了 py2neo ,而不是 neo4j 官方的api...

  • Neo4j数据库Linux 单机安装笔记

    一、简介 最近这段时间一直在搞知识图谱的一个项目,简单搭建Neo4j数据库测试一下,小结一下搭建过程。知识图谱场景...

  • Neo4j安装教程

    最近再做企业与纳税人关联关系知识图谱,接触到图数据库,经过一番比较后,选择Neo4j图数据库作为知识图谱项目的数...

  • Neo4j的简单介绍

    在构建知识图谱的时候,Neo4j用来建立实体之间的关系非常方便,下面简单介绍一下它的使用方法: Neo4j数据库可...

  • 知识图谱(二)---Neo4j

    neo4j Neo4j是一个世界领先的开源图形数据库,由 Java 编写。图形数据库也就意味着它的数据并非保存在表...

  • Neo4j图数据库学习总结

    1. 概述 本学习总结报告是对最近在本科课程设计电商知识图谱中使用到的图数据库Neo4j的总结,旨在对Neo4j的...

  • 20220605第一课:基本概念

    一、前言 二、知识图谱

  • 领域综述 | 知识图谱概论(一)

    本篇文章从知识图谱历史发展的角度向大家介绍知识图谱。 目录: 什么是知识图谱 知识图谱的发展史 一.什么是知识图谱...

网友评论

      本文标题:知识图谱(二)---Neo4j

      本文链接:https://www.haomeiwen.com/subject/rlemoctx.html