tiger的邊分為有向邊,無向邊。
有向邊和無相邊的區別是:介面上有向邊有明顯箭頭,無向邊就是直線。
注意: 有向邊又有單向邊,雙向邊。
無向邊由於指定了邊的起點型別和終點型別,而任何頂點的型別只能有乙個,無所無向邊其實還是有方向的。
只有起點和終點型別都是*的時候,才是真正的無向邊。
單向邊無法反向遍歷。
無相邊和雙向邊都可以反向遍歷。
無向邊的反向遍歷結果相同。
雙向邊的反向遍歷結果中邊的型別不同。
雙向邊其實無向邊效果差不多。
雙向邊和有向邊的本質差別在於查詢方向。雙向邊可以指定兩個方向查詢,有向邊根本不能反方向查詢。
原因是tiger的查詢語法正規化定死了格式。
select t from vsetvarname:s – ((etype1|etype2):e) -> (vtype1|vtype2):t
第乙個橫槓-前面必須是頂點集合(冒號後面是別名,別名可以省略)
依據這個正規化,最精簡的寫法是:
source =select s from source:s -()-> ;
舉例說明:
source = select t from source:s -(:e)-> :t
上面的寫法無法寫成(因為dest是頂點集合,不是頂點型別):
dest = select t from :s -(:e)-> dest:t
tiger和arango邊的方向性
arangodb裡面的邊都是有向邊,但是遍歷方向是可以指定的,也是支援反向遍歷。
for vertextinfor v,e,p in
[1..3
]outbound
|inbound|any startvertex [
edges
]filter ...
tiger的gsql裡面要實現arangodb的aql中的設定方向的效果,最好的方式是建立邊的時候就定下來這條邊是單向邊還雙向邊。如果是單向邊,建立邊的時候就定好了的出的還是進的,即outbound還是inbound的。
如果建立邊的時候指定雙向邊,那麼遍歷就是any方式。
在tiger的query裡面不能再直接指定邊的方向性了。
另外,如果都是雙向邊,這是遍歷預設相當於arangodb的any方向,如何指定方向呢?
遊戲中物件與點,邊,斜面碰撞後速度方向的變化
一 與點發生碰撞 當與點發生碰撞時,速度的方向直接變成反方向 v v 二 與邊發生碰撞 a.當與豎邊發生碰撞時,速度x方向上的分量的方向變成反方向,y方向上的分量方向保持不變 vx vx b.當與橫邊發生碰撞時,速度y方向上的分量的方向變成反方向,x方向上的分量方向保持不變 vy vy 三 與斜面發...
學習的方向
感覺自己太急於求成了,這樣導致的結果就是什麼都懂,但都不夠深入,結果就導致自己現在這個樣,沒有自信!其實應該精通一樣東西,很多都是相通的,只要成功了一次,以後就簡單了,如果一次都沒有成功過,那做什麼都不可能深入下去,如果成功過一次,那麼當你接觸其他東西的時候,你才曉得怎樣才能把他學好,學到什麼程度才...
邊雲協同的優點 邊雲協同
邊雲協同解決方案 邊雲協同解決方案,基於雲原生的開放架構,構建邊雲業務協同能力。打造面向5g ai時代的ict基礎設施,助力企業客戶實現數位化轉型。邊雲協同解決方案 邊雲協同解決方案,基於雲原生的開放架構,構建邊雲業務協同能力。打造面向5g ai時代的ict基礎設施,助力企業客戶實現數位化轉型。邊雲...