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

Neo4J CQL語句

這篇具有很好參考價值的文章主要介紹了Neo4J CQL語句。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

新增

創(chuàng)建

含義

# study 實體
# 學生 標簽
# name 對應字段

create(study:學生{name:"張三"})
create(study:學生{name:"李四"})
create(study:學生{name:"王五"})
create(study:學生{name:"dsy",age:18})

create(city:城市{name:"西安"})

建立關系

match(n:學生{name:"張三"}),(p:城市{name:"西安"}) create (n)-[:出生于] ->(p)
match(n:學生{name:"李四"}),(p:城市{name:"西安"}) create (n)-[:出生于] ->(p)

match (n:學生{name:"張三"}),(n2:學生{name:"李四"}) create (n)-[:兄弟]->(n2)

Set字句

有時,根據(jù)我們的客戶端要求,我們需要向現(xiàn)有節(jié)點或關系添加新屬性(字段)。要做到這一點,Neo4j CQL提 供了一個SET子句。

#學生表添加 城市為西安 的字段
match(n:Student{name:"李四"}) set n.city="西安" return n

查詢

查詢所有節(jié)點

match(n) return n

查詢指定條件的數(shù)據(jù) where子句

match(n) where n.age = 18 return n

查詢指定Label(標簽)的數(shù)據(jù)

match(n:`學生`) return n

查詢指定字段名稱的數(shù)據(jù)

match(n{name:'張三'}) return n

查詢主節(jié)點下所關聯(lián)的對應子節(jié)點

#查詢出生于西安的所有Person數(shù)據(jù)
match(n1:province{name:"西安"})<-[:出生于]-(n2:Person) return n2

order by排序

#根據(jù)id進行排序,返回id和name字段
match (n:`學生`) return id(n),n.name order by id(n) asc
match (n:`學生`) return id(n),n.name order by id(n) desc

Union子句

#返回結果去重
match(n:`學生`) return n.name as name union match(n:Student) return n.name as name

#返回結果不去重
match(n:`學生`) return n.name as name union all match(n:Student) return n.name as name

Limit和Skip子句

#前兩行
match(n:`學生`) return n.name limit 2

#忽略前兩行
match(n:`學生`) return n.name skip 2

NUll值

如tom的age,name,sex都為null

Neo4J CQL語句,數(shù)據(jù)庫,neo4j

#查詢年齡為null的數(shù)據(jù)
match(n:Student) where n.age is null return id(n),n.name,n.age

Neo4J CQL語句,數(shù)據(jù)庫,neo4j

IN查詢

match(n:Student) where n.name in ["tom","李四"] return id(n),n.name,n.age

Neo4J CQL語句,數(shù)據(jù)庫,neo4j

INDEX索引

創(chuàng)建索引

create index on :Student (name)

刪除索引

drop index on:Student (name)

創(chuàng)建唯一索引

create constraint on (n:Student) assert n.name is unique

刪除唯一索引

drop constraint on (n:Student) assert n.name is unique

Distinct

match(n:Student) return distinct(n.name)

刪除

delete刪除

刪除標簽下所有數(shù)據(jù)

create(n:班級{name:"一年級"})
create(n:班級{name:"二年級"})

match(n:`班級`) delete n

如果報錯如下,說明節(jié)點包含關系

Neo4J CQL語句,數(shù)據(jù)庫,neo4j

刪除節(jié)點關系

刪除完節(jié)點關系就可以刪除節(jié)點了

match(n:`班級`{name:"一年級"})<-[r]-(m) delete r return type(r)

刪除節(jié)點子句

match(n:`班級`{name:"一年級"}) delete n

remove刪除

有時基于客戶端要求,我們需要向現(xiàn)有節(jié)點或關系添加或刪除屬性。我們使用Neo4j CQL REMOVE子句來刪除節(jié)點或關系的現(xiàn)有屬性。

#添加多個節(jié)點
create (n:Student{name:"張三",age:18,sex:"男"})
create (n:Student{name:"張三",age:18,sex:"男"}),(b:Student{name:"李四",age:14,sex:"女"})

#刪除屬性(字段)
match(n:Student{name:"張三"}) remove n.age return n

#刪除標簽(整條數(shù)據(jù))
match(n:Student{name:"張三"}) remove n:Student return n

常用函數(shù)

字符串函數(shù)

功能

描述

示例

UPPER/toUpper

將所有字母轉為大寫

match(n:Student) return toUpper(n.name)

LOWER/toLower

將所有字母轉為小寫

match(n:Student) return tolower(n.name)

SUBSTRING

獲取指定截取的字符串

match(n:Student) return SUBSTRING(n.name,0,1)

REPLACE

替換一個字符串(tom改為cs)

match(n:Student) return replace(n.name,'tom','cs')

聚合函數(shù)

功能

描述

示例

count

返回行數(shù)

match(n:Student) return count(n)

max

返回最大值

match(n:Student) return max(id(n))

min

返回最小值

match(n:Student) return min(id(n))

sum

求和

match(n:Student) return sum(n.age)

avg

平均值

match(n:Student) return avg(n.age)

關系函數(shù)

左邊為子節(jié)點,右邊為主節(jié)點 比如 Person中的張三出生于province中的西安

功能

描述

示例

startnode

獲取關系的開始節(jié)點

match(n1:Person)-[r]->(n2:province) return startnode(r)

endnode

獲取關系的結束節(jié)點

match(n1:Person)-[r]->(n2:province) return endnode(r)

id

獲取關系的ID

match(n1:Person)-[r]->(n2:province) return id(r)

type

獲取字符串表示中的一個關系的type

match(n1:Person)-[r]->(n2:province) return type(r)

算法推薦商品

create(:商品{id:1,name:"阿莫西林",price:12,stockNum:100})
create(:商品{id:2,name:"小兒七星茶顆粒",price:8,stockNum:100})
create(:商品{id:3,name:"益心舒膠囊",price:8.4,stockNum:100})
create(:商品{id:4,name:"紅霉素軟膏",price:2.3,stockNum:100})
create(:`商品`{id:5,name:"枸杞",price:2.2,stockNum:100})
create(:`商品`{id:6,name:"桑葚",price:2,stockNum:100})


create(:用戶{id:101,name:"張三"})
create(:用戶{id:102,name:"李四"})
create(:用戶{id:103,name:"王五"})
create(:用戶{id:104,name:"TOM"})
create(:用戶{id:105,name:"jerry"})

match(n1:`用戶`{id:101}),(n2:`商品`{id:1}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:101}),(n2:`商品`{id:2}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:101}),(n2:`商品`{id:3}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:101}),(n2:`商品`{id:4}) create(n1)-[:購買]->(n2)

match(n1:`用戶`{id:102}),(n2:`商品`{id:1}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:102}),(n2:`商品`{id:4}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:102}),(n2:`商品`{id:5}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:102}),(n2:`商品`{id:6}) create(n1)-[:購買]->(n2)

match(n1:`用戶`{id:103}),(n2:`商品`{id:2}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:103}),(n2:`商品`{id:3}) create(n1)-[:購買]->(n2)

match(n1:`用戶`{id:104}),(n2:`商品`{id:1}) create(n1)-[:購買]->(n2)
match(n1:`用戶`{id:104}),(n2:`商品`{id:3}) create(n1)-[:購買]->(n2)

在這個例子中,我們使用協(xié)同過濾算法來實現(xiàn)基于用戶的商品推薦。具體地,我們找到與目標用戶有共同購買行為的其他用戶,并返回這些用戶最喜歡的、目標用戶尚未購買的商品。

可以使用以下 Cypher 查詢語句來實現(xiàn)協(xié)同過濾算法:

這個查詢語句會找到與目標用戶 ID 為 101 的用戶有共同購買行為的其他用戶,并返回他們購買過的、目標用戶尚未購買的商品。結果按照共同購買用戶數(shù)量降序排列,并只返回前 3 個推薦商品。

MATCH (u:`用戶` {id: 101})-[:購買]->(p:`商品`)<-[:購買]-(ou:`用戶`)-[:購買]->(rec:`商品`)
WHERE NOT EXISTS((u)-[:購買]->(rec))
WITH rec, COUNT(DISTINCT ou) AS similarity
ORDER BY similarity DESC
LIMIT 3
RETURN rec.name, similarity

實現(xiàn)推薦查詢:

○ 使用 Cypher 查詢語句,根據(jù)目標用戶 ID 查找該用戶已購買的商品。

○ 基于協(xié)同過濾算法,使用以上的查詢語句查找與目標用戶具有相關性的其他商品。

○ 返回推薦結果。文章來源地址http://www.zghlxwxcb.cn/news/detail-813230.html

到了這里,關于Neo4J CQL語句的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 圖數(shù)據(jù)庫Neo4j——Neo4j簡介、數(shù)據(jù)結構 & Docker版本的部署安裝 & Cypher語句的入門

    圖數(shù)據(jù)庫Neo4j——Neo4j簡介、數(shù)據(jù)結構 & Docker版本的部署安裝 & Cypher語句的入門

    MySQL是一種開源的關系型數(shù)據(jù)庫管理系統(tǒng),使用SQL作為其查詢語言,常見的關系型數(shù)據(jù)庫有MySQL、Oracle、SQL Server、PostgreSQL等。相關博客文章如下: 【合集】MySQL的入門進階強化——從 普通人 到 超級賽亞人 的 華麗轉身 PostgreSQL數(shù)據(jù)庫——Docker版本的postgres安裝 Navicat連接方式

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

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

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

    2024年02月12日
    瀏覽(23)
  • Neo4j:入門基礎(二)~ 數(shù)據(jù)導入Neo4J
                    
            
RDF導入neo4j數(shù)據(jù)庫

    Neo4j:入門基礎(二)~ 數(shù)據(jù)導入Neo4J RDF導入neo4j數(shù)據(jù)庫

    neo4j導入數(shù)據(jù)的方式有以下幾種: Cypher create 語句,為每一條數(shù)據(jù)寫一個create Cypher load csv 語句,將數(shù)據(jù)轉成CSV格式,通過LOAD CSV讀取數(shù)據(jù)。 neo4j-admin import導入 官方提供的Java API - BatchInserter 大牛編寫的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 針對實際業(yè)務場景,定制

    2023年04月24日
    瀏覽(33)
  • Neo4j | 保姆級教學之如何清空neo4j數(shù)據(jù)庫

    要清空neo4j數(shù)據(jù)庫,需要進行以下操作: 停止Neo4j服務器,關閉Neo4j的所有連接。 找到 Neo4j 數(shù)據(jù)庫存儲的目錄,通常是 data/databases/ 。 刪除該目錄中的所有文件和子目錄。 請注意,這將不可逆地刪除數(shù)據(jù)庫的所有內容,包括節(jié)點、關系和屬性等數(shù)據(jù)。在執(zhí)行這個操作之前,請

    2024年02月06日
    瀏覽(22)
  • Neo4j數(shù)據(jù)庫刪除數(shù)據(jù)

    我們使用Neo4j圖數(shù)據(jù)庫進行寫入數(shù)據(jù)操作之后,免不了要刪除數(shù)據(jù)的。 但是Neo4j的控制臺沒有提供快捷的刪除按鈕,所以我們還是需要通過命令來操作。 如果數(shù)據(jù)庫中的數(shù)據(jù)量并不大,節(jié)點數(shù)相對較少,我們可以通過命令行直接刪除節(jié)點。 此類操作起到清空數(shù)據(jù)庫的效果,但

    2023年04月09日
    瀏覽(21)
  • Neo4j 圖形數(shù)據(jù)庫

    Neo4j 圖形數(shù)據(jù)庫

    目錄 Neo4j?基礎 什么是Neo4j Neo4j?模塊構建 Neo4j的主要應用場景 Neo4j?環(huán)境搭建 Docker 安裝Neo4j Neo4j數(shù)據(jù)瀏覽器 ?Neo4j CQL CQL簡介 Neo4j CQL高級 CQL?函數(shù) CQL多深度關系節(jié)點 事務 索引 約束 Neo4j之Admin管理員操作 Neo4j -?數(shù)據(jù)庫備份和恢復 調優(yōu)思路 ?Neo4j?程序訪問 SpringBoot?整合Neo4j

    2024年02月10日
    瀏覽(24)
  • neo4j清空數(shù)據(jù)庫

    清空所有Person、 Movie節(jié)點及其所有關系 查詢任意數(shù)據(jù) ?如果沒有, 就說明已經(jīng)刪除成功了 這段代碼是用Cypher查詢語言編寫的,用于清空所有的Person節(jié)點、Movie節(jié)點以及它們之間的所有關系。讓我們逐步解釋代碼的每個部分: 這部分代碼使用MATCH語句來查找圖數(shù)據(jù)庫中的所有

    2024年02月14日
    瀏覽(18)
  • 圖數(shù)據(jù)庫Neo4j——SpringBoot使用Neo4j & 簡單增刪改查 & 復雜查詢初步

    圖數(shù)據(jù)庫Neo4j——SpringBoot使用Neo4j & 簡單增刪改查 & 復雜查詢初步

    圖形數(shù)據(jù)庫是專門用于存儲圖形數(shù)據(jù)的數(shù)據(jù)庫,它使用圖形模型來存儲數(shù)據(jù),并且支持復雜的圖形查詢。常見的圖形數(shù)據(jù)庫有Neo4j、OrientDB等。 Neo4j是用Java實現(xiàn)的開源NoSQL圖數(shù)據(jù)庫,本篇博客介紹如何在SpringBoot中使用Neo4j圖數(shù)據(jù)庫,如何進行簡單的增刪改查,以及如何進行復雜

    2024年02月06日
    瀏覽(34)
  • 圖數(shù)據(jù)庫_Neo4j的使用場景_以及Windows版Neo4j Community Server安裝_欺詐檢測_推薦_知識圖譜---Neo4j圖數(shù)據(jù)庫工作筆記0003

    圖數(shù)據(jù)庫_Neo4j的使用場景_以及Windows版Neo4j Community Server安裝_欺詐檢測_推薦_知識圖譜---Neo4j圖數(shù)據(jù)庫工作筆記0003

    可以看到使用場景,比如欺詐檢測, 要建立圖譜,才能進行,欺詐人員檢測 ? 可以看到圖譜的各種應用場景 然后推薦引擎也需要,可以看到 在金融,旅行,求職招聘,保健,服務,媒體娛樂,都可以進行推薦 ? 然后還有知識圖譜 身份訪問管理,這里,可以進行安全管理,可以挖掘出潛在關系

    2024年02月12日
    瀏覽(29)
  • 圖數(shù)據(jù)庫_Neo4j中文版_Centos7.9安裝Neo4j社區(qū)版3.5.9_基于jdk1.8---Neo4j圖數(shù)據(jù)庫工作筆記0012

    圖數(shù)據(jù)庫_Neo4j中文版_Centos7.9安裝Neo4j社區(qū)版3.5.9_基于jdk1.8---Neo4j圖數(shù)據(jù)庫工作筆記0012

    ? ? 由于我們在國內使用啊,具體還是要用中文版滴,找了好久這個neo4j,原來還是有中文版的, 中文版下載地址在這里: 所有版本都在這里了,需要哪個自己去下載就可以了,要注意下載以后,參考: ?在這個位置下載,主要是找到對應中文版的安裝包,花了寫時間啊 然后我們看一下安裝

    2024年02月12日
    瀏覽(23)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包