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

使用apoc將數(shù)據(jù)從數(shù)據(jù)庫導(dǎo)入neo4j

這篇具有很好參考價(jià)值的文章主要介紹了使用apoc將數(shù)據(jù)從數(shù)據(jù)庫導(dǎo)入neo4j。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、創(chuàng)建實(shí)體

CREATE CONSTRAINT uniq_law_id  ON (p:Law) ASSERT p.id IS UNIQUE;

CALL apoc.periodic.iterate(
      'call apoc.load.jdbc("jdbc:clickhouse://192.xxx.x.xxx:8123/xxx?user=xxx&password=xxx", " select * from xxx.xxx", []) ',
      'CALL apoc.merge.node([row.ent_label], 
      {id: row.id},
      {name:row.name,level:row.level,office:row.office,publish:row.publish,expiry:row.expiry,law_type:row.law_type,status:row.status},
      {name:row.name,level:row.level,office:row.office,publish:row.publish,expiry:row.expiry,law_type:row.law_type,status:row.status}
    ) yield node RETURN count(*)',
      {batchSize:1000, parallel:false}
    )
;

這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫中加載數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫,并在加載過程中使用 APOC(Awesome Procedures on Cypher)庫提供的 apoc.merge.node 過程來合并數(shù)據(jù),確保在圖數(shù)據(jù)庫中的節(jié)點(diǎn)具有唯一性。

逐行解釋這段代碼:

  1. CREATE CONSTRAINT uniq_law_id ON (p:Law) ASSERT p.id IS UNIQUE;: 這一行創(chuàng)建了一個(gè)唯一約束,確保 "Law" 類型的節(jié)點(diǎn)中的 id 屬性是唯一的。這是為了防止在后續(xù)的數(shù)據(jù)加載過程中出現(xiàn)重復(fù)的節(jié)點(diǎn)。

  2. CALL apoc.periodic.iterate('call apoc.load.jdbc("jdbc:clickhouse://192.xxx.x.xxx:8123/xxx?user=xxx&password=xxx", "select * from xxx.xxx", [])', ...: 這一行使用 APOC 提供的 apoc.periodic.iterate 過程,該過程允許對(duì)數(shù)據(jù)進(jìn)行迭代處理。

  3. 'call apoc.load.jdbc("jdbc:clickhouse://192.xxx.x.xxx:8123/xxx?user=xxx&password=xxx", " select * from xxx.xxx", [])': 在迭代中,首先調(diào)用 apoc.load.jdbc 過程,從 ClickHouse 數(shù)據(jù)庫中加載數(shù)據(jù)。這里使用的 JDBC 連接字符串指向 ClickHouse 數(shù)據(jù)庫,提供用戶名和密碼用于連接。

  4. 'CALL apoc.merge.node([row.ent_label], ...': 在每次迭代中,對(duì)于從 ClickHouse 加載的每一行數(shù)據(jù),調(diào)用 apoc.merge.node` 過程

    • [row.ent_label]: 這是一個(gè)用于標(biāo)記節(jié)點(diǎn)標(biāo)簽的列表。在這里,使用了 row.ent_label 作為節(jié)點(diǎn)的標(biāo)簽,可能是從 ClickHouse 數(shù)據(jù)庫中的某個(gè)列獲取的。

    • {id: row.id}, {name:row.name,level:row.level,...}: 這里定義了節(jié)點(diǎn)的屬性。{id: row.id} 表示節(jié)點(diǎn)的 id 屬性,其值來自加載的行數(shù)據(jù)中的 id 列。同樣的邏輯適用于其他屬性。

    • yield node RETURN count(*): 返回每次迭代中處理的節(jié)點(diǎn)數(shù)量。這可以幫助你了解迭代的進(jìn)展。

    • {batchSize:1000, parallel:false}: 定義了迭代的參數(shù)。batchSize 表示每次迭代處理的行數(shù),parallel 表示是否并行處理。在這里,設(shè)置為串行(false)。

總的來說,這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫中加載數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫,確保在圖數(shù)據(jù)庫中的 "Law" 節(jié)點(diǎn)具有唯一的 id 屬性。在加載的過程中,使用了 APOC 庫的 apoc.merge.node 過程,它可以合并節(jié)點(diǎn),確保數(shù)據(jù)的唯一性。

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

CALL apoc.periodic.iterate(
  'call apoc.load.jdbc("jdbc:clickhouse://192.xxx.x.xxx:8123/xxx?user=xxx&password=xxx", " select * from xxx.xxx", [])yield row',
  'merge (n1:row.from_label {id: row.from_id})
  merge (n2:row.to_label {id: row.to_id})
  with n1, n2, row
  CALL apoc.merge.relationship(
  n1, 
  row.rel_type,
  row.name,
  {},
  {}, 
  n2, 
  {}
  ) YIELD rel
  return id(rel), type(rel), rel',
  {batchSize:2000, parallel:false}
  )
;

這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫中加載關(guān)系數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫,并在加載的過程中使用 APOC 庫提供的 apoc.merge.relationship 過程來合并關(guān)系,確保在圖數(shù)據(jù)庫中的關(guān)系具有唯一性。

逐行解釋這段代碼:

  1. CALL apoc.periodic.iterate(...: 這是一個(gè)調(diào)用 APOC 提供的 apoc.periodic.iterate 過程的 Cypher 查詢。該過程允許對(duì)數(shù)據(jù)進(jìn)行迭代處理

  2. 'call apoc.load.jdbc("jdbc:clickhouse://192.168.1.168:8123/law?user=default&password=QuBmUhBv", " select * from law.rel_law_bzjtkx_include", []) yield row': 在迭代中,首先調(diào)用 apoc.load.jdbc 過程,從 ClickHouse 數(shù)據(jù)庫中加載關(guān)系數(shù)據(jù)。這里使用的是 ClickHouse 數(shù)據(jù)庫的 JDBC 連接字符串,提供用戶名和密碼用于連接。

  3. 'merge (n1:row.from_label {id: row.from_id}) merge (n2:row.to_label {id: row.to_id}) with n1, n2, row': 對(duì)于從 ClickHouse 加載的每一行數(shù)據(jù),使merge 關(guān)鍵字創(chuàng)建起始節(jié)點(diǎn) n1 和目標(biāo)節(jié)點(diǎn) n2。這里使用了 row.from_labelrow.to_label 作為節(jié)點(diǎn)標(biāo)簽,并使用 row.from_idrow.to_id 作為節(jié)點(diǎn)的 id 屬性值

  4. CALL apoc.merge.relationship(n1, row.rel_type, row.name, {}, {}, n2, {}) YIELD rel: 使用 APOC 提供的 apoc.merge.relationship 過程,該過程可以合并關(guān)系。具體參數(shù)包括:

    • n1: 起始節(jié)點(diǎn)。
    • row.rel_type: 關(guān)系類型,來自于加載的數(shù)據(jù)的 rel_type 列。
    • row.name: 關(guān)系的名稱,來自于加載的數(shù)據(jù)的 name 列。
    • {}: 關(guān)系的屬性,這里為空對(duì)象。
    • {}: 關(guān)系的屬性更新規(guī)則,這里為空對(duì)象。
    • n2: 目標(biāo)節(jié)點(diǎn)。
  5. YIELD rel: 返回被合并的關(guān)系對(duì)象。

  6. return id(rel), type(rel), rel': 返回合并關(guān)系的 ID、關(guān)系類型和關(guān)系對(duì)象。

  7. {batchSize:2000, parallel:false}: 定義了迭代的參數(shù)。batchSize 表示每次迭代處理的行數(shù),parallel 表示是否并行處理。在這里,設(shè)置為串行(false)。

總體來說,這段代碼的目的是從 ClickHouse 數(shù)據(jù)庫中加載關(guān)系數(shù)據(jù)到 Neo4j 圖數(shù)據(jù)庫,確保在圖數(shù)據(jù)庫中的關(guān)系具有唯一性。在加載的過程中,使用了 APOC 庫的 apoc.merge.relationship 過程,它可以合并關(guān)系,確保數(shù)據(jù)的唯一性。文章來源地址http://www.zghlxwxcb.cn/news/detail-832601.html

到了這里,關(guān)于使用apoc將數(shù)據(jù)從數(shù)據(jù)庫導(dǎo)入neo4j的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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數(shù)據(jù)庫導(dǎo)入導(dǎo)出dump方法

    Neo4j數(shù)據(jù)庫導(dǎo)入導(dǎo)出dump方法

    首先要關(guān)閉neo4j; neo4j stop 導(dǎo)出 其中test文件夾在neo4j下面 導(dǎo)入 導(dǎo)入成功: 再啟動(dòng)neo4j neo4j start

    2024年02月12日
    瀏覽(25)
  • Neo4j桌面版安裝、調(diào)試和數(shù)據(jù)庫導(dǎo)出導(dǎo)入

    Neo4j桌面版安裝、調(diào)試和數(shù)據(jù)庫導(dǎo)出導(dǎo)入

    下載路徑: ?Neo4j Desktop (exe) 需要填寫一些信息,隨便填寫就行 開始下載時(shí),界面會(huì)跳轉(zhuǎn)到 激活碼界面 ,激活軟件用 ? 安裝完成之后,點(diǎn)擊啟動(dòng),然后輸入激活碼 可在Add按鈕新增數(shù)據(jù)庫,其中Movie DBMS為系統(tǒng)自帶數(shù)據(jù)庫,下面為自己新增 新增數(shù)據(jù)庫示例: 此種情況,大概率

    2024年02月05日
    瀏覽(52)
  • neo4j創(chuàng)建數(shù)據(jù)庫及導(dǎo)入csv文件內(nèi)容詳解

    neo4j創(chuàng)建數(shù)據(jù)庫及導(dǎo)入csv文件內(nèi)容詳解

    neo4j展示知識(shí)圖譜主要需要兩類數(shù)據(jù):節(jié)點(diǎn)數(shù)據(jù)和關(guān)系數(shù)據(jù)。本節(jié)主要講解數(shù)據(jù)的輸入格式。(示例數(shù)據(jù)較簡(jiǎn)單,可對(duì)照自己的數(shù)據(jù)進(jìn)行調(diào)整) 1.節(jié)點(diǎn)文件 創(chuàng)建excel表格,以演員、電影數(shù)據(jù)為例: 第一列為屬性名,可表示為屬性名_Id,上圖的屬性名為actor或movie, 注意取值不

    2024年02月05日
    瀏覽(23)
  • 利用python將json格式的文件導(dǎo)入neo4j圖數(shù)據(jù)庫

    筆者收到了朋友的求助,希望我寫一段python代碼將含對(duì)用關(guān)系的json文件導(dǎo)入neo4j圖數(shù)據(jù)庫。json的格式如下: 他說數(shù)據(jù)量有幾十萬條,而且對(duì)應(yīng)關(guān)系不唯一:但可以保證每條都含有名稱和治療,但是可能有若干條其他的對(duì)用關(guān)系,例如上文的例子:其既包含之前的三個(gè)模塊,

    2024年02月16日
    瀏覽(28)
  • Neo4j數(shù)據(jù)庫使用相關(guān)

    Neo4j數(shù)據(jù)庫使用相關(guān)

    做知識(shí)圖譜相關(guān)項(xiàng)目,初步使用了neo4j數(shù)據(jù)庫,簡(jiǎn)單記錄一下使用過程和踩坑備忘~ 操作系統(tǒng)Win10+Neo4j社區(qū)版(community,版本4.4.30) 目錄 一、安裝 1.1 安裝Java和Neo4j 1.2 環(huán)境變量設(shè)置 二、 Neo4j使用 2.1 安裝服務(wù) 2.2?數(shù)據(jù)庫使用 2.3 數(shù)據(jù)庫備份 ?Java下載鏈接:Java Downloads | Oracle

    2024年04月16日
    瀏覽(26)
  • 【大數(shù)據(jù)】Neo4j 圖數(shù)據(jù)庫使用詳解

    目錄 一、圖數(shù)據(jù)庫介紹 1.1 什么是圖數(shù)據(jù)庫 1.2 為什么需要圖數(shù)據(jù)庫 1.3?圖數(shù)據(jù)庫應(yīng)用領(lǐng)域

    2024年02月08日
    瀏覽(23)
  • 圖數(shù)據(jù)庫_Neo4j和SpringBoot整合使用_實(shí)戰(zhàn)創(chuàng)建明星關(guān)系圖譜---Neo4j圖數(shù)據(jù)庫工作筆記0010

    2023-09-10 10:37:48 補(bǔ)充 注意:下面是舊版本的語法,如果你發(fā)現(xiàn)@NodeEntity這樣的注解沒有的話可以這樣: 這里就要用@Node 另外如果@StartNode和@EndNode都沒有了,那么說明是用法變了. 關(guān)于最新的用法,在官網(wǎng)有明確的說明和案例,很有用: 下面給出官網(wǎng)的案例:

    2024年02月12日
    瀏覽(23)
  • Neo4j之APOC安裝與使用樣例

    Neo4j之APOC安裝與使用樣例

    APOC即Awesome Procedures on Cypher ,是 Neo4j 最大和最廣泛使用的擴(kuò)展庫,是Neo4j過程和函數(shù)的標(biāo)準(zhǔn)實(shí)用程序庫。它包括 450 多個(gè)標(biāo)準(zhǔn)程序,提供實(shí)用程序、轉(zhuǎn)換、圖形更新等功能。它們得到很好的支持,并且很容易作為單獨(dú)的函數(shù)運(yùn)行或包含在 Cypher 查詢中。 由于 APOC 依賴于 Neo4j 的

    2024年02月14日
    瀏覽(19)
  • 圖數(shù)據(jù)庫—Neo4j使用指南

    目錄 Q / A Neo4j 安裝 Basic concept Cypher Basic MATCH 查詢 WITH INDEX 索引 最短路徑 Shortest path Movie Graph Create 創(chuàng)建 Find 查找 Query 查詢 Solve 最短路徑 Bacon Path Recommend 推薦 Clean up 刪除電影數(shù)據(jù) LOAD CSV 加載 Persons Movies 數(shù)據(jù) Northwind Graph Northwind 數(shù)據(jù)表結(jié)構(gòu) 加載 Product Catalog CSV 文件 創(chuàng)建 Pr

    2024年02月02日
    瀏覽(48)
  • Neo4j圖數(shù)據(jù)庫的使用筆記

    Neo4j圖數(shù)據(jù)庫的使用筆記

    安裝準(zhǔn)備: neo4j-3.4.0版本的zip包 找個(gè)目錄解壓安裝zip包 啟動(dòng)neo4j 下載neo4j-3.4.0版本的zip包 可以去neo4j官網(wǎng)下載,也可以去微云數(shù)聚官網(wǎng)下載。 微云數(shù)聚是neo4j在國內(nèi)的代理商。 解壓到F:neo4jneo4j-chs-community-3.4.0-windows 控制臺(tái)方式啟動(dòng)neo4j 通過7474端口訪問neo4j提供的web管理工具

    2024年02月16日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包