如何使用gml格式文件将IGRAPHE边属性设置为字符串?

如何使用gml格式文件将IGRAPHE边属性设置为字符串?,r,igraph,R,Igraph,我使用GML图形文件格式将图形读入IGRAPHE(R版本)。有没有办法将边属性设置为字符串?似乎有些属性标签允许有字符串值,而另一些则不允许。示例输入文件: graph [ node [ id 1 control 1 label "CiscoSW-1" ] node [ id 2 control 1 label "CiscoSW-z" ] edge [ source 1 target 2 difficulty 'A,B,C'

我使用GML图形文件格式将图形读入IGRAPHE(R版本)。有没有办法将边属性设置为字符串?似乎有些属性标签允许有字符串值,而另一些则不允许。示例输入文件:

graph [
node [
    id 1
    control 1
    label "CiscoSW-1"
]
node [
    id 2
    control 1
    label "CiscoSW-z"
]
edge [
    source 1
    target 2
    difficulty 'A,B,C'
    label "CiscoSW-1"
]
]

似乎
read\u graph
不喜欢单引号
'
,所以您需要将它们换成双引号
'

一种方法是读取文件,
gsub
去掉有问题的引号,然后使用
read\u graph
再次读取。因此,如果图形文件保存为
So.gml
,则

# Read in file, `gsub` quotes and write to tempfile()
r <- gsub("[']", "\"", readLines("so.gml"))
cat(r, file=temp<-tempfile())

# Read amended gml file 
g <- read_graph(temp, format="gml")

我认为问题可能是在困难句中使用
'
,而不是
'
。你可以
gsub
把这些写出来,然后它就可以工作了。。。现在觉得自己很愚蠢。。。谢谢
edge.attributes(g)