Neo4j属性图模型简单介绍

作者: cooze | 来源:发表于2017-07-30 18:14 被阅读146次

本文主要是对Neo4j属性图模型简单的介绍。

Neo4j是什么?

Neo4j是一款是由java语言实现的图数据库,图形数据库将数据以图的数据结构进行存储和管理,并且能够以高度可问的方式优雅地表示任何种类的数据,而Neo4j是基于属性图模型(Property Graph Model)的数据库。

属性图模型定义

在属性图中存在如下元素:

1、 实体(Entity)
    a) 节点(Node)
    b) 关系(Relationship)
  2、 边/路径(Path)
  3、 记号(Token)
    a) 标签(Label)
    b) 关系类型(Relationship Type)
    c) 属性key(Property Key)
  4、 属性(Property)

1.实体

1、每一个Neo4j图数据库中的实体都拥有一个用于区分实体与实体之间是否相等的唯一标识;
2、每一个Neo4j图数据中的实体都可以分配一组属性key以及对应的属值(value),同一个实体中的属性key都是唯一的,并且不能为空的以及空字符串;

1.1.节点

1、Neo4j图数据库中节点都是建立在实体的之上的一种抽象,拥有属性和属性值;
2、一个节点可以被分配一组唯一的标签;
3、一个节点可以有0个或者多个向外或向内(边/路径的指向,分为向外和向内两种)的关系;

1.1.1.节点例子1、

有一个图他只有一个节点,这个节点只有一个属性name如下图所示:

单节点例子
1.1.2.节点例子2

有一个图有三个节点,如下图所示:

节点例子2

1.2.关系

1、关系是一个建立两个节点之间关系,由源节点指向目标节点的实体;
2、一个向外的关系,是源节点由自身关联目标节点的一种关系;
3 一个向内的关系,是源端节点自身被关联的一种关系;
4、每一个关系都必须分配一个且唯一的关系类型;
5、关系也是实体,可以拥有属性和属性值;

1.2.1.关系例子1

有如下图关系:

关系例子1

图中的的关系有Student和Teacher两种关系类型, Teacher这种关系类型有一个roles属性,它的类型为数组类型,而Student这个关系类型中的Class属性的数据类型为String。

1.2.2.关系例子2

自关联关系

自关联关系

2.边/路径

1、 边/路径表示一个属性图的关系,由一系列交替的节点和关系组成;
2、 一个边/路径总是由开始于节点,终止于节点(成也萧何,败也萧何);
3、 最小的边/路径只包含单个节点,这类型的边叫做空边/空路径;
4、 边/路径有一个长度(深度),它是大于或等于0的整数,等于路径中的关系数;

2.2.1.边/路径例子1

图数据库中边/路径的长度等于0,如下图:

边/路径例子1
2.2.2.边/路径例子2

图中边/路径的长度等于1,如下图:

边/路径例子2.1 边/路径例子2.2

3.记号

记号是一个非空的Unicode字符串。

3.1.标签

标签是一个分配给节点的一个唯一的记号。

标签

3.2.关系类型

关系类型是被分配给关系的一个唯一的记号

3.3.属性key

属性key是一个存在于实体中的唯一属性字段,类似于Json对象中的key。

3.3.属性

属性由一对属性key和属性值组成,类似于Json字符串中的key:value。

到这里就结束了对Neo4j属性图模型的基本介绍了,祝大家生活愉快!

相关文章

  • Neo4j属性图模型简单介绍

    本文主要是对Neo4j属性图模型简单的介绍。 Neo4j是什么? Neo4j是一款是由java语言实现的图数据库,...

  • 图数据库建模准则

    先决条件 您应该了解Neo4j属性图数据模型的基础。 介绍 如果您曾经使用过对象模型或实体关系图,则带标签的属性图...

  • 图形数据库neo4j——(1)基础概要

    环境搭建 mac brew安装方式 启动neo4j 首次登陆的默认密码是:neo4j 简介 Neo4j是基于属性图...

  • Neo4j底层数据原理

    一.简介 Neo4j是基于图论实现的一种新型NoSQL数据库。图数据模型包括:属性图,超图和三元组。 一.免索引邻...

  • 图数据库Neo4j的安装

    简述 因为工作的需要,学习了图数据库Neo4j的基本用法。下面简单介绍下图数据库Neo4j的社区版在Linux 系...

  • Neo4j的算法库安装和调用说明(algo)

    上一文中,进行了Neo4j的图算法的简单介绍,展现Neo4j存的大量优秀的算法。默认不支持,如果通过插件安装来使用...

  • 概率图模型简单介绍

    这篇文章中,我将对概率图模型做一个简单的综述,以使读者能尽快了解其大概思想,而忽略其背后的具体的数学推到过程。主要...

  • Neo4j-1.3 关系

    Neo4j图数据库用图模型来存储和管理数据 关系是定向的(有方向) 依据方向性,Neo4j关系分为两类:单向关系双...

  • docker + NoSQL图数据Neo4j + springb

    介绍NoSQL 介绍Neo4j 安装docker 使用docker 安装Neo4j 入门 Neo4j spring...

  • 知识图谱(1)——neo4j的安装

    Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性...

网友评论

    本文标题:Neo4j属性图模型简单介绍

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