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

公告:魔扣目錄網(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

本文介紹了如何在janusgraph中選擇正確的節(jié)點(diǎn)的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!

問(wèn)題描述

我需要所有藍(lán)色節(jié)點(diǎn)或id匹配的節(jié)點(diǎn)在樹中的不同節(jié)點(diǎn)之間,基于最大級(jí)別。我有此代碼

 GraphTraversal<Vertex, Map<String, List>> values = graphDbConnection.getGraphTraversalSource().V()
                .hasLabel('uuid').has('uuid', uuid).emit()
                .repeat(in().choose(values('color').is('blue'), identity(), in()))
                .times(levels)
                .map(or(has('color', 'blue'),
                        has('uuid', uuid)))
                .valueMap('uuid', 'color');

如果一個(gè)藍(lán)色節(jié)點(diǎn)和另一個(gè)藍(lán)色節(jié)點(diǎn)之間的錯(cuò)誤節(jié)點(diǎn)超過(guò)3個(gè)或4個(gè),則算法將忽略最后一個(gè)可能的節(jié)點(diǎn)。

例如,使用該代碼,如果我請(qǐng)求uuid=1中四級(jí)以上的所有藍(lán)調(diào)包括一級(jí),它將返回1,2,3,而不會(huì)返回4,因?yàn)?和4之間是3黑色。

但對(duì)于本例,它將返回1,2,3,4,因?yàn)?和4之間只有一個(gè)或兩個(gè)錯(cuò)誤的節(jié)點(diǎn)

注意:這里有一個(gè)細(xì)節(jié),如果我移除times(levels)調(diào)用,無(wú)論中間有多少錯(cuò)誤的顏色,都會(huì)顯示所有藍(lán)色,但沒有停止條件,這是關(guān)鍵。

推薦答案

問(wèn)題是,當(dāng)您遇到黑色節(jié)點(diǎn)時(shí),如第二張圖所示,您將執(zhí)行in,但在每次重復(fù)開始時(shí),您將執(zhí)行另一個(gè)in。因此,如果藍(lán)色節(jié)點(diǎn)之后的節(jié)點(diǎn)是黑色的,它現(xiàn)在也將被發(fā)射。解決此問(wèn)題的一種可能方法是沿emit(has('color','blue'))的線條更改emit,以便只保留藍(lán)色的節(jié)點(diǎn)。

這里有一個(gè)簡(jiǎn)單的例子,希望能清楚地顯示emit的這種用法。

g.addV('blue').as('b1').
  addV('red').as('r1').
  addV('blue').as('b2').
  addV('red').as('r2').
  addV('blue').as('b3').
  addE('link').from('b1').to('r1').
  addE('link').from('r1').to('b2').
  addE('link').from('b2').to('r2').
  addE('link').from('r2').to('b3')     

使用這種方法最有可能簡(jiǎn)化您的查詢。

gremlin> g.V()
==>v[42762]
==>v[42763]
==>v[42764]
==>v[42765]
==>v[42766]

gremlin> g.V(42762).emit(hasLabel('blue')).repeat(out()).times(4).label()
==>blue
==>blue
==>blue

gremlin> g.V(42762).emit().repeat(out()).times(4).label()
==>blue
==>red
==>blue
==>red
==>blue

最后是添加了choose步驟的相同示例。

gremlin> g.V(42762).emit(hasLabel('blue')).repeat(out().choose(hasLabel('blue'),identity(),out())).times(2).label()
==>blue
==>blue
==>blue 

這篇關(guān)于如何在janusgraph中選擇正確的節(jié)點(diǎn)的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:janusgraph 如何在 正確 節(jié)點(diǎn) 選擇
用戶無(wú)頭像

網(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

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

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(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)定