日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java高效遍历匹配,使用cypher或遍历api仅匹配路径极端的单个节点

發(fā)布時(shí)間:2024/10/8 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java高效遍历匹配,使用cypher或遍历api仅匹配路径极端的单个节点 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

假設(shè)我在圖表中有以下路徑:

(:Type1)()-[:RelType2]->(:Type2)-[:RelType1]->(:Type1)

給定 (:Type1) 左側(cè)的 (:Type1) 節(jié)點(diǎn),我能夠在路徑上方 MATCH 并在右側(cè)獲得相應(yīng)的 (:Type1) 節(jié)點(diǎn)(注意路徑是對(duì)稱的,其中心是節(jié)點(diǎn) (centernode) ) . 在我的用例中,我們獲得 的 (:Type1) 節(jié)點(diǎn),在另一側(cè)獲取相應(yīng)的 (:Type1) 節(jié)點(diǎn),然后進(jìn)一步處理 .

但是,我可能會(huì)得到 (:Type1) 的兩個(gè)節(jié)點(diǎn)的 . 在這種情況下,將從相應(yīng)的節(jié)點(diǎn)開始單獨(dú)的查詢,并將評(píng)估到另一側(cè)的 (:Type1) 節(jié)點(diǎn),因此將在兩個(gè)節(jié)點(diǎn)上繼續(xù)執(zhí)行 .

Q1. 如何避免處理兩個(gè)節(jié)點(diǎn) . 也就是說,如果給出位于同一路徑極端的兩個(gè) (:Type1) 節(jié)點(diǎn),我怎樣才能確保只執(zhí)行從另一側(cè)節(jié)點(diǎn)匹配的其中一個(gè)節(jié)點(diǎn)開始的一個(gè)查詢,以便只有其中一個(gè)節(jié)點(diǎn)進(jìn)一步處理并且其他節(jié)點(diǎn)被稱為保持在臨時(shí)緩沖區(qū)中以便隨后處理(如果第一節(jié)點(diǎn)的處理失敗) .

Added fact: 上面我有一條路徑,兩端有兩個(gè) (:Type1) 節(jié)點(diǎn) . 我可能有三個(gè)或更多路徑從 (centernode) 發(fā)出并在 (:Type1) 節(jié)點(diǎn)結(jié)束 . 因此,我希望首先處理這些 (:Type1) 節(jié)點(diǎn)中的一個(gè)節(jié)點(diǎn),并且只有在早期處理失敗時(shí)才會(huì)處理下一個(gè) (:Type1) 節(jié)點(diǎn) .

Q2. 這種情況甚至可以用純密碼進(jìn)行嗎?或者我必須最終使用Neo4J Traversal API?如果是,如何做到這一點(diǎn),因?yàn)槲冶仨毚_保在兩個(gè)不同的traveresals訪問的節(jié)點(diǎn)/關(guān)系的唯一性 .

Q3. 如何在Traversal API中添加路徑擴(kuò)展器以匹配 (:Type1)

at each traversal `next()`

if (node is of Type1)

follow

if (node is of Type2)

follow

(上面是偽代碼 . 我是Traversal API的新手 . 我已經(jīng)瀏覽了所有文檔和示例 . 所以我猜測(cè)擴(kuò)展器內(nèi)部我必須放置 if() 過濾器來檢查當(dāng)前節(jié)點(diǎn)類型并決定接下來擴(kuò)展哪種關(guān)系類型及其方向 . 以上偽代碼用于表示 . )

這是如何在Traversal API中編寫這樣的密碼嗎?還是有更好的方法嗎?

總結(jié)

以上是生活随笔為你收集整理的java高效遍历匹配,使用cypher或遍历api仅匹配路径极端的单个节点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。