图形描述语言GraphML(1):基本概念

GraphML用于定义图形(graph,对于下面的一个简单图形,

用GraphML描述为:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"  
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://graphml.graphdrawing.org/xmlns
     http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"
>
  
<graph id="G" edgedefault="undirected">
    
<node id="n0"/>
    
<node id="n1"/>
    
<node id="n2"/>
    
<node id="n3"/>
    
<node id="n4"/>
    
<node id="n5"/>
    
<node id="n6"/>
    
<node id="n7"/>
    
<node id="n8"/>
    
<node id="n9"/>
    
<node id="n10"/>
    
<edge source="n0" target="n2"/>
    
<edge source="n1" target="n2"/>
    
<edge source="n2" target="n3"/>
    
<edge source="n3" target="n5"/>
    
<edge source="n3" target="n4"/>
    
<edge source="n4" target="n6"/>
    
<edge source="n6" target="n5"/>
    
<edge source="n5" target="n7"/>
    
<edge source="n6" target="n8"/>
    
<edge source="n8" target="n7"/>
    
<edge source="n8" target="n9"/>
    
<edge source="n8" target="n10"/>
  
</graph>
</graphml>

 

 可以看出,GraphML中关于图形的一些基本概念如下:



需要注意以下几点:

1.Graph中的元素(element)没有顺序要求

如,下面的Graph是正确的:

  <graph id="G" edgedefault="directed">
    
<node id="n0"/>
    
<edge source="n0" target="n2"/>
    
<node id="n1"/>
    
<node id="n2"/>
  
</graph>

2.有向图和无向图可以混合定义。

Graph必须指定edgedefault

属性

(

directed”

或“

undirected”)

Edge

中也可以单独设置

directed

true

false

3.对于只有一个端点(endpoint)Edge(称为循环边loop edge,自循环selfloop edge,或反射边reflexive edig),是通过为edgesource target 属性设置相同的值来定义的。

 

posted @   心内求法  阅读(1377)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示