日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文介紹了如何在Java中使用gremlin遍歷圖形時(shí)收集屬性值?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我的圖中的每個(gè)頂點(diǎn)至少有一個(gè)名稱屬性。我有一個(gè)名稱值的標(biāo)簽L集合S。現(xiàn)在,我想從集合S中具有名稱的頂點(diǎn)中收集可通過帶有邊標(biāo)簽EL的特定傳出邊(遞歸地)到達(dá)的所有頂點(diǎn)的名稱屬性值。

我當(dāng)前針對(duì)名為s1的單個(gè)開始節(jié)點(diǎn)的解決方案如下所示:

            g.traversal().V().hasLabel(L)
            .has("name", S1)
            .repeat(__.optional(__.out(EL)))
            .until(__.out(EL).count().is(0))
            .path()
            .forEachRemaining(path -> {
             path.forEach(e -> System.out.println(((Vertex)e).property("name").value()));});

println只是為了看到這會(huì)產(chǎn)生預(yù)期的結(jié)果,通常我會(huì)將姓名收集在一組中。

是否有更好的方法來收集可通過標(biāo)簽為EL的傳出邊到達(dá)的所有頂點(diǎn)的名稱屬性值?

從多個(gè)頂點(diǎn)(其中只知道集合S中的名稱)開始的最佳方法是什么?

目前,該結(jié)構(gòu)是一個(gè)樹,但如果可能存在循環(huán),上面的代碼是否可以防止無盡的循環(huán)?如果沒有,如何做到這一點(diǎn)?

推薦答案

您的方法是一個(gè)良好的開端。

要從一組多個(gè)頂點(diǎn)開始,請(qǐng)使用P.within()謂詞。TinkerPop提供了幾個(gè)other predicates。

使用simplePath()防止循環(huán)重復(fù)。

使用store()跟蹤遍歷圖形的項(xiàng)目。by("name")調(diào)制器將存儲(chǔ)”name”屬性,而不是頂點(diǎn)。

要得到結(jié)果,請(qǐng)使用cap()輸出它在遍歷過程中存儲(chǔ)的項(xiàng)。此時(shí)的結(jié)果是可能包含重復(fù)項(xiàng)的Set。使用unfold()Set轉(zhuǎn)換為我們可以dedup()然后使用toSet()完成的迭代器。

graph.traversal().V().hasLabel(L).has("name", P.within(S)).
  repeat( __.out(EL).simplePath().store("x").by("name") ).
  until( __.outE(EL).count().is(0) ).
  cap("x").unfold().dedup().toSet()

這篇關(guān)于如何在Java中使用gremlin遍歷圖形時(shí)收集屬性值?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:Gremlin Java 圖形 如何在 屬性 收集 遍歷
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定