【问题标题】:How are links reprenteed in the Graph API in OrientDB?OrientDB 的 Graph API 中的链接如何表示?
【发布时间】:2016-06-08 17:46:10
【问题描述】:

我在使用 OrientDB 中的边缘和链接时遇到了概念上的困难。

我有一个图表,表示网络中的链路层和互联网层。 link_layer EXTENDS V节点对应MAC地址,net_layer EXTENDS V节点对应IP地址。

两个地址之间的通信关系由一个边缘类 conx EXTENDS E 表示。将有两个单独的 conx 边缘表示相同的连接:连接 MAC A 到 MAC B 的 conx 1 和连接 IP a 到 IP b 的 conx 2代表相同的连接。这将创建一个图,该图被划分为两个不交互的独立子图(没有 MAC 到 IP 边)

现在我需要一些方法将这两个图表关联在一起。我想用链接关系连接边缘。每条边都可以有一个 LINKLIST 属性,用于标识该边在不同层中相同的所有其他边(比如我稍后添加 TCP/应用程序层,这将是一个 n 对 n 关系)

到目前为止一切顺利。这些链接如何影响图表? OrientDB 文档说“使用 Graph API,边由存储在两个顶点上的两个链接表示,以处理双向关系。”如果然后尝试从图形 API 与此数据库交互,LINK 或 LINKLIST 属性可以解释为边吗?你甚至可以在边缘和边缘之间建立联系吗?理想情况下,它不会影响图遍历...我希望能够对我的网络的链接层使用情况与互联网层分开运行图分析。

对于广泛的问题,我很抱歉,但我一般只是对如何以及为什么使用引用关系以及使用它们连接两个其他未连接图中的边是否有效感到困惑。

【问题讨论】:

    标签: orientdb orientdb-2.1


    【解决方案1】:

    一般而言,应设计一个图表以最好地代表您所描述的场景。 因此,必须确定将由各种类表示的实体。 每个类都将通过边缘或链接与另一个类建立关系。

    通常: 边 定义两个顶点之间的关系。例如,您定义了两个顶点,Person 和 Car。然后定义一个边缘驱动器。这条边将两个顶点联系在一起。 “简”驾驶“福特”。

    同时: Linklist 是与另一个类关联的类的列表。 Car 类可能具有来自 Part 类的部件的 Linklist。一辆车由多个部分组成。

    边/链接不应该被用来相互建立关系,例如:边到边,如果你有这种情况意味着图有问题 概念设计。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多