- 「位相空間」は「位相」が「空間」を修飾してできている
- 「位相空間」は「空間」に含まれる
- 「含む」「含まれる」には向きがある
- 「修飾」「被修飾」にも向きがある
- それを反映する
被覆空間を論じるためのハウスドルフ空間,包含,複合用語,位相空間,ハウスドルフ空間
被覆空間を論じるためのハウスドルフ空間,修飾,複合用語,弧状連結,ハウスドルフ空間
被覆空間を論じるためのハウスドルフ空間,修飾,複合用語,局所弧状連結,ハウスドルフ空間
被覆,登録,用語,-,被覆
空間,登録,用語,-,空間
被覆空間,登録,複合用語,-,被覆空間
被覆空間,修飾,複合用語,被覆,被覆空間
被覆空間,包含,複合用語,空間,被覆空間
位相,登録,用語,-,位相
位相空間,登録,複合用語,-,位相空間
位相空間,修飾,複合用語,位相,位相空間
位相空間,包含,複合用語,空間,位相空間
ハウスドルフ,登録,固有名詞,-,ハウスドルフ
ハウスドルフ空間,修飾,複合用語,ハウスドルフ,ハウスドルフ空間
ハウスドルフ空間,包含,複合用語,空間,ハウスドルフ空間
ハウスドルフ空間は位相空間の一つ,包含,-,位相空間,ハウスドルフ空間
弧,登録,用語,-,弧
連結,登録,用語,-,連結
弧状連結,修飾,複合用語,弧,弧状連結
弧状連結,包含,複合用語,連結,弧状連結
局所,登録,用語,-,局所
局所弧状連結,修飾,複合用語,局所,局所弧状連結
局所弧状連結,包含,複合用語,弧状連結,局所弧状連結
infile <- read.table("input2.txt", sep = ",", fill =TRUE)
infile.m <- as.matrix(infile)
feature1 <- infile.m[,1]
feature2 <- infile.m[,2]
feature3 <- infile.m[,3]
feature1.uni <- unique(feature1)
feature2.uni <- unique(feature2)
feature3.uni <- unique(feature3)
feature1.val <- apply(outer(feature1,feature1.uni,"=="),1,which,TRUE)
feature2.val <- apply(outer(feature2,feature2.uni,"=="),1,which,TRUE)
feature3.val <- apply(outer(feature3,feature3.uni,"=="),1,which,TRUE)
infile.m <- infile.m[,4:length(infile.m[1,])]
unique.word <- unique(c(infile.m))
unique.word <- unique.word[which(unique.word != "")]
v.name <- unique.word
el.name <- el.id <- NULL
el.type <- NULL
for(i in 1:length(infile.m[,1])){
num.kids <- length(which(infile.m[i,] != ""))-1
for(j in 1:num.kids){
el.name <- rbind(el.name,c(infile.m[i,1],infile.m[i,1+j]))
el.type <- c(el.type,feature2.val[i])
}
}
el.id <- matrix(0,length(el.name[,1]),length(el.name[1,]))
for(i in 1:length(v.name)){
el.id[which(el.name == v.name[i])] <- i
}
library(igraph)
g <- graph.empty(length(v.name), directed =TRUE)
g <- add.edges(g, c(t(el.id)))
plot(g, layout = layout.kamada.kawai(g))
coords <- layout.kamada.kawai(g)
plot(g,layout = coords)
v.col <- rep(1,length(coords[,1]))
plot(coords,cex = 2, pch = 19, col = v.col)
e.col <- el.type
arrows(coords[el.id[,1],1],coords[el.id[,1],2],coords[el.id[,2],1],coords[el.id[,2],2], col = e.col)
par(new =TRUE)
coords2 <- cbind(coords[,1],coords[,2]-0.1)
text(coords2,unique.word,xlim = range(coords[,1]),ylim=range(coords[,2]))