簡體   English   中英

使用Gremlin和Azure Cosmos圖在頂點中存儲列表

[英]Storing a List in a Vertex using Gremlin and Azure Cosmos Graph

我正在嘗試在Vertex本身中存儲對Vertex所做的更改的列表。 理想情況下,我想要這樣的東西:

{
    "id": "95fcfa87-1c03-436d-b3ca-340cea926ee9",
    "label": "person",
    "type": "vertex",
    "log": [{
            "user": "user@user.dk",
            "action": "update",
            "timestamp": "22-03-2017",
            "field": "firstName",
            "oldValue": "Marco"
        }
    ]
}

使用此方法鏈,我可以實現以下結構

graph.addV('person')
     .property('firstName', 'Thomas')
     .property(list, 'log', '22-03-2017')
     .properties('log')
     .hasValue('22-03-2017', '21-03-2017')
     .property('user','user@user.dk')
     .property('action', 'update')
     .property('field', 'firstName')
     .property('oldValue', 'Marco')
 { "id": "95fcfa87-1c03-436d-b3ca-340cea926ee9", "label": "person", "type": "vertex", "properties": { "firstName": [{ "id": "f23482a9-48bc-44e0-b783-3b74a2439a11", "value": "Thomas" } ], "log": [{ "id": "5cfa35e1-e453-42e2-99b1-eb64cd853f22", "value": "22-03-2017", "properties": { "user": "user@user.dk", "action": "update", "field": "firstName", "oldValue": "Marco" } } ] } } 

但是,這似乎過於復雜,因為我將不得不存儲一個值並為其添加屬性。
是否可以使用上述數據添加匿名對象(即,沒有idvalue )?

不是將適當的對象存儲在歷史日志中的實際解決方案,但是如果您僅將其用作日志,而不必通過其屬性訪問或查詢它,則可以將序列化的JSON放入值中?

遵循這些原則的東西應該近似於您所要求的結構:

dynamic entry = new JObject();
entry.user = "user@user.dk";
entry.action = "update";
entry.timestamp = "22-03-2017 12:34:56";
entry.field = "firstName";
entry.oldValue = "Marco";

graph.addV('person')
     .property('firstName', 'Thomas')
     .property(list, 'log', entry.ToString());
 { "id": "95fcfa87-1c03-436d-b3ca-340cea926ee9", "label": "person", "type": "vertex", "properties": { "firstName": [{ "id": "f23482a9-48bc-44e0-b783-3b74a2439a11", "value": "Thomas" } ], "log": [{ "id": "5cfa35e1-e453-42e2-99b1-eb64cd853f22", "value": "{\\"user\\":\\"user@user.dk\\",\\"action\\":\\"update\\",\\"timestamp\\":\\"22-03-2017\\",\\"field\\":\\"firstName\\",\\"oldValue\\":\\"Marco\\"}" } ] } } 

這些日志條目可以輕松讀取,反序列化,使用和顯示,但對於可查詢性並沒有多大幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM