当前位置: 首页 > news >正文

【Neo4j数据库】图数据库_Neo4j增加节点(关系)、查询、删除数据库等操作解析(Cypher语句)

【Neo4j数据库】图数据库_Neo4j增加节点(关系)、查询、删除操作解析(Cypher语句)

文章目录

  • 【Neo4j数据库】图数据库_Neo4j增加节点(关系)、查询、删除操作解析(Cypher语句)
    • 1. 介绍
    • 2. 节点的创建和查询
      • 2.1 创建节点
      • 2.2 查询节点
    • 3. 创建关系
      • 3.1 创建没有任何属性的关系
      • 3.2 创建关系,并设置关系的属性
      • 3.3 创建双向关系
      • 3.4 查询关系
      • 3.5 查询有向关系的节点
      • 3.6 为关系命名
      • 3.7 查询特定的关系类型
    • 4. 删除(两种方法)
      • 4.1 命令行直接删除节点
      • 4.2 删除数据库文件
    • 5. 常用查询关键词
      • 5.1 count
      • 5.2 limit
      • 5.3 Distinct
      • 5.4 Order by
      • 5.5 根据id查找
      • 5.6 In的用法
      • 5.7 Exists
      • 5.8 With
      • 5.9 Contains
      • 5.10 Union all (Union)
    • 6. 补充
      • 6.1 创建一个完整的Path
      • 6.2 为节点增加一个属性
      • 6.3 为节点增加标签
      • 6.4 为关系增加属性
      • 6.5 MERGE
      • 6.6 跟实体相关的函数
    • 参考

1. 介绍

Cypher语言的关键字不区分大小写,但是属性值,标签,关系类型和变量是区分大小写的。

Neo4j 中不存在表的概念,只有标签(labels),节点(Node),关联(Relation),路径(path),标签里存的节点,节点和关联可以简单理解为图里面的点和边,路径是用节点和关联表示的如:(a)-[r]->(b),表示一条从节点 a 经关联 r 到节点 b 的路径。

在数据查询中,

  • 节点一般用小括号()
  • 关系中用括号[]

2. 节点的创建和查询

注意:执行多条cypher语句时,语句之间用分号隔开,browser中的设置菜单下,勾选 Enable multi statement query editor,默认是没有选中的。

2.1 创建节点

// 创建Person 标签,刘德华等若干节点,各自有name,birthday ,born,englishname等属性。
create (n:Person { name: ‘刘德华’, birthday:1961927日’,born: 1961 ,englishname:‘Andy Lau’})
create (n:Person { name: ‘朱丽倩’, birthday:196646日’,born: 1966 ,englishname:‘Carol’}) ;
create (n:Person { name: ‘刘向蕙’, birthday:201259日’,born: 2012 ,englishname:‘Hanna’}) ;
create (n:Person { name: ‘任贤齐’, birthday:1966623日’,born: 1966 ,englishname:‘Richie Jen’}) ;
create (n:Person { name: ‘金城武’, birthday:19731011日’,born: 1973,englishname:‘Takeshi Kaneshiro’}) ;
create (n:Person { name: ‘林志玲’, birthday:19741129日’,born: 1974,englishname:‘zhilin’}) ;// 创建Movie 标签,彩云曲等若干节点,各自有title,released 等属性
create (n:Movie { title: ‘彩云曲’,released: 1981})
create (n:Movie { title: ‘神雕侠侣’,released: 1983})
create (n:Movie { title: ‘暗战’,released: 2000})
create (n:Movie { title: ‘拆弹专家’,released: 2017})

2.2 查询节点

// 查询整个图形数据库
match(n) return n;
// 查询具有指定标签的节点
match(n:Movie) return n;
// where 谓词查询
*根据name查询
match (n:Person) where n.name=‘林志玲’ return n
*根据节点的制定属性查询
match(n{name:‘林志玲’}) return n;
// 根据节点属性的条件查询
match(n) where n.born<1967 return n;

3. 创建关系

关系的构成:StartNode - [Variable:RelationshipType{Key1:Value1,Key2:Value2}] -> EndNode,

  • 在创建关系时,必须指定关系类型。

3.1 创建没有任何属性的关系

MATCH (a:Person),(b:Movie) WHERE a.name = ‘刘德华’ AND b.title = ‘暗战’ CREATE (a)-[r:DIRECTED]->(b) RETURN r;
// 查询关系
MATCH p=()-[r:DIRECTED]->() RETURN p LIMIT 25

3.2 创建关系,并设置关系的属性

MATCH (a:Person),(b:Movie) WHERE a.name = ‘刘德华’ AND b.title = ‘神雕侠侣’ CREATE (a)-[r:出演 { roles:[‘杨过’] }]->(b) RETURN r;
// 查询关系
MATCH p=()-[r:出演]->() RETURN p LIMIT 25

3.3 创建双向关系

// 刘德华的女是刘向蕙,刘向蕙的父亲是刘德华
MATCH (a:Person),(c:Person)
WHERE a.name = ‘刘德华’ AND c.name = ‘刘向蕙’
CREATE (a)-[r:父亲 { nickname:‘甜心’ }]->(c), (c)-[d:女儿 { nickname:‘爹地’ }]->(a)
RETURN r;

然后,查询:

MATCH p=()-[r:父亲]->() RETURN p LIMIT 25//关系建错了,删除后重新建立
match(a:Person)-[r:女儿]- >(b:Person)delete r;
match(a:Person)-[r:父亲]- >(b:Person)delete r//重新建立双向关系
MATCH (a:Person),(c:Person)
WHERE a.name = ‘刘德华’ AND c.name = ‘刘向蕙’
CREATE (a)-[r:父亲 { nickname:‘爹地’ }]->(c), (c)-[d:女儿 { nickname:‘甜心’ }]->(a)
RETURN r;

接着,查看关系:

match p=()-[r:父亲]- >() return p limit 2

然后,再多创建几个关系

MATCH (a:Person),(c:Movie)
WHERE a.name = ‘刘德华’ AND c.title = ‘彩云曲’
CREATE (a)-[r:出演 { partner:‘张国荣’ }]->(c), (c)-[d:演员 { rolename:‘阿华哥’ }]->(a)
RETURN r;MATCH (a:Person),(c:Movie)
WHERE a.name = ‘刘德华’ AND c.title = ‘拆弹专家’
CREATE (a)-[r:出演 { partner:‘赵薇,高圆圆’ }]->(c), (c)-[d:演员 { rolename:‘华仔’ }]->(a)
RETURN r;MATCH (a:Person),(c:Movie)
WHERE a.name = ‘刘德华’ AND c.title = ‘神雕侠侣’
CREATE (a)-[r:出演 { partner:‘刘亦菲’ }]->(c), (c)-[d:演员 { rolename:‘杨过’ }]->(a)
RETURN r;

继续添加关系

MATCH (a:Person),(c:Person)
WHERE a.name = ‘刘德华’ AND c.name = ‘任贤齐’
CREATE (a)-[d:朋友 { sex:‘男’ }]->(c)
RETURN d;MATCH (a:Person),(c:Person)
WHERE a.name = ‘刘德华’ AND c.name = ‘金城武’
CREATE (a)-[d:朋友 { sex:‘男’ }]->(c)
RETURN d;//这里没有给关系设置属性sex
MATCH (a:Person),(c:Person)
WHERE a.name = ‘刘德华’ AND c.name = ‘林志玲’
CREATE (a)-[d:朋友]->(c)
RETURN d;

查询Person关系:

MATCH (n:Person) RETURN n

3.4 查询关系

  • 在Cypher中,关系分为三种:符号“–”,表示有关系,忽略关系的类型和方向;符号“–>”和“<–”,表示有方向的关系;
// 查询整个数据图形
match(n) return n;
// 查询跟指定节点有关系的节点
match(n)(m:Movie) return n

3.5 查询有向关系的节点

// 查询和刘德华有关系的电影
MATCH (:Person { name: ‘刘德华’ })>(movie)RETURN movie;

3.6 为关系命名

// 通过[r]为关系定义一个变量名,通过函数 type 获取关系的类型
MATCH (:Person { name: ‘刘德华’ })-[r]->(movie) RETURN r,type(r);

3.7 查询特定的关系类型

// 通过[Variable:RelationshipType{Key:Value}]指定关系的类型和属性。
MATCH (:Person { name: ‘刘德华’ })-[r:出演{partner:‘张国荣’}]->(Movie) RETURN r,type(r);// 查询和刘德华和张国荣合作过的电影
MATCH (:Person { name: ‘刘德华’ })-[r:出演{partner:‘张国荣’}]->(m:Movie) RETURN m;// 查询被刘德华称呼为甜心的女儿
MATCH (:Person { name: ‘刘德华’ })-[r:女儿{nickname:‘甜心’}]->(m:Person) return m// 查询刘德华的老婆是谁
Match (n:Person{name: ‘刘德华’})-[:wife]->(a:Person) return a// 查询刘德华出演过的电影
match(:Person{name:‘l刘德华’})-[r:‘出演’]- >(a:Movie) return a

4. 删除(两种方法)

4.1 命令行直接删除节点

如果数据库中的数据量并不大,节点数相对较少,我们可以通过命令行直接删除节点

1)删除节点:

create (n:City { name: ‘北京’})
Match (n:City{name:‘北京’}) delete n

2)删除关系

Match (a:Person{name:‘刘德华’})-[r:父亲]->(b:Person{name:‘刘向蕙’}) delete r
Match (a:Person{name:‘刘向蕙’})-[r:女儿]->(b:Person{name:‘刘德华’}) delete r

3)删除对应节点及其所有关系,也就是说,只要符合键值对 { property-name:value } 条件的节点都会被删除

match (n {<property-name>:<value>} ) detach delete (n)
// 示例:
//创建节点
merge(t:Test{id:01,name:"hh"})
merge(t:test{id:02,name:"hh"})//name为hh的两个节点及其关系都会删除
match (n{name:"hh"}) detach delete (n)

4)删除所有节点及其所有关系
此命令不用筛选条件,直接将数据库中的所有节点及关系全部删除

match (n) detach delete (n)

4.2 删除数据库文件

如果数据库中的数据量很大,节点数非常多,通过命令行删除会比较慢,那么我们可以通过物理方式直接删除数据库。

  • 此类操作直接删除了数据库,数据当然都被清空了

方法:

  • 首先,我们需要关闭 Neo4j 数据库的运行;
  • 然后找到 Neo4j 数据库的存放目录,也就是 <NEO4J_HOME>/data/ 。如果忘记了 NEO4J_HOME 可以去环境变量中查看
    最后,针对不同的 neo4j 版本,进行不同的删除操作。
    • 3.x版:Neo4j 的 3.x 版本下有一个 databases 文件夹,进入这个文件夹,里面有一个 graph.db 的文件夹和一个 store_lock 文件。
      这个 graph.db 文件夹就是我们当前使用的数据库,直接删除即可。
    • 4.x版:Neo4j 的 4.x 版本下有一个 databases 文件夹和一个 transactions 文件夹,两个文件夹下都有 graph.db。
      我们将这两个文件夹下的 graph.db 都删除即可。

5. 常用查询关键词

5.1 count

查询Person 一共有多少人

Match (n:Person ) return count(n)

查询标签(Person)中born=1966的一共有多少节点(人):

三种写法(第三种不能用似乎)1、Match (n:Person) where n.born=1966 return count(n)
2、Match (n:Person{born:1966}) return count(n) //特别注意类型,如果存的类似是数字类型,使用字符串就查不出来
3. Match (n:Person) return count(n.born=1966) //貌似无效,查出来是错的?

5.2 limit

Match (n:Person) return n limit 3

5.3 Distinct

两个1966,只显示一个:

Match (n:Person) return distinct(n.born)

5.4 Order by

Match(n:Person) return n order by n.born (默认升序)
Match(n:Person) return n order by n.born asc (升序)
Match(n:Person) return n order by n.born desc (降序)

5.5 根据id查找

match (n) where id(n)=548 return n

5.6 In的用法

Match (n) where ID(n) IN[353,145,547] return n
Match (n) where ID(n) IN[145,175,353,547,548] return n

5.7 Exists

节点存在 name这个属性的记录:

Match (n) where exists(n.title) return n

5.8 With

查询name以‘刘’开头的节点:

Match (n) where n.name starts with ‘刘’ return n

5.9 Contains

查询title中含有 ‘侠侣’的节点:

Match (n:Movie) where n.title Contains ‘侠侣’ return n

5.10 Union all (Union)

求并集,不去重(去重用Union, as 取别名):

Match(n:Person) where n.born=1966 return n.name as nameUnion allMatch(n:Movie) where n.released=1983 return n.title as name

6. 补充

6.1 创建一个完整的Path

CREATE p =(m:Person{ name:‘刘亦菲’,title:“演员” })-[:签约]->(neo)<-[:签约]-(n:Person { name: ‘赵薇’,title:“投资人” })
RETURN p

6.2 为节点增加一个属性

  • 通过节点的ID获取节点,Neo4j推荐通过where子句和ID函数来实现。
match (n)
where id(n)=358
set n.name = ‘华谊兄弟’
return n;

6.3 为节点增加标签

match (n)
where id(n)=358
set n:公司
return n;

6.4 为关系增加属性

match (n)-[r]->(m)
where id(n)=357 and id(m)=358
set r.经纪人=‘程晨’
return n;

接着,让刘德华也和华谊兄弟签约

MATCH (a:Person),(c:公司)
WHERE a.name = ‘刘德华’ AND c.name = ‘华谊兄弟’
CREATE (a)-[d:签约 { 经纪人:‘刘得得’ }]->©
RETURN d;

6.5 MERGE

Merge子句的作用有两个:

  • 当模式(Pattern)存在时,匹配该模式;
  • 当模式不存在时,创建新的模式,功能是match子句和create的组合。在merge子句之后,可以显式指定on creae和on match子句,用于修改绑定的节点或关系的属性。

通过merge子句,你可以指定图形中必须存在一个节点,该节点必须具有特定的标签,属性等。

  • 如果不存在,那么merge子句将创建相应的节点。
  • 通过merge子句匹配搜索模式,匹配模式是:一个节点有Person标签,并且具有name属性;如果数据库不存在该模式,那么创建新的节点;如果存在该模式,那么绑定该节点;

1)基础。

MERGE (m:Person { name: ‘迈克尔·杰克逊’ })
RETURN m;

2)在merge子句中指定on create子句
如果需要创建节点,那么执行on create子句,修改节点的属性;

MERGE (m:Person { name: ‘杰森·斯坦森’ })
ON CREATE SET m.registertime = timestamp()
RETURN m.name, m.registertime

3)在merge子句中指定on match子句
如果节点已经存在于数据库中,那么执行on match子句,修改节点的属性;节点属性不存在则新增。

MERGE (m:Person)
ON MATCH SET m.registertime = timestamp()
RETURN m.name, m.registertime

4)在merge子句中同时指定on create 和 on match子句,(没有对应属性则修改不成功,不会新增属性)

MERGE (m:Person{ name: ‘李连杰’ })
ON CREATE SET m.registertime = timestamp()
ON MATCH SET m.offtime = timestamp()
RETURN m.name, m.registertime,m.offtime

6)merge子句用于match或create一个关系

MATCH (m:Person { name: ‘刘德华’ }),(n:Movie { title: ‘神雕侠侣’ })
MERGE (m)-[r:导演]->(n)
RETURN m.name, type(r), n.title

7)merge子句用于match或create多个关系
赵薇既是神雕侠侣的导演,也是神雕侠侣的演员

MATCH (m:Person { name: ‘赵薇’ }),(n:Movie { title: ‘神雕侠侣’ })
MERGE (m)-[r:导演]->(n)<-[r2:出演]-(m)
RETURN m.name, type(r),type(r2), n.title

8)merge子句用于子查询
先添加基础数据,创建城市节点:

create (n:City { name: ‘北京’,othername:‘帝都’})
create (n:City { name: ‘香港’,othername:‘HongKong’})
create (n:City { name: ‘台湾’,othername:‘湾湾’})

9)为Person标签的每个节点都增加一个属性 bornin,

match (n:Person)
set n.bornin = ‘’
return n;match (n)
where id(n)=175
set n.bornin = ‘香港’
return n;match (n)
where n.name=‘金城武’
set n.bornin = ‘台湾’
return n;

10)需求:查找刘德华和金城武的信息和所在地的othername(相当于mysql 连表查询)

MATCH (p:Person)
where p.name=‘刘德华’ or p.name=‘金城武’
MERGE (c:City { name: p.bornin })
RETURN p.name,p.born,p.bornin , c.othername;

11)创建刘德华出生地是香港这条关系

MATCH (a:Person),(c:City)
WHERE a.name = ‘刘德华’ AND c.name = ‘香港’
CREATE (a)-[r:出生地]->(c)
RETURN r;

12)需求:给Person中每个节点都创建一个出生地的关系,没有则返回null

MATCH (p:Person)
MERGE (c:City { name: p.bornin })
MERGE §-[r:出生地]->(c )
RETURN p.name, p.bornin, c.othername;

13)删除这些关系

Match (a:Person)-[r:出生地]->(c:City{name:’’}) delete r
Match (a:City)-[r:出生地]->(c:Person) delete r

14)查询Person标签中不存在name属性的节点

Match (n:Person) where not exists(n.name) return n
Match (n:Person) where not exists(n.name) delete ncreate (n:Prize { name: ‘金马奖’});
create (n:Prize { name: ‘奥斯卡金奖’});
create (n:Prize { name: ‘金鸡奖’});
create (n:Prize { name: ‘香港电影金像奖’});

6.6 跟实体相关的函数

1)通过id函数,返回节点或关系的ID
查询Person标签中和刘德华有关系的 id(节点和关系)

MATCH (:Person { name: ‘刘德华’ })-[r]->(movie)
RETURN id(r);

2)通过type函数,查询关系的类型
查询Person标签中和刘德华相关的关系(以下三种结果相同)

MATCH (:Person { name: ‘刘德华’ })-[r]->(a)
MATCH (:Person { name: ‘刘德华’ })-[r]->(b)
MATCH (:Person { name: ‘刘德华’ })-[r]->()
RETURN type(r);

3)通过lables函数,查询节点的标签
查询和刘德华有关系的节点

MATCH (:Person { name: ‘刘德华’ })-[r]->p
RETURN p;

4)通过keys函数,查看节点或关系的属性键

MATCH (a)
WHERE a.name = ‘刘德华’
RETURN keys(a)

5)通过properties()函数,查看节点或关系的属性

MATCH (a)
WHERE a.name = ‘刘德华’
RETURN properties(a)

参考

【1】https://blog.csdn.net/qq_42582489/article/details/125545454
【2】https://blog.csdn.net/qq_35793394/article/details/107833467
【3】https://blog.csdn.net/poxiaomeng187/article/details/82496157

相关文章:

【Neo4j数据库】图数据库_Neo4j增加节点(关系)、查询、删除数据库等操作解析(Cypher语句)

【Neo4j数据库】图数据库_Neo4j增加节点&#xff08;关系&#xff09;、查询、删除操作解析&#xff08;Cypher语句&#xff09; 文章目录 【Neo4j数据库】图数据库_Neo4j增加节点&#xff08;关系&#xff09;、查询、删除操作解析&#xff08;Cypher语句&#xff09;1. 介绍2…...

Linux移动文件和文件夹(目录)命令

命令mv 英文move 翻译移动 mv命令可以移动文件或文件夹&#xff08;目录&#xff09;&#xff0c;也可以重命令&#xff08;覆盖&#xff09;文件。 1. 移动文件/重命名 单纯地移动某一个文件直接使用&#xff1a; mv <源文件名称/地址> <新文件名称/地址>这个方法…...

Pandas的应用-5

Pandas是一个强大的数据处理库&#xff0c;它提供了高性能、易于使用的数据结构和数据分析工具。本文将介绍Pandas常用的数据结构和常用的数据分析技术&#xff0c;包括DataFrame的应用、窗口计算、相关性判定、Index的应用、范围索引、分类索引、多级索引以及日期时间索引。 …...

java继承类怎么写

继承类是通过把父类的方法和属性继承到一个类中&#xff0c;而子类的方法和属性是子类自己定义的。 Java中有一个很重要的概念叫做继承&#xff0c;这也是 Java语言的精髓所在。Java语言提供了一种机制&#xff0c;叫做派生类。在 Java中&#xff0c;如果没有实现了某个派生类方…...

面向对象程序设计

OOP 【面向对象程序设计】&#xff08;OOP&#xff09;与【面向过程程序设计】在思维方式上存在着很大的差别。【面向过程程序设计】中&#xff0c;算法是第一位的&#xff0c;数据结构是第二位的&#xff0c;这就明确地表述了程序员的工作方式。首先要确定如何操作数据&#…...

Linux 用户身份切换(su,sudo)

文章目录 Linux 用户身份切换su使用案例 sudo使用案例 visudo与/etc/sudoers单一用户可使用root所有命令&#xff0c;与sudoers文件语法利用wheel用户组以免密码的功能处理visudo有限制的命令操作通过别名创建visudosudo的时间间隔问题sudo搭配su的使用方式 Linux 用户身份切换…...

求倒置数问题

文章目录 求倒置数程序设计程序分析求倒置数 【问题描述】数组A【0,…,n-1】是一个n个不同整数数构成的数组。如果i<j,但是A[i]〉A[j],则这对元素(A[i],A[j])被称为一个倒置(inversion)。设计一个O(nlogn)算法来计算数组中的倒置数量 【输入形式】输入两行,第一行…...

sed(学习)

1、清除环境变量 ​​​​​​profile~/.bash_profile sed -i s#export LD_LIBRARY_PATH.*##g $profile 2、设置环境变量(替换值) sed -i s#export LD_LIBRARY_PATH.*#export LD_LIBRARY_PATH/opt/testlinux/lib#g ~/.bash_profile 3、修改配置文件 sdk_dir/root/test log_dir/…...

B - GCD Subtraction

文章目录 AtCoder Regular Contest 159B - GCD Subtraction AtCoder Regular Contest 159 B - GCD Subtraction 问题&#xff1a;每次A,B都减去gcd(A,B)&#xff0c;求其中一个减到0至少需要多少次主要思路&#xff1a; 首先第一步应该想到每次减去的数&#xff0c;先减去的数…...

解决Failed to load ApplicationContext问题的思路

中文翻译&#xff1a; 加载ApplicationContext失败 第一步&#xff1a;首先检查测试类的注解 以及 依赖 SpringBootTest <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scop…...

基于CAMX大气臭氧来源解析模拟与臭氧成因分析实践技术应用

查看原文>>>基于CAMX大气臭氧来源解析模拟与臭氧成因分析实践技术应用 目录 专题一、大气臭氧污染来源及成因分析技术讲解&#xff1b;CAMx模式初识及臭氧来源解析模拟本地案例配置说明 专题二、CAMx模式编译安装及空气质量模拟案例配置 专题三、CAMx扩展和探测工…...

异常的讲解 (1)

目录 异常入门的案例 异常介绍 基本概念 异常的小结 常见的运行时异常 1.NullPointerException空指针异常 2.ArithmeticException数学运算异常 3.ArraylndexOutOfBoundsException数组下标越界异常 4.ClassCastException类型转换异常 5.NumberFormatException数字格式不…...

Prometheus - Grafana 监控 MySQLD Linux服务器 demo版

目录 首先是下载Prometheus 下载和安装 配置Prometheus 查看监控数据 监控mysql demo 部署 mysqld_exporter 组件 配置 Prometheus 获取监控数据 -------------------------------------- 安装和使用Grafana 启动Grafana -------------------------------------- 配…...

应届生,实力已超6年,太卷了!

你好&#xff0c;我是田哥 今晚上&#xff0c;给一位朋友做模拟面试&#xff0c;原本说好的90分钟左右&#xff0c;结果整了2个多小时。 很多人估计也很好奇&#xff0c;我们这两个多小时聊聊什么&#xff0c;下面我给大致总结一下&#xff1a; 面试技巧 面试中&#xff0c;我们…...

0-1背包问题

文章目录 0-1背包问题JavaPython0-1背包问题 【问题描述】 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 【输入形式】 第一行输入物品的个数n和背包容量C。 第二行输入每个物品的价值v[i…...

VUE前端项目环境搭建

背景&#xff1a; 想要使用vue搭建一个前端项目&#xff0c;写个小网站练练手&#xff0c;因为没有前端经验&#xff0c;所以从网上找了一个vue得开源模板使用&#xff0c;经过一番挑选选中了字节公司花裤衩大佬开源得项目&#xff0c;地址如下&#xff1a; 开源项目地址&…...

VMware安装Win2000安装程序闪退重启等问题的解决方法

VMware安装Win2000安装程序闪退重启等问题的解决方法 【症状】 1、比较新的VMware版本如16.2.5&#xff0c;Win2000安装时&#xff0c;安装程序在安装Distributed Transaction Coordinator时闪退重启 2、比较新的VMware版本如17.0.1&#xff0c;还会发生显示跳跃性卡顿的现象…...

【id:45】【20分】A. Equation(类与对象+构造)

题目描述 建立一个类Equation&#xff0c;表达方程ax2bxc0。类中至少包含以下方法&#xff1a; 1、无参构造&#xff08;abc默认值为1.0、1.0、0&#xff09;与有参构造函数&#xff0c;用于初始化a、b、c的值&#xff1b; 2、set方法&#xff0c;用于修改a、b、c的值 3、ge…...

数据库事务

什么是事务 在数据库中&#xff0c;事务&#xff08;Transaction&#xff09;是指一组数据库操作&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部失败回滚&#xff0c;是保证数据库操作一致性的基本单位。事务具有原子性&#xff08;Atomicity&#xff09;、一致性…...

Macbook(苹果电脑) VSCode 创建简单c++程序 配置C++开发环境

1.打开 Terminal 终端&#xff08;Command空格&#xff0c;输入Terminal&#xff09;。 1.1 输入如下指令&#xff0c;查看是否显示版本信息。 clang --version 1.2 如果出现版本信息&#xff0c;则跳过&#xff0c;否则输入 xcode-select --install 2. 为 VS Code 安装插件 …...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...