国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Neo4j教程之CQL命令基本使用】

這篇具有很好參考價(jià)值的文章主要介紹了【Neo4j教程之CQL命令基本使用】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Neo4j教程之CQL命令基本使用】

?? Neo4j ??

?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ??
?? 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣?
?? 作者簡介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國家獎(jiǎng)學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗(yàn)分享|好用的網(wǎng)站工具分享??????
?? 恭喜你發(fā)現(xiàn)一枚寶藏博主,趕快收入囊中吧??
?? 人生如棋,我愿為卒,行動(dòng)雖慢,可誰曾見我后退一步?????

?? Neo4j ??

【Neo4j教程之CQL命令基本使用】
【Neo4j教程之CQL命令基本使用】

?? Neo4j的CQL詳細(xì)使用教程

Neo4j是一款高度可伸縮的圖形數(shù)據(jù)庫,它使用Cypher查詢語言處理圖形數(shù)據(jù)。但是,Neo4j還可以使用CQL(Cypher Query Language)作為處理和查詢數(shù)據(jù)的替代方式。本篇博客將介紹如何使用CQL查詢語言在Neo4j中創(chuàng)建、修改和查詢數(shù)據(jù),以及一些常見的案例演示。
【Neo4j教程之CQL命令基本使用】

?? Neo4j官方CQL手冊(cè)

Neo4j官方指導(dǎo)手冊(cè)
【Neo4j教程之CQL命令基本使用】

?? CQL 基本語法

在學(xué)習(xí)CQL之前,有必要先學(xué)習(xí)一些基本的語法、鍵和操作符。

?? 創(chuàng)建節(jié)點(diǎn)

要在Neo4j中創(chuàng)建一個(gè)節(jié)點(diǎn),需要使用以下語法:

CREATE (node_name:label_type {property:value});

其中:

  • CREATE: 創(chuàng)建新節(jié)點(diǎn)。
  • node_name: 節(jié)點(diǎn)的名稱。
  • label_type: 節(jié)點(diǎn)所屬的標(biāo)簽類型。
  • property:value: 節(jié)點(diǎn)屬性和值。

例如,要?jiǎng)?chuàng)建一個(gè)名為John的人員節(jié)點(diǎn),具有名為age的屬性和值為30的值,可以使用以下命令:

CREATE (John:Person { age: 30 });

如果要?jiǎng)?chuàng)建多個(gè)帶有相同標(biāo)簽的節(jié)點(diǎn),則可以使用以下語法:

CREATE (node_name_1:label_type {property:value}), (node_name_2:label_type {property:value}), ...;

例如,要?jiǎng)?chuàng)建兩個(gè)分別名為JohnSandra的人員節(jié)點(diǎn),都屬于Person標(biāo)簽,可以使用以下命令:

CREATE (John:Person { age: 30 }), (Sandra:Person { age: 25 });

?? 創(chuàng)建關(guān)系

在Neo4j中,關(guān)系是將兩個(gè)節(jié)點(diǎn)連接在一起的東西。要在Neo4j中創(chuàng)建關(guān)系,需要使用以下語法:

CREATE (node_name_1:label_type)-[:relationship_type {property:value}]->(node_name_2:label_type);

其中:

  • node_name_1: 路徑的開始節(jié)點(diǎn)。
  • label_type: 開始節(jié)點(diǎn)的標(biāo)簽類型。
  • relationship_type: 路徑的關(guān)系類型。
  • property:value: 關(guān)系屬性和值。

例如,要在兩個(gè)已經(jīng)創(chuàng)建的節(jié)點(diǎn)之間創(chuàng)建FRIENDS_WITH關(guān)系,可以使用以下命令:

MATCH (node1:Person {name: "John"}), (node2:Person {name: "Sandra"})
CREATE (node1)-[:FRIENDS_WITH {years:3}]->(node2);

?? 查詢節(jié)點(diǎn)

要在Neo4j中查詢節(jié)點(diǎn),需要使用以下語法:

MATCH (node_name:label_type) WHERE node_name.property = value RETURN node_name;

其中:

  • MATCH: 匹配查詢模式。
  • node_name: 匹配節(jié)點(diǎn)的名稱。
  • label_type: 匹配節(jié)點(diǎn)所屬標(biāo)簽類型。
  • WHERE: 匹配額外的條件。
  • property: 節(jié)點(diǎn)屬性。
  • value: 節(jié)點(diǎn)屬性的值。
  • RETURN: 返回匹配到的結(jié)果。

例如,要查詢某條關(guān)系的節(jié)點(diǎn),可以使用以下命令:

MATCH (:Person {name: "John"})-[:FRIENDS_WITH]->(p:Person) RETURN p;

?? 修改節(jié)點(diǎn)

要在Neo4j中修改節(jié)點(diǎn)信息,需要使用以下語法:

MATCH (node_name:label_type {property:value}) SET node_name.new_property = new_value;

其中:

  • MATCH: 匹配查詢模式。
  • node_name: 匹配節(jié)點(diǎn)的名稱。
  • label_type: 匹配節(jié)點(diǎn)所屬標(biāo)簽類型。
  • property: 節(jié)點(diǎn)屬性。
  • value: 節(jié)點(diǎn)屬性的值。
  • SET: 設(shè)置節(jié)點(diǎn)的新屬性。
  • new_property: 節(jié)點(diǎn)新的屬性。
  • new_value: 節(jié)點(diǎn)新屬性的值。

例如,要更改John節(jié)點(diǎn)的年齡屬性為40,可以使用以下命令:

MATCH (p:Person {name: 'John'})
SET p.age = 40
RETURN p;

?? DELETE命令

在Neo4j的CQL(Cypher Query Language)中,DELETE命令是用于刪除節(jié)點(diǎn)和關(guān)系的重要命令。本篇博客將介紹如何使用DELETE命令在Neo4j中刪除數(shù)據(jù),以及一些實(shí)際的案例演示。

?? CQL中的DELETE基本語法

要在Neo4j中刪除節(jié)點(diǎn)和關(guān)系,您可以使用以下語法:

MATCH (node_name:label_type {property:value}) OPTIONAL MATCH (node_name)-[relation:relationship_type]-()
DELETE node_name, relation;

其中:

  • MATCH: 匹配查詢模式。
  • node_name: 匹配節(jié)點(diǎn)的名稱。
  • label_type: 匹配節(jié)點(diǎn)所屬標(biāo)簽類型。
  • property: 節(jié)點(diǎn)屬性。
  • value: 節(jié)點(diǎn)屬性的值。
  • OPTIONAL MATCH: 連接可選的查詢模式。
  • relationship_type: 查詢模式中的關(guān)系類型。
  • relation: 匹配的關(guān)系。
  • DELETE: 刪除匹配的節(jié)點(diǎn)和關(guān)系。

例如,要?jiǎng)h除節(jié)點(diǎn)名稱為JanePerson節(jié)點(diǎn)和連接至該節(jié)點(diǎn)的所有關(guān)系,可以使用以下命令:

MATCH (p:Person {name: 'Jane'})
OPTIONAL MATCH (p)-[r]-()
DELETE p, r;

這將刪除節(jié)點(diǎn)p以及與之相關(guān)的所有關(guān)系。

?? CQL案例演示

接下來,我們將介紹一些關(guān)于使用CQL進(jìn)行刪除的實(shí)際案例。

?? 案例一:刪除節(jié)點(diǎn)

假設(shè)我們要?jiǎng)h除一個(gè)標(biāo)簽類型為Person的節(jié)點(diǎn)。以下是刪除節(jié)點(diǎn)操作的示例代碼:

MATCH (p:Person {name: 'John'})
OPTIONAL MATCH (p)-[r]-()
DELETE p, r;

這將刪除名為JohnPerson節(jié)點(diǎn)及其連接的關(guān)系。

?? 案例二:刪除一類節(jié)點(diǎn)

假設(shè)我們要?jiǎng)h除標(biāo)簽類型為Person的所有節(jié)點(diǎn)。以下是刪除所有Person節(jié)點(diǎn)及其關(guān)系的示例代碼:

MATCH (p:Person)
OPTIONAL MATCH (p)-[r]-()
DELETE p, r;

這將刪除所有標(biāo)簽類型為Person的節(jié)點(diǎn)及其與之關(guān)聯(lián)的關(guān)系。

?? 案例三:刪除關(guān)系

此時(shí),我們要?jiǎng)h除John節(jié)點(diǎn)和Sandra節(jié)點(diǎn)之間的FRIENDS_WITH關(guān)系。以下是刪除指定關(guān)系的示例代碼:

MATCH (:Person {name: "John"})-[r:FRIENDS_WITH]-(:Person {name: "Sandra"})
DELETE r;

這將刪除JohnSandra節(jié)點(diǎn)之間的FRIENDS_WITH關(guān)系。

?? 案例四:批量刪除

有時(shí)候,我們需要根據(jù)某些條件,對(duì)數(shù)據(jù)進(jìn)行批量刪除。例如,我們要?jiǎng)h除所有Person節(jié)點(diǎn)的年齡小于30歲或超過40歲的節(jié)點(diǎn)。以下是示例代碼:

MATCH (p:Person)
WHERE p.age < 30 OR p.age > 40
OPTIONAL MATCH (p)-[r]-()
DELETE p, r;

這將刪除所有Person節(jié)點(diǎn)的年齡小于30歲或大于40歲的節(jié)點(diǎn)及其與之關(guān)聯(lián)的所有關(guān)系。

?? REMOVE命令

?? CQL中的REMOVE基本語法

要在Neo4j中修改節(jié)點(diǎn)屬性,可以使用以下語法:

MATCH (node_name:label_type {property:value})
REMOVE node_name.property_name;

其中:

  • MATCH: 匹配查詢模式。
  • node_name: 匹配節(jié)點(diǎn)的名稱。
  • label_type: 匹配節(jié)點(diǎn)所屬標(biāo)簽類型。
  • property: 節(jié)點(diǎn)屬性。
  • value: 節(jié)點(diǎn)屬性的值。
  • REMOVE: 刪除匹配節(jié)點(diǎn)的指定屬性名及其值。

例如,要?jiǎng)h除名為JohnPerson節(jié)點(diǎn)的age屬性,可以使用以下命令:

MATCH (p:Person {name: 'John'})
REMOVE p.age;

這將刪除名為JohnPerson節(jié)點(diǎn)的age屬性。

?? CQL案例演示

接下來,我們將介紹一些關(guān)于使用CQL進(jìn)行屬性修改的實(shí)際案例。

?? 案例一:移除節(jié)點(diǎn)屬性

此時(shí),我們要移除名為JohnPerson節(jié)點(diǎn)的age屬性。以下是移除指定屬性的示例代碼:

MATCH (p:Person {name: 'John'})
REMOVE p.age;

這將刪除名為JohnPerson節(jié)點(diǎn)的age屬性。

?? 案例二:移除節(jié)點(diǎn)列表屬性

如果要?jiǎng)h除節(jié)點(diǎn)上的列表屬性中的某個(gè)元素,可以使用以下語法:

MATCH (n {name: 'Alice'})
REMOVE n.prop[index];

例如,在刪除一個(gè)名為Alice節(jié)點(diǎn)上的列表屬性prop的第二個(gè)元素時(shí),可以使用以下命令:

MATCH (n {name: 'Alice'})
REMOVE n.prop[1];

這將刪除節(jié)點(diǎn)nprop列表屬性的第二個(gè)元素。

?? ORDER BY排序

CQL還提供了用于排序結(jié)果的功能。

  • 過濾條件可以使用WHERE語句指定,例如根據(jù)屬性值過濾節(jié)點(diǎn)或關(guān)系。
  • 排序可以使用ORDER BY語句指定,例如按屬性值對(duì)結(jié)果進(jìn)行升序或降序排序。
MATCH (node:Label)
WHERE node.property = value
RETURN node
ORDER BY node.property ASC|DESC

?? UNION合并

UNION合并命令是CQL中的一種關(guān)鍵字,它將兩個(gè)或多個(gè)相同類型的查詢結(jié)果合并成一個(gè)結(jié)果集返回給用戶。UNION合并命令通常用于將多個(gè)子查詢的結(jié)果集合并為一個(gè)完整的結(jié)果集,并對(duì)這些結(jié)果進(jìn)行排序和篩選。

?? UNION合并命令的語法
MATCH (n:Label)
WHERE n.property = 'value'
RETURN n.property
UNION 
MATCH (m:Label)
WHERE m.property = 'other_value'
RETURN m.other_property
ORDER BY n.property DESC
??UNION合并命令的案例演示

假設(shè)我們有一個(gè)圖,其中包含了多個(gè)節(jié)點(diǎn)和關(guān)系,我們需要查詢這個(gè)圖中與“Tom”節(jié)點(diǎn)和“Jerry”節(jié)點(diǎn)相連的所有節(jié)點(diǎn),并將結(jié)果用UNION合并命令合并起來。

?? 案例一:合并兩個(gè)查詢結(jié)果集

假設(shè)我們需要查詢兩個(gè)標(biāo)簽類型為Person的節(jié)點(diǎn)集合,并將它們合并為一個(gè)結(jié)果集。以下是合并兩個(gè)查詢結(jié)果集的示例代碼:

MATCH (p:Person)
WHERE p.age > 30
RETURN p.name
UNION
MATCH (p:Person)
WHERE p.gender = 'male'
RETURN p.name;

這將返回age大于30歲和性別為male的所有人的名稱,其中重復(fù)的結(jié)果會(huì)被合并成一個(gè)結(jié)果。

?? 案例二:合并多個(gè)查詢結(jié)果集

如果我們想從多個(gè)標(biāo)簽類型為Person的節(jié)點(diǎn)集合中檢索信息,比如想查看所有age超過40歲或者性別為female的人。以下是合并多個(gè)查詢結(jié)果集的示例代碼:

MATCH (p:Person)
WHERE p.age > 40
RETURN p.name
UNION
MATCH (p:Person)
WHERE p.gender = 'female'
RETURN p.name
UNION
MATCH (p:Person)
WHERE p.nationality = 'USA'
RETURN p.name;

這將返回滿足年齡、性別和國籍條件的所有人的名稱,其中重復(fù)的結(jié)果會(huì)被合并成一個(gè)結(jié)果。

?? 案例三:合并多個(gè)關(guān)系查詢結(jié)果集

此時(shí),我們想要找到與特定節(jié)點(diǎn)相關(guān)聯(lián)的所有朋友和家庭成員。以下是基于關(guān)系合并多個(gè)查詢結(jié)果集的示例代碼:

MATCH (n:Person {name: 'John'})-[:FRIENDS_WITH]->(f)
RETURN f.name
UNION
MATCH (n:Person {name: 'John'})-[:IS_FAMILY_OF]->(f)
RETURN f.name;

這將返回名稱為John的Person節(jié)點(diǎn)的朋友和家庭成員名稱。

?? UNION ALL子句

在Neo4j的CQL(Cypher Query Language)中,UNION ALL是一種用于合并多個(gè)查詢結(jié)果集的關(guān)鍵字,它與UNION的區(qū)別是它不會(huì)合并重復(fù)的結(jié)果。本篇博客將介紹如何使用UNION ALL命令在Neo4j中合并多個(gè)查詢結(jié)果集,以及一些實(shí)際的案例演示。

?? UNION ALL合并命令的語法

要在Neo4j中將多個(gè)查詢結(jié)果集合并,可以使用以下語法:

QUERY1
UNION ALL
QUERY2
UNION ALL
QUERY3
...

其中,QUERY1,QUERY2,QUERY3等都是要合并的查詢語句,UNION ALL命令用于合并這些查詢結(jié)果集并返回一個(gè)整體的結(jié)果集,不去除任何重復(fù)的結(jié)果。

??UNION ALL合并命令的案例演示

接下來,我們將介紹一些使用CQL進(jìn)行結(jié)果集合并的實(shí)際案例。

?? 案例一:合并兩個(gè)查詢結(jié)果集

假設(shè)我們需要查詢兩個(gè)標(biāo)簽類型為Person的節(jié)點(diǎn)集合,并將它們合并為一個(gè)結(jié)果集。以下是合并兩個(gè)查詢結(jié)果集的示例代碼:

MATCH (p:Person)
WHERE p.age > 30
RETURN p.name AS name
UNION ALL
MATCH (p:Person)
WHERE p.gender = 'male'
RETURN p.name AS name;

這將返回age大于30歲和性別為male的所有人的名稱,沒有去除任何重復(fù)的結(jié)果。

?? 案例二:合并多個(gè)查詢結(jié)果集

如果我們想從多個(gè)標(biāo)簽類型為Person的節(jié)點(diǎn)集合中檢索信息,比如想查看所有age超過40歲或者性別為female的人。以下是合并多個(gè)查詢結(jié)果集的示例代碼:


MATCH (p:Person)
WHERE p.age > 40
RETURN p.name AS name
UNION ALL
MATCH (p:Person)
WHERE p.gender = 'female'
RETURN p.name AS name
UNION ALL
MATCH (p:Person)
WHERE p.nationality = 'USA'
RETURN p.name AS name;

這將返回滿足年齡、性別和國籍條件的所有人的名稱,并將它們合并為一個(gè)結(jié)果集,沒有去除任何重復(fù)的結(jié)果。

?? 合并多個(gè)關(guān)系查詢結(jié)果集

此時(shí),我們想要找到與特定節(jié)點(diǎn)相關(guān)聯(lián)的所有朋友和家庭成員。以下是基于關(guān)系合并多個(gè)查詢結(jié)果集的示例代碼:

MATCH (n:Person {name: 'John'})-[:FRIENDS_WITH]->(f)
RETURN f.name AS name
UNION ALL
MATCH (n:Person {name: 'John'})-[:IS_FAMILY_OF]->(f)
RETURN f.name AS name;

這將返回名稱為John的Person節(jié)點(diǎn)的朋友和家庭成員名稱,并將它們合并為一個(gè)結(jié)果集,沒有去除任何重復(fù)的結(jié)果。

?? LIMIT和SKIP子句

在Neo4j的CQL(Cypher Query Language)中,LIMITSKIP是兩個(gè)用于控制查詢結(jié)果集返回的子句,可以被組合在一起使用來限制查詢的結(jié)果。本篇博客將介紹如何使用LIMITSKIP子句合并命令來控制查詢結(jié)果集的返回順序,以及一些實(shí)際的案例演示。

?? CQL中的LIMIT和SKIP基本語法

要在Neo4j中限制查詢結(jié)果集返回的數(shù)量,可以使用以下語法:

MATCH (n)
RETURN n.property
LIMIT n
SKIP m

其中,n表示要返回的結(jié)果集數(shù)量,m表示要跳過的結(jié)果集數(shù)量。使用LIMITSKIP子句時(shí),返回的結(jié)果集將會(huì)是從跳過指定數(shù)量的結(jié)果集之后的前n個(gè)結(jié)果集。

?? CQL案例演示

接下來,我們將介紹一些使用CQL進(jìn)行結(jié)果集控制的實(shí)際案例。

?? 案例一:使用LIMIT和SKIP合并命令限制查詢結(jié)果

假設(shè)我們需要查詢標(biāo)簽類型為Person的節(jié)點(diǎn)集中年齡大于30歲的前5個(gè)結(jié)果。以下是限制查詢結(jié)果的示例代碼:

MATCH (p:Person)
WHERE p.age > 30
RETURN p.name AS name
ORDER BY p.age DESC
SKIP 0
LIMIT 5;

這將返回年齡大于30歲的前5個(gè)人的名稱,并按照年齡降序排序。

?? 案例二:使用LIMIT和SKIP合并命令控制返回的關(guān)系

假設(shè)我們需要查詢與標(biāo)簽類型為Person的節(jié)點(diǎn)集中Tom節(jié)點(diǎn)相鄰的所有節(jié)點(diǎn),并且我們想返回這些節(jié)點(diǎn)的前3個(gè)結(jié)果。以下是控制返回關(guān)系的示例代碼:

MATCH (n:Person { name: "Tom" })--(m)
RETURN m.name AS name
LIMIT 3;

這將返回與名稱為Tom的Person節(jié)點(diǎn)相鄰的前3個(gè)節(jié)點(diǎn)的名稱。

?? 案例三:使用組合LIMIT和SKIP合并命令實(shí)現(xiàn)分頁

假設(shè)我們希望為查詢結(jié)果分頁,每頁顯示5個(gè)結(jié)果集,我們可以使用組合LIMITSKIP子句的方法實(shí)現(xiàn)分頁。以下是對(duì)查詢結(jié)果分頁的示例代碼:

MATCH (p:Person)
WHERE p.age > 30
RETURN p.name AS name, p.age AS age
ORDER BY p.age DESC
SKIP 5
LIMIT 5;

這將返回年齡大于30歲的結(jié)果中的第二頁(跳過前5個(gè)結(jié)果集)中的前5個(gè)結(jié)果,以姓名和年齡的形式呈現(xiàn)。

?? Merge合并

在Neo4j的CQL(Cypher Query Language)中,MERGE是一種用于創(chuàng)建或更新節(jié)點(diǎn)和關(guān)系的關(guān)鍵字。它可以用于合并現(xiàn)有的節(jié)點(diǎn)和關(guān)系,也可以用于創(chuàng)建新的節(jié)點(diǎn)和關(guān)系。本篇博客將介紹如何使用MERGE子句合并命令來創(chuàng)建或更新節(jié)點(diǎn)和關(guān)系的操作,以及一些實(shí)際的案例演示。

?? CQL中的MERGE基本語法

要在Neo4j中使用MERGE子句創(chuàng)建或更新節(jié)點(diǎn)和關(guān)系,可以使用以下語法:

MERGE (n:Node { property: value })
ON CREATE SET n.property_1 = value_1, n.property_2 = value_2, ...
ON MATCH SET n.existing_property = value

其中,n表示要?jiǎng)?chuàng)建或更新的節(jié)點(diǎn),Node表示節(jié)點(diǎn)的標(biāo)簽,property表示節(jié)點(diǎn)的屬性,value表示屬性的值。ON CREATEON MATCH子句分別表示在創(chuàng)建和更新節(jié)點(diǎn)時(shí)設(shè)置屬性的值。

?? CQL案例演示

接下來,我們將介紹一些使用CQL進(jìn)行節(jié)點(diǎn)和關(guān)系處理的實(shí)際案例。

?? 案例一:使用MERGE創(chuàng)建新節(jié)點(diǎn)

假設(shè)我們要在名稱為Person的節(jié)點(diǎn)集合中創(chuàng)建一個(gè)名為Tom的新節(jié)點(diǎn),并將它的年齡設(shè)置為28歲。以下是創(chuàng)建新節(jié)點(diǎn)的示例代碼:

MERGE (p:Person {name: 'Tom'})
ON CREATE SET p.age = 28;

這將在名稱為Person的節(jié)點(diǎn)集合中創(chuàng)建一個(gè)名為Tom的新節(jié)點(diǎn),并將它的屬性age設(shè)置為28歲。

?? 案例二:使用MERGE更新現(xiàn)有節(jié)點(diǎn)

假設(shè)我們要更新名稱為Person的節(jié)點(diǎn)集合中名稱為Tom的節(jié)點(diǎn)的屬性age29歲。以下是更新現(xiàn)有節(jié)點(diǎn)的示例代碼:

MERGE (p:Person {name: 'Tom'})
ON MATCH SET p.age = 29;

這將查詢名稱為Person的節(jié)點(diǎn)集合中名稱為Tom的節(jié)點(diǎn),如果它已經(jīng)存在,則更新它的age屬性為29歲。

?? 案例三:使用MERGE創(chuàng)建或更新關(guān)系

此時(shí),我們想要查找標(biāo)志為Person的節(jié)點(diǎn)集合中的兩個(gè)節(jié)點(diǎn)之間是否存在關(guān)系FRIENDS_WITH,如果不存在,則創(chuàng)建這個(gè)關(guān)系。以下是創(chuàng)建或更新關(guān)系的示例代碼:

MATCH (p:Person {name: 'Tom'}), (q:Person {name: 'Jerry'})
MERGE (p)-[r:FRIENDS_WITH]->(q)
ON CREATE SET r.type = 'friendship', r.since = '2020'
ON MATCH SET r.type = 'friendship';

這將在節(jié)點(diǎn)TomJerry之間創(chuàng)建一個(gè)帶有類型和時(shí)間戳的FRIENDS_WITH關(guān)系。如果已經(jīng)存在該關(guān)系,則只更新它的type屬性。

注意:
可以使用MERGE命令來查找現(xiàn)有的節(jié)點(diǎn)和關(guān)系,如果它們不存在,則創(chuàng)建它們;如果它們已經(jīng)存在,則更新它們的屬性。讀者可以用這些命令來創(chuàng)建新節(jié)點(diǎn)和關(guān)系,更新現(xiàn)有節(jié)點(diǎn)和關(guān)系,在節(jié)點(diǎn)集合中搜索和處理數(shù)據(jù)。相信通過本篇博客的學(xué)習(xí),讀者已經(jīng)能夠熟練使用CQL中的MERGE子句合并命令了。

?? NULL值

  • Neo4j CQL將空值視為對(duì)節(jié)點(diǎn)或關(guān)系的屬性的缺失值或未定義值。

  • 當(dāng)我們創(chuàng)建一個(gè)具有現(xiàn)有節(jié)點(diǎn)標(biāo)簽名稱但未指定其屬性值的節(jié)點(diǎn)時(shí),它將創(chuàng)建一個(gè)具有NULL屬性值的新節(jié)點(diǎn)。

  • 還可以用null 作為查詢的條件。

?? IN操作符

與SQL一樣,Neo4j CQL提供了一個(gè)IN運(yùn)算符,以便為CQL命令提供值的集合。

IN [<Collection-of-values>]

案例:

MATCH (e:Employee) 
WHERE e.id IN [12,34]
RETURN e.id,e.name,e.sal,e.deptno

?? 總結(jié)

本篇博客向讀者介紹了CQL基本語法,包括創(chuàng)建節(jié)點(diǎn)、創(chuàng)建關(guān)系、查詢節(jié)點(diǎn)、修改節(jié)點(diǎn)等基礎(chǔ)操作。相信通過本篇博客的學(xué)習(xí),讀者已經(jīng)掌握了如何在Neo4j中使用CQL進(jìn)行數(shù)據(jù)處理和查詢。

?? 共勉

最后,我想和大家分享一句一直激勵(lì)我的座右銘,希望可以與大家共勉!

【Neo4j教程之CQL命令基本使用】

【Neo4j教程之CQL命令基本使用】文章來源地址http://www.zghlxwxcb.cn/news/detail-508391.html

到了這里,關(guān)于【Neo4j教程之CQL命令基本使用】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Neo4J CQL語句

    Neo4J CQL語句

    含義 有時(shí),根據(jù)我們的客戶端要求,我們需要向現(xiàn)有節(jié)點(diǎn)或關(guān)系添加新屬性(字段)。要做到這一點(diǎn),Neo4j CQL提 供了一個(gè)SET子句。 如tom的age,name,sex都為null 創(chuàng)建索引 刪除索引 創(chuàng)建唯一索引 刪除唯一索引 Distinct 刪除標(biāo)簽下所有數(shù)據(jù) 如果報(bào)錯(cuò)如下,說明節(jié)點(diǎn)包含關(guān)系 刪除節(jié)

    2024年01月21日
    瀏覽(21)
  • Neo4j CQL語法

    CQL 代表密碼查詢語言。就像 Oracle 數(shù)據(jù)庫有查詢語言 SQL,Neo4j 有 CQL 作為查詢語言。 創(chuàng)建單個(gè)節(jié)點(diǎn) 其中(;)是可選的。 創(chuàng)建多個(gè)節(jié)點(diǎn) 創(chuàng)建帶標(biāo)簽的節(jié)點(diǎn) 創(chuàng)建具有多個(gè)標(biāo)簽的節(jié)點(diǎn)(用冒號(hào)“:”分隔) 創(chuàng)建具有屬性的節(jié)點(diǎn)(在“{ }”中指定這些屬性,用逗號(hào)分隔) 驗(yàn)證:返

    2024年02月04日
    瀏覽(19)
  • 圖數(shù)據(jù)庫Neo4j概念、應(yīng)用場景、安裝及CQL的使用

    圖數(shù)據(jù)庫Neo4j概念、應(yīng)用場景、安裝及CQL的使用

    引用Seth Godin的說法,企業(yè)需要摒棄僅僅收集數(shù)據(jù)點(diǎn)的做法,開始著手建立數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系。 數(shù)據(jù)點(diǎn)之間的關(guān)系 甚至比單個(gè)點(diǎn)本身更為重要。 傳統(tǒng)的**關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)**并不擅長處理數(shù)據(jù)之間的關(guān)系,那些表狀數(shù)據(jù)模式和呆板的結(jié)構(gòu)難以添加新連接或不同類型連

    2024年02月06日
    瀏覽(22)
  • 圖數(shù)據(jù)庫_Neo4j和SpringBoot整合使用_創(chuàng)建節(jié)點(diǎn)_刪除節(jié)點(diǎn)_創(chuàng)建關(guān)系_使用CQL操作圖譜---Neo4j圖數(shù)據(jù)庫工作筆記0009

    圖數(shù)據(jù)庫_Neo4j和SpringBoot整合使用_創(chuàng)建節(jié)點(diǎn)_刪除節(jié)點(diǎn)_創(chuàng)建關(guān)系_使用CQL操作圖譜---Neo4j圖數(shù)據(jù)庫工作筆記0009

    首先需要引入依賴 ? springboot提供了一個(gè)spring data neo4j來操作 neo4j ? 可以看到它的架構(gòu) ? 這個(gè)是下載下來的jar包來看看 有很多cypher對(duì)吧 ? 可以看到就是通過封裝的驅(qū)動(dòng)來操作graph database ? 然后開始弄一下 首先添加依賴

    2024年02月12日
    瀏覽(26)
  • Neo4J 特性CQL語句,函數(shù),Springboot集成

    Neo4J 特性CQL語句,函數(shù),Springboot集成

    ??隨著社交、電商、金融、零售、物聯(lián)網(wǎng)等行業(yè)的快速發(fā)展,現(xiàn)實(shí)社會(huì)織起了了一張龐大而復(fù)雜的關(guān)系 網(wǎng),傳統(tǒng)數(shù)據(jù)庫很難處理關(guān)系運(yùn)算。大數(shù)據(jù)行業(yè)需要處理的數(shù)據(jù)之間的關(guān)系隨數(shù)據(jù)量呈幾何級(jí)數(shù)增長, 急需一種支持海量復(fù)雜數(shù)據(jù)關(guān)系運(yùn)算的數(shù)據(jù)庫,圖數(shù)據(jù)庫應(yīng)運(yùn)而生

    2024年02月12日
    瀏覽(23)
  • 圖數(shù)據(jù)庫_Neo4j學(xué)習(xí)cypher語言_使用CQL_構(gòu)建明星關(guān)系圖譜_導(dǎo)入明星數(shù)據(jù)_導(dǎo)入明星關(guān)系數(shù)據(jù)_創(chuàng)建明星關(guān)系---Neo4j圖數(shù)據(jù)庫工作筆記0009

    圖數(shù)據(jù)庫_Neo4j學(xué)習(xí)cypher語言_使用CQL_構(gòu)建明星關(guān)系圖譜_導(dǎo)入明星數(shù)據(jù)_導(dǎo)入明星關(guān)系數(shù)據(jù)_創(chuàng)建明星關(guān)系---Neo4j圖數(shù)據(jù)庫工作筆記0009

    首先找到明星數(shù)據(jù) ? 可以看到有一個(gè)sheet1,是,記錄了所有的關(guān)系的數(shù)據(jù) ? 然后比如我們搜索一個(gè)撒貝寧,可以看到撒貝寧的數(shù)據(jù) ? 然后這個(gè)是構(gòu)建的CQL語句 ? 首先我們先去啟動(dòng)服務(wù) neo4j console ? ? 然后我們?cè)賮砜匆幌乱郧皩?dǎo)入的,可以看到導(dǎo)入很簡單, 就是上面有CQL 看一下節(jié)

    2024年02月12日
    瀏覽(28)
  • NEO4J的基本使用以及桌面版NEO4J Desktop導(dǎo)入CSV文件

    NEO4J的基本使用以及桌面版NEO4J Desktop導(dǎo)入CSV文件

    因?yàn)槲乙矂偨佑|知識(shí)圖譜,就是小白,本篇博客相當(dāng)于一些入門級(jí)的Cypher語句的舉例,然后具體說明一下NEO4J?Desktop導(dǎo)入CSV文件是怎么實(shí)現(xiàn)的,以及他的一些基本操作,適合剛接觸的小伙伴。如果大家對(duì)于NEO4J的配置有疑問的話可以參考文章NEO4J桌面版的配置和連接Pycharm_neo4

    2024年01月23日
    瀏覽(25)
  • neo4j學(xué)習(xí)筆記:使用neo4j-admin import命令批量處理CSV文件

    neo4j-admin是管理neo4j DBMS的主要工具之一,是一種命令行工具。 neo4j admin命令需與當(dāng)前neo4j用戶一致。 (1)位置: 以neo4j desktop為例,neo4j-admin在當(dāng)前project下活動(dòng)的database的dbms文件夾下的bin文件夾中。 (2)啟動(dòng)方式: 打開當(dāng)前project的terminal; 進(jìn)入bin文件夾:執(zhí)行cd bin,此時(shí),

    2024年02月01日
    瀏覽(36)
  • 知識(shí)圖譜基本工具Neo4j使用筆記 三 :Py2neo 基本增刪改查使用

    每天掌握一點(diǎn),創(chuàng)建 --修改–查詢–刪除 知識(shí)圖譜基本工具Neo4j使用筆記 一 :入門基本操作 Python操作api py2neo 是一個(gè)Python庫,用于連接和操作Neo4j圖數(shù)據(jù)庫。它提供了一組API,可讓用戶在Python中輕松地 創(chuàng)建 、 查詢 和 操縱圖形數(shù)據(jù) 。 py2neo允許用戶使用 Python 代碼 創(chuàng)建節(jié)點(diǎn)

    2024年02月11日
    瀏覽(28)
  • Neo4j 基本語法

    (1)基本語法:? ()?代表節(jié)點(diǎn) 示例: 基本語法: ()-[]-()?代表關(guān)聯(lián)邊【需先建立節(jié)點(diǎn),再建立關(guān)聯(lián)邊】 示例: match?(n:User?{uid:970939424?}),(m:User{uid:658505284}),(r:RoundId?{rid:7194842697444819113?}) ?CREATE?(n)-[user_game1:user_game_roundid]-?(r)-[user_game:user_game_roundid]-(m) ?CREATE?(u)-[user_game:u

    2024年02月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包