Graphengine 石墨烯中最典型的关系表示方式是什么

Graphengine 石墨烯中最典型的关系表示方式是什么,graphengine,Graphengine,我试图找出如何在TSL中对数据进行最佳建模。在中,通过在相关节点中存储单元id或单元id列表来暗示关系。不过,在本书中,引入了[图形边缘]的概念。我希望通过文档,也许在这里,我们可以清楚地了解如何使用石墨烯正确地建模关系/边。据我所知,根据文档没有这样的标准方法,最佳实践也取决于我们自己的要求,例如性能或方便性。以下是我在不同情况下的选择: 对于一个非常常见的有向无标记图,我只使用邻居的单元ID邻接列表作为字段。我发现它对于大多数图形操作都非常有效; 对于边上具有属性的有向图,有两种选择:使用自

我试图找出如何在TSL中对数据进行最佳建模。在中,通过在相关节点中存储单元id或单元id列表来暗示关系。不过,在本书中,引入了[图形边缘]的概念。我希望通过文档,也许在这里,我们可以清楚地了解如何使用石墨烯正确地建模关系/边。

据我所知,根据文档没有这样的标准方法,最佳实践也取决于我们自己的要求,例如性能或方便性。以下是我在不同情况下的选择:

对于一个非常常见的有向无标记图,我只使用邻居的单元ID邻接列表作为字段。我发现它对于大多数图形操作都非常有效; 对于边上具有属性的有向图,有两种选择:使用自定义结构的值列表,或为边设置单个单元格,并将边连接到源/目标节点单元格。对于大多数图形操作,前者实际上比后者快。但代价是,它不允许在不访问节点单元的情况下访问边缘,这是后者的优点; 对于边上没有属性的无向图,对于每个边u,v,我将它们的单元ID放在彼此的邻接列表中; 对于边上具有属性的无向图,为每条边设置一个单独的边单元,存储其上的所有信息,包括相关节点和属性; 对于一条边可能连接多个节点的超图,我的选择与4相同。 引入的概念[GraphEdge]用于通过语言集成知识查询LIKQ识别边缘,但是,如果我们的应用程序不是建立在LIKQ之上,它不会影响我们的使用