我有一個Orient數據庫,其頂點用於來自不同管理工具的服務器。由於服務器可以通過多個管理工具進行監控,因此我希望在同一臺服務器的頂點之間創建邊緣。連接的組件將成爲單獨的服務器。在OrientDB中創建邊緣
我遇到的問題是不同的系統會有不同的命名約定 - 有些使用完全限定域名,有些使用內部域名,有些使用主機名。
我的示例數據:
orientdb {db=audit}> select * from V
+----+------+-------+----------+----------------------+----------------+
|# |@RID |@CLASS |Name |DomainName |LocalName |
+----+------+-------+----------+----------------------+----------------+
|0 |#12:0 |Alpha |compute-1 |null |null |
|1 |#12:1 |Alpha |compute-2 |null |null |
|2 |#12:2 |Alpha |compute-3 |null |null |
|3 |#13:0 |Beta |null |compute-1.example.com |null |
|4 |#13:1 |Beta |null |compute-2.example.com |null |
|5 |#14:0 |Gamma |null |null |compute-1.local |
|6 |#14:1 |Gamma |null |null |compute-3.local |
+----+------+-------+----------+----------------------+----------------+
預期輸出:
我期望3個不同的命令(下面pseudocoded),這將產生下面的邊緣
Alpha to Beta:
Select from Alpha, join Name as a substring of Beta.DomainName
edge between #12:0 and #13:0
edge between #12:1 and #13:1
Alpha to Gamma:
Select from Alpha, join Name & ".local" with Gamma.LocalName
edge between #12:0 and #14:0
edge between #12:2 and #14:1
Beta to Gamma:
Select LocalName from Gamma, remove ".local" suffix, join as a substring of Beta.DomainName
edge between #13:0 and #14:0
在你的第一個pseudoquery 「從阿爾法選擇,加入名稱爲Beta.DomainName的子串」 你有 邊緣#12:0〜#13:0 邊緣#12:0〜#14 :0 邊緣#13:0至#14:0 但是14:0是GAMMA而不是BETA。 你能解釋一下你的需求嗎? –
@AlessandroRota,道歉,我最初通過連接組件排序邊緣,我現在通過操作 – Zeophlite
對它們進行了排序嗨@Zeophilite,源和目標是否正確? – LucaS