搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
喵喵爱编程
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Websocket Session 共享解决_websoket session共享的方式
2
FPGA——MOS管_fpga mos管怎么控
3
小编程(三):用户登录注册界面开发及用户信息管理案例代码详解_系统功能部分用户注册,用户登录与修改密码的实现语言描述
4
基于java的物流信息管理系统(计算机毕业设计)
5
惊呆了,如何评价ICLR 2024投稿数排行榜华人遥遥领先?_icml 2024发文排行榜
6
Windows下的Robotics Library入门(一)——安装及演示_robot library
7
基于ODPS的SQL语句_odps rlike
8
html前端几种加密方式的整理,前端js几种加密/解密方法
9
【faiss】安装(一)_faiss c++版本安装教程
10
pytorch应用(入门5)CNN卷积神经网络、提取层结构、提取参数_pytorch cnn 参数
当前位置:
article
> 正文
图形数据库之Neo4j核心概念介绍(二)
作者:喵喵爱编程 | 2024-06-24 15:35:38
赞
踩
cpyher 构建三元组
[img]http://dl2.iteye.com/upload/attachment/0120/3433/e84b4219-9e96-31fb-927f-241366d91c74.png[/img]
最近这段时间一直在搞知识图谱的一个项目,有点忙,所以博客更新有点慢,现在第一阶段的开发基本完活,后面有空会总结几篇与neo4j有关的文章。
有关neo4j的介绍和使用场景,这里不多说了,不了解的朋友可以参考我之前的文章 [url]http://qindongliang.iteye.com/blog/2327919[/url]
我们的使用场景是用来存知识图谱有关的数据简单说就是会把从小学到高中所有的科目的里面的知识点给存储起来,让后建立知识点与知识点之间的依赖关系,从而最终会形成一张复杂的知识网络。举个例子:
比如某个学生,要学习化学里面的某个知识点,但是这个知识点可能与物理有联系,也可能这个知识点与数学也有联系,想要学习和掌握这个知识点,他应该怎么做呢?有了知识图谱网络,就能帮他快速的提供一些有用的信息:
(1)告诉他先学习那几个知识点
(2)告诉他这个知识点有几种途径
(3)告诉他最快的掌握方式是什么
(4)如果掌握了,通过知识点与题目的关联,能给他出一些起到练习巩固的效果
(5)其他....
当然有了图谱数据之后,其实能从里面挖掘出很多其他的信息,当然需要跟具体的业务结合,才能产生的真正的价值。比如北京市的公交站地图或者地铁地图。
言归正传,做项目期间大致看了一遍neo4j官网的文档和它提供的查询语言cypher(英文为翻译的意思)
什么是Cypher?
cypher是neo4j官网的提供的声明式图谱查询语言,用来可视化查询展示图谱里面的节点和关系,围绕图谱查询提供了可读性好和容易使用,功能强大的众多优点。
按照官网的说法,cypher的产生,参考了动态编程语言的一些语法,如python,ruby,scala,有非常多的强大的函数库,我们也项目里也用了一些复杂的语法,确实非常强大,不过想要运用自如,确实得花一定时间测试使用才行。
下面介绍下neo4j的几个核心概念:
#### (1) Nodes(节点,类似地铁图里的一个地铁站)
图谱的基本单位主要是节点和关系,他们都可以包含属性,一个节点就是一行数据,一个关系也是一行数据,里面的属性就是数据库里面的row里面的字段。
除了属性之外,关系和节点还可以有零到多个标签,标签也可以认为是一个特殊分组方式。
#### (2) Relationships(关系,类似两个相邻地铁站之间路线)
关系的功能是组织和连接节点,一个关系连接2个节点,一个开始节点和一个结束节点。当所有的点被连接起来,就形成了一张图谱,通过关系可以组织节点形成任意的结构,比如list,tree,map,tuple,或者更复杂的结构。关系拥有方向进和出,代表一种指向。
#### (3) Properties(属性,类似地铁站的名字,位置,大小,进出口数量等)
属性非常类似数据库里面的字段,只有节点和关系可以拥有0到多个属性,属性类型基本和java的数据类型一致,分为 数值,字符串,布尔,以及其他的一些类型,字段名必须是字符串。
#### (4) Labels(标签,类似地铁站的属于哪个区)
标签通过形容一种角色或者给节点加上一种类型,一个节点可以有多个类型,通过类型区分一类节点,这样在查询时候可以更加方便和高效,除此之外标签在给属性建立索引或者约束时候也会用到。label名称必须是非空的unicode字符串,另外lables最大标记容量是int的最大值,近似21亿。
#### (5) Traversal(遍历,类似我们看地图找路径)
查询时候通常是遍历图谱然后找到路径,在遍历时通常会有一个开始节点,然后根据cpyher提供的查询语句,遍历相关路径上的节点和关系,从而得到最终的结果。
#### (6) Paths(路径,类似从一个地铁站到另一个地铁站的所有的到达路径)
路径是一个或多个节点通过关系连接起来的产物,例如得到图谱查询或者遍历的结果。
#### (7) Schema(模式,类似存储数据的结构)
neo4j是一个无模式或者less模式的图谱数据库,像mongodb,solr,lucene或者es一样,你可以使用它不需要定义任何schema,
Indexes(索引)
遍历图通过需要大量的随机读写,如果没有索引,则可能意味着每次都是全图扫描,这样效率非常低下,为了获得更好的性能,我们可以在字段属性上构建索引,这样任何查询操作都会使用索引,从而大幅度提升seek性能,
构建索引是一个异步请求,并不会立刻生效,会再后台创建直至成功后,才能最终生效。如果创建失败,可以重建索引,先删除索引,在创建即可,然后从log里面找出创建失败的原因然后分析。
Constraints(约束)
约束可以定义在某个字段上,限制字段值唯一,创建约束会自动创建索引。
至此对neo4j里面的核心概念已经介绍完毕,其实就是实际生活中的例子的抽象,如果还不能理解图数据库,就想一下每个城市的公交图或者地铁图,后面散仙会写一些具体用法的例子。
[b][color=green][size=large]
有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。
[/size][/color][/b]
[img]http://dl2.iteye.com/upload/attachment/0104/9948/3214000f-5633-3c17-a3d7-83ebda9aebff.jpg[/img]
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/喵喵爱编程/article/detail/753170
推荐阅读
article
知识
图谱和LLM:利用
Neo4j
利用
大
型
语言
模型
探索现实世界的用例_
neo4j
大
模型
...
在 2023 年,ChatGPT 等
大
型
语言
模型
(LLM)凭借其卓越的类人文本理解和生成能力,迅速席卷全球,成为科技领域...
赞
踩
article
Neo4j
CQL
-(20)-
AGGREGATION
聚合
_
neo4j
聚合
函数
...
和SQL一样,
Neo4j
CQL
提供了一些在RETURN子句中使用的
聚合
函数
。 它类似于SQL中的GROUP BY子句。...
赞
踩
article
Neo4J
(
Cypher
语句
)初识
_
neo4j
贴吧...
欢迎各路大神临幸寒舍目录用 [TOC]来生成目录:欢迎各路大神临幸寒舍目录创建节点关系属性查询关系查询ID查询级次查询树...
赞
踩
article
neo4j
,
neo4j
-
desktop
国内
下载
镜像_
neo4j
的
4.3
.
5
版本镜像
下载
...
地址http://doc.we-yun.com:1008/里面还有
neo4j
其他资料_
neo4j
的
4.3
.
5
版本镜像
下载
...
赞
踩
article
Neo4j
【环境部署
01
】图形
数据库
(简介+
下载
地址+安装_
neo4j
-
community
-
3.4
...
第一次访问图
数据库
所在的机器上的7474端口时,账号
neo4j
,密码
neo4j
,会提示修改初始密码。说明:此版本需要jd...
赞
踩
article
Neo4j
Browser
(
图
数据库
)学习笔记——简介...
一、一个
图
数据库
可以通过以下几种方式存储各种类型的数据:1.Nodes(节点)——
图
数据的基本记录单元2.Relati...
赞
踩
article
neo4j
使用
详解
(
二、
cypher
语法
基础
——最全参考)
_
cypher
neo4j
...
Cypher是一种声明式图数据库查询语言,它具有丰富的表现力,能高效地查询和更新图数据。
_
cypher
neo4j
cyp...
赞
踩
article
neo4j
图
数据库
使用
教程_
neo4j
查看
数据库
...
neo4j
图
数据库
使用
教程,
neo4j
数据库
存储的网络关系,数学上称为图
数据库
_
neo4j
查看
数据库
neo4j
查看
数据...
赞
踩
article
Neo4j
- 您的
图形
数据库
解决方案
...
Neo4j
- 您的
图形
数据库
解决方案
Neo4j
是一个高性能、无模式的
图形
数据库
,用于存储和查询复杂的数据关系。与其他...
赞
踩
article
探秘
Neo4j
:
图形
数据库
的
强大
魅力与无限可能...
本文介绍了
Neo4j
,一款以关系为中心
的
图形
数据库
,适用于复杂网络和依赖实体间关系
的
场景。它使用节点、边和属性表示数据,...
赞
踩
article
NEO4J
-链路预测
算法
02-公共
邻居
算法
(
commonNeighbors
)应用
场景
简介
(抖音朋友推...
说明:使用neo4j
算法
库时需引入跟neo4j数据库对应的
算法
库插件或自定义
算法
库1.
简介
2.使用
场景
3.neo4j中公...
赞
踩
article
Neo4j
使用
场景_
neo4j
应用场景...
1、欺诈检测通过人员关系图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所
使用
的帐号、发生交易时的IP地址、MAC地址...
赞
踩
article
图
数据库
之
Neo4j
- 应用场景1 -
欺诈
检测(6)_
neo4j
适用场景...
总而言之,
Neo4j
是一种强大的
图
数据库
,适用于各种行业和领域的关系数据密集型问题。它提供了高效的数据存储和查询机制,能...
赞
踩
article
【
大
数据
】
Neo4j
图
数据
库
使用详解_构建个 研究领域
的
知识
图
谱,了解和熟悉
图
数据
库
neo4j
...
Neo4j
图
数据
库
作为一种创新型
的
数据
库
技术,正逐渐成为
大
数据
处理
的
首选工具。 _构建个 研究领域
的
知识
图
谱,了解和熟悉...
赞
踩
article
Docker
容器
内运行的
Neo4j
实例
安装
apoc
插件...
有关插件的一般说明,请参见配置 → 插件。在带宽受限的情况下,或者
Neo4j
经常停止和启动的情况下,可能希望只下载插...
赞
踩
article
Neo4j
Best
Practices
:
Designing
Scalable and Effic...
1.背景介绍
Neo4j
是一个强大的图数据库管理系统,它专门用于处理和分析复杂的关系数据。在现实世界中,我们经常需要处理和...
赞
踩
article
图
数据库
Neo4j
使用场景及
基本原理
入门...
你是否不知道
图
数据库
是什么?你是否还在为关系型
数据库
中节点以及关系查询的耗时长而苦恼?你是否还在纳闷
图
数据库
为啥比关系型...
赞
踩
article
Neo4j
3.2
版
正式发布:
企业级
扩展性增强、原生
性能
提高
,还有更多特性...
上周末,
Neo4j
的
3.2
官方
版
正式发布,此
版
本在扩展架构性和程序的执行
性能
上得到了极大的增强,它标志着以图计算和图存储...
赞
踩
article
neo4j
删除
某个
节点
_
neo4j
学习笔记...
neo4j
图形数据库学习:前期准备:jdk1.8以上版本(
neo4j
依赖于java)
neo4j
数据库(社区版)下载,安装...
赞
踩
article
neo4j
如何
删除
所以的
节点
和
关系
_
neo4j
怎么
清空
所有
的
节点
,
关系
语句...
删除
节点
及
关系
MATCH (n)-[r]-()DELETE n,r单纯
删除
所以
节点
:match (n)delete n_...
赞
踩
相关标签
dnn
人工智能
自然语言处理
知识图谱
neo4j
语言模型
gpt-3
标签
遍历
图数据库
cypher
数据库
oracle
Neo4j
画像
推荐系统
算法