簡體   English   中英

Neo4JClient:如何找到給定節點的關系列表(任何類型)?

[英]Neo4JClient: How can I find a list of relationships (of any type) for a given node?

我知道如何獲取相關節點,以及如何指定關系以查找那些節點,但是似乎沒有任何機制可以自行找到關系?

查看Neo4JClient的源代碼,您可以找到“ Relationship”類型,但是它僅在創建Relationships時使用,而不是在檢索它們時使用。

檢索時,您可以獲取“ RelationshipInstance”,但是它由一個RelationshipReference和兩個NodeReferences組成。除了與它們關聯的唯一整數ID之外,沒有任何與它們關聯的數據。

聽起來您想訪問存儲在關系中的數據。 我們將這些稱為“有效載荷”。

您可以像這樣查詢它們:

client
    .RootNode
    .OutE<FooPayload>()
    .Select(p =>
    {
        p.Reference.Id,         // Relationship ID
        p.StartNodeReference,   // Outbound vertex
        p.EndNodeReference,     // Inbound vertex
        p.Data,                 // Payload as FooPayload
        p.Data.Bar              // A property in the payload
    });

您更可能希望使用OutE的重載,該重載按類型過濾關系,例如:

client
    .RootNode
    .OutE<FooPayload>("HAS_FOO")

如果在不使用泛型類型參數的情況下使用OutE的重載,則將獲得引用,但沒有有效載荷數據(因為我們不知道將數據反序列化為什么)。

HTH。

-塔瑟姆

暫無
暫無

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

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