知识工程——Neo4j及其应用

知识图谱-Neo4j-开始构建知识图谱-01 关系(Relationships):连接两个节点,具有方向(→ 或 ←)和类型(Type),可附加属性。 属性(Properties):键值对,存储节点或关系的详细信息(如 , )。 (2) Cypher 查询语言 直观语法:通过模式匹配直接描述图结构。 高效遍历:支持复杂关系路径查询(如最短路径、模式匹配)。 3. 核心优势 (1) 原生图存储 物理存储优化:数据以图结构直接存储,避免传统数据库的“表连接”开销。 高效遍历:通过指针直接访问相邻节点,时间复杂度接近 O(1)。 (2) 高性 阅读详情

什么是Neo4j?

  Neo4j是一个开源的NoSQL图形数据库,2003 年开始开发,使用 scala和java 语言,2007年开始发布。

  • 是世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理;
  • 采用属性图模型(Property graph model),极大的完善和丰富图数据模型;
  • 专属查询语言 Cypher,直观,高效;

官网: Neo4j Graph Database & Analytics | Graph Database Management System

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查询语言命令是人性化的可读格式,非常容易学习
  • 使用简单而强大的数据模型
  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有 连接或索引

各种NOSQL对比

分类

数据模型

优势

劣势

举例

键值对数据库

哈希表

查找速度快

数据无结构化,通常只被当作字符串或者二进制数据

Redis

列存储数据库

列式数据存储

查找速度快;支持分布横向扩展;数据压缩率高

功能相对受限

HBase

文档型数据库

键值对扩展

数据结构要求不严格;表结构可变;不需要预先定义表结构

查询性能不高,缺乏统一的查询语法

MongoDB

图数据库

节点和关系组成的图

利用图结构相关算法(最短路径、节点度关系查找等)

可能需要对整个图做计算,不利于图数据分布存储

Neo4j

更多Neo4J详细专题教程请见Neo4J超详细专题教程,快来收藏起来吧-腾讯云开发者社区-腾讯云 (tencent.com)

一、实验目的/原理

1. 掌握安装Neo4j并启动数据库服务的方法;

2. 掌握用Neo4j创建知识图谱的方法;

3. 掌握用Cypher语言对Neo4j知识图谱进行访问的方法;

4. 掌握用Neo4j Python 驱动包访问Neo4j知识图谱的方法;

5. 掌握用py2neo访问Neo4j知识图谱的方法。

二、实验重点和难点

重点:用Cypher语言对Neo4j知识图谱进行访问。

难点:用Neo4j Python 驱动包和py2neo访问Neo4j知识图谱。

三、实验内容及步骤

实验内容:

1. 下载安装Neo4j ;

2. 创建知识图谱,并使用Cypher语言进行查询;

3. 用Neo4j Python 驱动包访问数据库,进行增删改查的操作;

4. 用py2neo访问数据库,进行增删改查的操作。

实验步骤:

1. 下载安装neo4j ,可以选择windows解压缩版、desktop版、linux版等。

下载地址: https://neo4j.com/deployment-center/#gdb-tab

这里选用的是打包的社区版 5.19.0,Java版本建议Java17,如果偷懒下载desktop桌面版更方便。

新建系统变量NEO4J_HOME

在path里新建环境变量%NEO4J_HOME%\bin

neo4j.bat console

2.本实验选取《知识工程 人工智能如何学贯古今》案例二:《家有儿女》人物关系图谱,按照指定的步骤和要求完成数据库的创建和查询;

删除数据库中以往的图,确保在一个空白的环境中进行操作

match (n) detach delete n

​ 

CREATE (n:Person {name: '夏东海'})RETURN n;

​

CREATE (n1:Person {name: '刘梅'}),

       (n2:Person {name: '刘星'}),

       (n3:Person {name: '夏雪'}),

       (n4:Person {name: '夏雨'}),

       (n5:Person {name: '胡统一'}),

       (n6:Person {name: '玛丽'}),

       (n7:Person {name: '范晓英'}),

       (n8:Person {name: '夏祥'}),

       (n9:Person {name: '杨欣'}),

       (n10:Person {name: '戴明明'}),

       (n11:Person {name: '戴天高'}),

       (n12:Person {name: '胖婶'})

RETURN n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12;

​ 

CREATE (n:Job {title: '护士长'})

RETURN n;

CREATE (n:Job {title: '学生'})

RETURN n;

CREATE (n:Job {title: '编导'})

RETURN n;

CREATE (n:Job {title: '无业游民'})

RETURN n;

CREATE (n:Job {title: '社区工作人员'})

RETURN n;

CREATE (n:Job {title: '无业游民'})

RETURN n;

​

CREATE (n:Location {country: '中国', city: '北京'});

CREATE (n:Location {country: '美国', city: '纽约'});

​

MATCH (a:Person {name: '刘梅'})MERGE (a)-[:妻子]->(b:Person {name: '夏东海'})

​

MATCH (a:Person {name:'刘梅'}), (b:Person {name:'夏东海'}) MERGE (a)-[:妻子]->(b);

MATCH (a:Person {name:'刘梅'}), (b:Person {name:'夏雨'}) MERGE (a)-[:继母]->(b);

MATCH (a:Person {name:'刘梅'}), (b:Person {name:'夏雪'}) MERGE (a)-[:继母]->(b);

MATCH (a:Person {name:'刘梅'}), (b:Person {name:'胡统一'}) MERGE (a)-[:前妻]->(b);

MATCH (a:Person {name:'刘星'}), (b:Person {name:'刘梅'}) MERGE (a)-[:儿子]->(b);

MATCH (a:Person {name:'刘星'}), (b:Person {name:'胡统一'}) MERGE (a)-[:儿子]->(b);

MATCH (a:Person {name:'夏东海'}), (b:Person {name:'刘星'}) MERGE (a)-[:继父]->(b);

MATCH (a:Person {name:'玛丽'}), (b:Person {name:'夏东海'}) MERGE (a)-[:前妻]->(b);

MATCH (a:Person {name:'夏雪'}), (b:Person {name:'夏东海'}) MERGE (a)-[:女儿]->(b);

MATCH (a:Person {name:'夏雨'}), (b:Person {name:'夏东海'}) MERGE (a)-[:儿子]->(b);

MATCH (a:Person {name:'夏雪'}), (b:Person {name:'玛丽'}) MERGE (a)-[:女儿]->(b);

MATCH (a:Person {name:'夏雨'}), (b:Person {name:'玛丽'}) MERGE (a)-[:儿子]->(b);

MATCH (a:Person {name:'夏雨'}), (b:Person {name:'夏雪'}) MERGE (a)-[:弟弟]->(b);

MATCH (a:Person {name:'夏雪'}), (b:Person {name:'刘星'}) MERGE (a)-[:姐姐]->(b);

MATCH (a:Person {name:'刘星'}), (b:Person {name:'夏雨'}) MERGE (a)-[:哥哥]->(b);

MATCH (a:Person {name:'戴明明'}), (b:Person {name:'夏雪'}) MERGE (a)-[:朋友]->(b);

MATCH (a:Person {name:'戴天高'}), (b:Person {name:'刘梅'}) MERGE (a)-[:同学]->(b);

MATCH (a:Person {name:'戴天高'}), (b:Person {name:'戴明明'}) MERGE (a)-[:父亲]->(b);

MATCH (a:Person {name:'胖婶'}), (b:Person {name:'刘梅'}) MERGE (a)-[:邻居]->(b);

MATCH (a:Person {name:'夏祥'}), (b:Person {name:'夏东海'}) MERGE (a)-[:父亲]->(b);

​

​

MATCH (a:Person {name:'刘梅'}), (b:Location {country:'中国', city:'北京'})

MERGE (a)-[:居住]->(b)

;

MATCH (a:Person {name:'夏东海'}), (b:Location {country:'中国', city:'北京'})

MERGE (a)-[:居住]->(b)

;

MATCH (a:Person {name:'玛丽'}), (b:Location {country:'美国', city:'纽约'})

MERGE (a)-[:居住]->(b)

;

MATCH (a:Person {name:'刘梅'}), (b:Job {title:'护士长'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'夏东海'}), (b:Job {title:'编导'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'胡统一'}), (b:Job {title:'无业游民'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'夏雨'}), (b:Job {title:'学生'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'刘星'}), (b:Job {title:'学生'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'夏雪'}), (b:Job {title:'学生'})

MERGE (a)-[:职业]->(b);

MATCH (a:Person {name:'胖婶'}), (b:Job {title:'社区工作人员'})

MERGE (a)-[:职业]->(b);

 3. 安装Neo4j Pytho驱动包,用Python编程对数据库进行增删改查的操作,操作的内容自行决定;4. 安装py2neo,用Python编程对数据库进行增删改查的操作,操作的内容自行决定;以案例二为例,操作如下:

增加一个人物节点:姓名"小黑子" ;

from py2neo import Graph, Node, Relationship

# 连接到neo4j数据库
graph = Graph("bolt://localhost:7687", auth=("neo4j", "12345678"), name='neo4j')

# 检查“小黑子”节点是否已经存在
existing_xiaoheizi = graph.nodes.match("Person", name="小黑子").first()

# 如果不存在,则创建新人物节点
if not existing_xiaoheizi:
    xiaoheizi = Node("Person", name="小黑子")
    graph.create(xiaoheizi)
else:
    xiaoheizi = existing_xiaoheizi

修改节点: "小黑子"的属性:昵称“坤坤”;

# 修改人物属性
graph.run("MATCH (n:Person {name: '小黑子'}) SET n.nickname = '坤坤'")

增加关系: "小黑子" -> "朋友" -> "刘星"

# 创建关系
liu_xing = graph.nodes.match("Person", name="刘星").first()
if liu_xing:
    relationship = Relationship(xiaoheizi, "朋友", liu_xing)
    graph.create(relationship)

查询: "小黑子和刘星的关系是什么?"

# 查询:小黑子和刘星的关系是什么?
relation_query_result = graph.run("MATCH (xiao:Person {name: '小黑子'}), (liu:Person {name: '刘星'}), (xiao)-[r]->(liu) RETURN type(r)").data()

# 输出查询结果
if relation_query_result:
    relation_type = relation_query_result[0]['type(r)']
    print(f"小黑子和刘星的关系是:{relation_type}")
else:
    print("小黑子和刘星之间没有找到直接关系。")

删除关系: "小黑子" -> "朋友" -> "刘星"

# 删除与“小黑子”节点相关的所有关系
graph.run("MATCH (n:Person {name: '小黑子'})-[r]-() DELETE r")

查询: "小黑子和刘星的关系是什么?"

# 查询:小黑子和刘星的关系是什么?
relation_query_result = graph.run("MATCH (xiao:Person {name: '小黑子'}), (liu:Person {name: '刘星'}), (xiao)-[r]->(liu) RETURN type(r)").data()

# 输出查询结果
if relation_query_result:
    relation_type = relation_query_result[0]['type(r)']
    print(f"小黑子和刘星的关系是:{relation_type}")
else:
    print("小黑子和刘星之间没有找到直接关系。")

删除人物节点“小黑子”

# 删除“小黑子”节点
graph.run("MATCH (n:Person {name: '小黑子'}) DELETE n")

查询:谁的职业是学生?

# 查询:谁的职业是学生?

student_query_result = graph.run("MATCH (p:Person)-[:职业]->(j:Job {title: '学生'}) RETURN p.name").data()

# 输出查询结果

if student_query_result:

students = [student['p.name'] for student in student_query_result]

print(f"以下人物的职业是学生:{', '.join(students)}")

else:

print("没有找到职业是学生的人物。")

四、总结与体会

通过本次实验,我深入了解了Neo4j图数据库的安装、启动、知识图谱的创建、以及使用Cypher语言、Neo4j Python驱动包和py2neo对知识图谱进行访问的方法。以下是我的实验总结与体会:

1. 安装和启动Neo4j:在实验中,我学会了如何下载和安装Neo4j,并成功启动了数据库服务。这为我后续进行知识图谱的创建和访问奠定了基础。

2. 创建知识图谱:通过实验,我掌握了使用Cypher语言创建知识图谱的方法。Cypher语言是Neo4j的查询语言,它具有简洁、易学、易用的特点。我学会了如何定义节点和关系,以及如何为节点和关系添加属性。

3. 使用Cypher语言进行查询:实验中,我使用Cypher语言对知识图谱进行了查询。我学会了如何编写基本的查询语句,如查找节点、关系、路径等,以及如何使用WHERE子句进行条件过滤。

4. 使用Neo4j Python驱动包访问数据库:在实验中,我学会了使用Neo4j Python驱动包访问Neo4j知识图谱。通过编写Python代码,我成功实现了对知识图谱的增删改查操作。这为我后续在实际项目中使用Python操作Neo4j数据库提供了有力支持。

5. 使用py2neo访问数据库:实验中,我还学习了使用py2neo库访问Neo4j知识图谱。py2neo是一个Python库,它提供了更加便捷的方式操作Neo4j数据库。我学会了如何使用py2neo进行节点和关系的创建、更新、删除等操作。

6. 难点与挑战:在实验过程中,我遇到了一些难点和挑战,尤其是在使用Neo4j Python驱动包和py2neo进行知识图谱访问时。通过搜索引擎搜索,大量阅读博客,我逐渐克服了这些困难,掌握了相关技能。

总之,本次实验使我深入了解了Neo4j及其应用,掌握了安装、启动、创建知识图谱、使用Cypher语言、Neo4j Python驱动包和py2neo进行访问的方法。这对我今后在图数据库领域的研究和实践具有重要意义。在今后的学习和工作中,我将继续深入研究Neo4j的相关技术,不断提高自己的技能水平。

neo4j新手教程 neo4j新手教程 本文通过一个实际的案例来一步一步使用Cypher来操作Neo4j。 这个案例的节点主要包括专业和课程两类,课程和课程之间有前置、并列等关系,专业和课程之间有包含等关系。 1、(可选)首先,我们删除数据库中以往的图,确保一个空白的环境进行操作: MATCH (n) DETACH DELETE n MATCH是匹配操作,而小括号()代表一个节点node(可理解为括号类似一个圆形),括号里面的n为标识符。 2、我们创建一个课程节点: CREATE (n:Class {name:'大学英语Ⅱ'} 阅读详情

相关推荐

最详细的Neo4J解读(附安装教程)

文章目录一、Neo4j简介二、Neo4j - 特点和优势1.Neo4j的特点2.Neo4j的优点3.Neo4j的缺点或限制三、Neo4j - 数据模型四、Neo4j安装及配置1.安装Java JDK2.下载安装Neo4j3.创建系统环境变量4.Neo4j的启动和停止5.切换数据库五、Neo4j的CQL操作 一、Neo4j简介 Neo4j是一种流行的基于Java语言编写的图形数据库。图是一组节点和连接这些节点的关系。图形数据库也被称为图形数据库管理系统或GDBMS, 其他的图形数据库是Oracle NoSQL

极易自在宸 1万+

Neo4j入门操作

最近因为项目建模需要使用到图数据库,搜了一圈,发现Neo4j就不错,于是开始鼓捣。 1. 安装  下载地址:https://neo4j.com/download-center/ 官方提供了很多可选的下载项,企业版,社区版,桌面版。这里我下的是桌面版。   然后就是按照安装步骤安装完成。,打开桌面版,就长这样. 2. 使用入门 2.1数据库创建和启动 这里我们新建一个项目,然...

u012543819的博客 6万+

【图形数据库】Neo4j简介及应用场景

Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中。但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注。

DreamSun的博客 7794

neo4j使用教程(数据的导入和简单的语句)

写在前面:在前边出了一个详细的neo4j安装教程之后,写一个简单的neo4j使用教程。 1 数据的导入 数据的导入这里介绍两个常用的方法,语句导入和用cmd命令行导入。 1.1 创建数据 例如,创建两个同学(nodes),属性有学号、姓名、性别和年龄,关系为classmate(relationship)。 //node CREATE (student1:Person {sid:'1001', na...

Trista的博客 4万+

【Python】 Neo4j

在深入探讨如何使用Python与Neo4j进行交互之前,我们必须首先从最底层、最根本的角度理解为什么需要图数据库,以及它解决了哪些传统数据模型难以应对的问题。这不仅是技术选择的考量,更是思维模式的转变。关系型数据库(Relational Databases, RDBs)以其严谨的表结构、事务(ACID)特性以及强大的SQL查询语言,在过去的几十年里一直是数据存储和管理的主流。然而,当数据模型中的实体关系变得复杂且层级加深时,关系型数据库固有的设计范式便开始显现其局限性,尤其是在处理“关系”本身时。关系型数据

宅男很神经 1813

Windows 安装 Neo4j 教程

通过本文的步骤,你已经了解了在 Windows 系统上安装和配置 Neo4j 的多种方法:使用 Neo4j Desktop、Community Edition 以及通过 Windows 服务安装。每种方法都适用于不同的使用场景,你可以根据需要选择最适合的方式。希望这篇教程能帮助你顺利安装 Neo4j。如果你遇到任何问题,可以参考Neo4j 官方文档寻找解决方案。

2501_91537435的博客 2758

neo4j基本使用及其Python语言操作

文章目录 一、Neo4j的安装与启动 二、Neo4j在Pycharm中的调用 三、Neo4j指令介绍 四、Neo4j在Pycharm下的指令 五、Neo4j简介及应用场景 六、Neo4j与Python交互 1、环境与调用问题 2、版本问题 3、修改结点以及删除结点 七、结点构建方法 1、Python直接去重构建 2、运用查询语句构建 3、使用Neo4j Desktop导入csv文件构建 一、Neo4j的安装与启动 1、环境配置:JKD 11.0.12 (neo4j最新.

qq_39753433的博客 2万+

【Neo4j】 知识总结(Neo4j常见面试题)

文章目录前言一、Neo4j基础常用语句二、常见面试题与基础知识1.面试题2.基础知识 前言 这里总结一下近来使用Neo4j常见的问题,以及整理了一下互联网上出现的相关面试题 一、Neo4j基础常用语句 MATCH (n:entity{name:'汕头市'}) where n.content = '汕头市' RETURN n MATCH (n:entity{name:'汕头市'}) where n.content = '汕头市' RETURN n MATCH (n:entity{name:'广东省'})

Light Blog 4775

【Neo4j学习】应用案例

https://gitbook.cn/books/5a33782c5778440a9d906017/index.html 学习书籍:《Neo4j权威指南》--清华大学出版社   社交网络 交通大数据(物流) 推荐系统 欺诈分析 Web安全(垃圾邮件等等) 但是,也有不适合图数据库的领域。 记录大量基于事件的数据 需要大规模分布式数据处理 二进制数据存储 适合保存在关系型...

liudongdong_jlu 9957

neo4j python_Neo4j安装+Python操作Neo4j

一、Neo4j安装及服务启动Neo4j 是目前最流行的图形数据库,支持完整的事务,图形数据库也就意味着它的数据并非保存在表或集合中,而是保存为节点以及节点之间的关系。图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以有一个或多个属性。1、Neo4j安装2、启动配置Neo4j应用程序有如下主要的目录结...

weixin_39710396的博客 2917

NOSQL之Neo4j:Neo4j的简介、安装和使用方法(Neo4j搭配JDK安装的图文教程)、案例应用之详细攻略

​ NOSQL之Neo4j:Neo4j的简介、安装和使用方法(Neo4j搭配JDK安装的图文教程)、案例应用之详细攻略 目录 Neo4j的简介 Neo4j的安装和使用方法 Neo4j的应用案例 Neo4j的简介 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1991

【Neo4j】第 11 章 :在您的 Web 应用程序中使用 Neo4j

在本书中,我们学到了很多关于 Neo4j 功能的知识,包括图数据建模、Cypher 和使用 Graph Data Science Library 的链接预测。我们所做的几乎所有事情都需要编写 Cypher 查询来提取数据和/或将结果存储在 Neo4j 中。在本章中,我们将讨论如何在真实世界的 Web 应用程序中使用 Neo4j,使用 Python 和 Flask 框架或 React JavaScript 框架。本章还将让您有机会使用 GraphQL 来构建灵活的 Web API。让我们开始吧!

sikh_0529的博客 2362

史上最全面的Neo4j使用指南

Neo4j图形数据库教程 Neo4j图形数据库教程 第一章:介绍 Neo4j是什么 Neo4j的特点 Neo4j的优点 第二章:安装 1.环境 2.下载 3.开启远程访问 4.测试 第三章:CQL 1.CQL简介 2.Neo4j CQL命令/条款 3.Neo4j CQL 函数 4.Neo4j CQL数据类型 第四章:...

weixin_34314962的博客 8316

BUCK降压电路设计实战:从理论到PCB的完整指南

本文详细介绍了BUCK降压电路的设计实战,从基础原理到PCB布局的完整指南。通过关键部件选型、PCB布局黄金法则和调试技巧,帮助工程师高效设计稳定可靠的开关电源。特别针对电感、MOSFET和电容选型提供实用公式和避坑指南,并分享高温环境下的工程经验与测试方法。

weixin_33744141的博客 451

MuJoCo与Isaac Sim的无缝对接:利用USD导出功能实现强化学习场景的跨平台迁移

本文详细介绍了如何通过USD导出功能实现MuJoCo与Isaac Sim的无缝对接,助力强化学习场景的跨平台迁移。文章解析了USD格式的核心优势,包括分层合成、物理属性继承和时间轴动画,并提供了从MJCF到USD的完整转换流程及在Isaac Sim中的高级应用技巧,帮助开发者高效迁移和优化强化学习环境。

weixin_29073241的博客 515

【Neo4j入门】Neo4j介绍

Neo4j-CQL使用CQL命令常用命令load csvcreate创建创建节点创建关系创建全路径match查询return返回where 子句delete删除set 添加属性功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 CQL

weixin_44849501的博客 4739

半导体EAP系统入门指南:从零开始理解设备自动化程序(附实战案例)

本文深入浅出地介绍了半导体制造中EAP(设备自动化程序)系统的核心作用与工作原理。EAP作为连接MES与生产设备的桥梁,负责指令翻译、数据采集与实时控制,是实现晶圆厂全自动化的关键。文章通过对比手动与自动模式,阐述了EAP在提升效率、保障良率方面的价值,并提供了一个实战案例,帮助读者从零构建对半导体CIM体系中这一关键组件的理解。

weixin_29200741的博客 734

SpringBoot集成neo4j实战

文章目录1.图数据库Neo4j介绍1.1 什么是图数据库(graph database)1.2 为什么需要图数据库1.3 Neo4j特点和优势Neo4j的特点Neo4j的优点1.4 Neo4j - 数据模型2.安装Neo4j3.Neo4j常用sql语句4.SpringBoot集成neo4j4.1 添加依赖4.2 在application.properties中配置连接信息5.实战5.1 新增实体类5.2 新建持久化类(PersonRepository)5.3 测试新增删除修改查询建立联系 1.图数据库Neo

zhiyikeji的博客 7673

Oracle入门——基础语法篇

ROWID是Oracle中的一个伪列,用于唯一标识数据库中的每一行。在查询中,可以使用ROWID来定位和操作特定的行,例如,删除特定的行或更新特定的行。在Oracle中,子查询是指嵌套在另一个查询内部的查询语句,它可以作为主查询的一部分,用于提供额外的过滤条件、计算或数据源。在Oracle中,连接查询是通过使用JOIN子句将两个或多个表中的数据合并在一起,以获取满足特定条件的结果集。在Oracle数据库中,ROWID和ROWNUM都是用于对行进行标识和定位的伪列,它们在查询中的使用有一些不同之处。

麦当当的博客 3089

【Claude】API Error 通用错误:错误码含义与标准排查流程 bug报错已解决

Claude API 各类错误码速查与标准排查流程。

博客 8243

探索Neo4j:深入了解图形数据库及其应用

Neo4j提供了一种高效管理连接数据的方式,适用于多种应用场景。Neo4j官方文档Cypher查询语言参考Langchain社区资源。

ppoojjj的博客 616

【K8S系列】在 Kubernetes 中使用 Prometheus 进行监控的详细指南

Prometheus 是一个开源的监控和报警工具,广泛用于 Kubernetes 环境中。本文将深入探讨如何通过 Kubernetes 中的注解配置 Prometheus 的抓取设置,以高效监控服务,并确保系统的可靠性和可维护性。

颜淡慕潇 2万+

Neo4j笔记(三)Neo4j批量导入数据

Neo4j批量导入提供了三个工具:load csv、neo4j-admin import、apoc。本文只介绍前两个方法,也是使用最多的方法,关于apoc的内容在后面介绍。load csv和neo4j-admin import的主要区别就是 load csv是在线导入方式,即Neo4j不需要停止运行,支持增量导入数据,本质是cypher语言;neo4j-admin import 导入数据必须是生成...

haveanybody的博客 1万+

学Simulink--进阶电机控制场景实例:基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文详细介绍了基于Simulink的异步电机定子磁链定向控制(SFOC)仿真实现方法。主要内容包括:1) SFOC原理分析,突出其对转子参数不敏感的优势;2) 工业风机驱动系统的完整建模流程,涵盖主电路搭建、坐标变换、磁链观测器设计等关键步骤;3) 核心模块代码实现,包括电压模型磁链观测器和双闭环PI控制器;4) 仿真结果验证了SFOC在转速响应(0.2s)、转矩恢复(0.15s)和参数鲁棒性(转子电阻变化50%时转速波动<2%)方面的优异性能。本文为工程师提供了实用的SFOC系统开发指南,特别适用于

amy_mhd的博客 116

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: 基于Protégé-5.6.4win版本和D2RQ的本体建模与知识表示(未完待续)
下一篇: 电影知识图谱设计与KBQA智能问答系统实现(有空再写)
冰万森
博客等级 码龄5年 1万+粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值