我创建了一个图形数据库,其中一个节点可以与相同类型/标签的其他节点相关:我可以通过运行一个简单的查询来获得这样的节点:MATCH (n1:Node)-[]-(n2:Node) RETURN n1,n2
我使用GoGMv 2将Neo4J节点Map到对应的结构体。
type Node struct {
// provides required node fields
gogm.BaseNode
Name string `gogm:"name=name" json:"name"`
Siblings []*Node `gogm:"direction=both;relationship=RELATES_TO" json:"siblings"`
}
这是一个超级经典的图形,但是使用Marshal或Encode函数时,作为JSON的序列化失败了,因为它们不能表示循环结构(Marshal返回一个值错误:json: unsupported value: encountered a cycle via []*Node
)
是否有任何(重新)设计或实施的想法?
1条答案
按热度按时间bihw5rsg1#
给予每个节点一个唯一的索引。
替换
与