gpt4 book ai didi

database-design - 在 google appengine 数据存储中存储有向图

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:09 24 4
gpt4 key购买 nike

我需要在 google appengine 中存储一个大型动态无向图,最好的方法是什么?图形表示必须能够支持快速拉出一组顶点(用于在页面上呈现)和来自特定顶点的所有链接,以及跨图形的寻路(尽管并不是真正需要最佳路径,只是一个相当好一个)

我对这个问题的看法:最明显的方法是拥有一个顶点模型和一个引用两个顶点的边模型,但这听起来最终会为每个操作使用大量查询,我想知道是否有更好的方法(也许以某种方式将链接信息构建到每个顶点)

最佳答案

这是最简单的方法:

class Vertex(db.Model):
outedges = db.ListProperty(db.Key)
# Other information about the vertex here

现在您可以在没有任何查询的情况下浏览图形 - 只需调用 db.get 1 个或多个键来检索相关顶点:

# Get the first referenced vertex
vertex2 = db.get(vertex1.outedges[0])

# Get all referenced vertices
vertices = db.get(vertex1.outedges)

关于database-design - 在 google appengine 数据存储中存储有向图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com