
# 动态图数据格式
在大多数实际生活场景中，实体以及关系是动态变化的（如疫情传播网络、转账关系等），这些时序、变化背后蕴含的信息会对结果产生重要影响，因此需要采用动态图对其进行数据建模、存储和动态分析。本服务对动态图的相关能力进行了支持。
图1动态图示例   
![](https://support.huaweicloud.com/usermanual-ges/zh-cn_image_0000002341087902.png)
![](https://support.huaweicloud.com/usermanual-ges/public_sys-resources/note_3.0-zh-cn.png)
本章节重点介绍动态图数据格式，关于动态图相关操作，请参考[创建动态图](https://support.huaweicloud.com/usermanual-ges/ges_01_0150.html)和[动态图使用指导](https://support.huaweicloud.com/usermanual-ges/ges_01_0151.html)。
#### 动态图的数据模型介绍
对于一般属性图，可以建模为由点、边、标签（Label）和属性（Property）组成的有向图。动态图相较于一般属性图有所区别，其突出的特点是：点、边会随时间发生变化。根据时域演化粒度可以划分为：纯静态图（Static Graph）、 时空图（STGs）、离散动态图（DTDGs）、连续动态图（CTDGs）。其中，连续型动态图的表示形式粒度最细，保留信息更加全面。
本服务支持连续型动态图的建模方式：
例如[图2]，此图数据由3个点和4条边组成，Vivian、P1和P2表示点，（P1，Vivian）、（Vivian，P1）、（Vivian，P2）和（Vivian、Vivian）表示边，Person、Place表示点的类型（标签），Visited和Diagnosed表示关系类型（标签）, 时间戳：\[startTime, endTime \]表示对应状态持续的时间。例如，对于（Vivian，P1）表示：Vivian在\[2021-11-21 20:05:15, 2021-11-22 08:00:00\]到访了P1地点， 而（Vivian，Vivian）表示Vivian在\[2021-11-25 23:00:00, 2021-12-04 08:00:00\] 期间感染了新冠（注：这里点的状态变化，如感染疾病，建模为与对应点相关的边）。
图2动态图数据示例   
![](https://support.huaweicloud.com/usermanual-ges/zh-cn_image_0000002374926113.png)
#### 动态图的元数据
时间戳是动态图的重要特征，为了描述动态图数据，需要在元数据中，定义时间戳相关的属性startTime 、endTime。
注意：这里的startTime 、endTime为动态图相关属性定义，直接关系到对应点、边的生命周期，类型应为：date型或long型。示例如下：
```
<PMML>
  <labels>
    <label name="Person">
      <properties>
        <property dataType="long" name="startTime" cardinality="single"/>
        <property dataType="long" name="endTime" cardinality="single"/>
        <property dataType="string" name="name" cardinality="single"/>
        <property dataType="int" name="age" cardinality="single"/>
        <property dataType="string" name="gender" cardinality="single"/>
      </properties>
    </label>
    <label name="Place">
      <properties>
        <property dataType="string" name="type" cardinality="single"/>
        <property dataType="string" name="address" cardinality="single"/>
        <property dataType="float" name="longitude" cardinality="single"/>
        <property dataType="float" name="latitude" cardinality="single"/>
      </properties>
    </label>
    <label name="Visited">
      <properties>
        <property dataType="long" name="startTime" cardinality="single"/>
        <property dataType="long" name="endTime" cardinality="single"/>
      </properties>
    </label>
    <label name="Dignosed">
      <properties>
        <property dataType="long" name="startTime" cardinality="single"/>
        <property dataType="long" name="endTime" cardinality="single"/>
        <property dataType="string" name="risk" cardinality="single"/>
      </properties>
    </label>
  </labels>
</PMML>
```
#### 动态图的点数据
- 动态点 对于动态图的点数据如下所示，一行为一个点的数据，放在点文件中。其中，id是点数据的唯一标识，startTime表示点的整个生命周期起始时间，endTime表示点生命周期中止时间：
  id,label,startTime,endTime,property1,property2...
  示例：
  ```
  Vivian,Person,1991-02-03 08:00:00,9999-12-31 24:00:00,薇薇安,F,25-34
  ```
  
- 静态点 当点数据，没有指定/定义startTime、 endTime时，认为是静态点，如下所示，一行为一个点的数据， 放在点文件中：
  id,label,property1,property2...
  示例：
  ```
  Vivian,Person,薇薇安,F,25-34
  P1,Place,residentialArea,xxxxxx,114.001494,22.554249
  P2,Place,publicArea,xxxxxx,114.074367,22.53492
  ```
  
- 特殊说明 对于点在生命周期内的随时间发生多个特殊状态变化，如Person某段时间健康状态信息，可以将这种状态变化建模为边，一行表示点的一个状态数据，放在边文件数据中。
  id,id,label,startTime,endTime,property...
  示例：
  ```
  Vivian,Vivian,Diagnosed,2021-11-25  23:00:00,2021-12-04  08:00:00,Covid-9
  ```
  
 
#### 动态图的边数据
- 动态边 对于动态图的边数据如下所示，一行为一条边的数据， 格式如下所示，其中，id 1、id 2是一条边的两个端点的id，startTime表示这条边生命周期起始时间，endTime表示这条边生命周期中止时间：。
  id 1, id 2, label, startTime, endTime, property 1, property 2, ...
  示例如下：
  ```
  Vivian,P1,Visited,2021-11-21  12:05:21,2021-11-21  14:00:00
  Vivian,P2,Visited,2021-11-21  16:33:18,2021-11-21  19:51:00
  ```
  
- 静态边 当不指定边的生命周期起始和终止时间时，认为是静态边，按一般静态边建模。
  id 1, id 2, label, property 1, property 2, ...
  
 
#### 动态图点边数据文件
- 点数据文件 每行表示一个动态/静态点，可以指定多个点文件：
  ```
  Vivian,Person,薇薇安,F,25-34
  P1,Place,residentialArea,xxxxxx,114.001494,22.554249
  P2,Place,publicArea,xxxxxx,114.074367,22.53492
  ```
  
- 边数据文件 每行表示一条动态/静态边，可以指定多个边文件：
  ```
  Vivian,P1,Visited,2021-11-21  12:05:21,2021-11-21  14:00:00
  Vivian,P2,Visited,2021-11-21  16:33:18,2021-11-21  19:51:00
  ```
  
 
