@@ -61,7 +61,10 @@ pathway.mds <- list.files("wikipathways.github.io/_pathways",".md")
6161df <- lapply(pathway.mds , function (md ){
6262 dat <- yaml :: read_yaml(file.path(" wikipathways.github.io/_pathways" ,md ))
6363 dat $ authors = gsub(" %\\ (\\ ^" , " PctOpenHat" , dat $ authors )
64+ rev = dat $ revision
65+ if (is.null(dat $ revision )) rev = " r1"
6466 data.frame (wpid = dat $ wpid ,
67+ revision = rev ,
6568 username = dat $ authors )
6669
6770})
@@ -86,20 +89,36 @@ wpa.ttl <- wpa.df %>% dplyr::ungroup() %>%
8689 dplyr :: mutate(s1 = paste0(" https://identifiers.org/wikipathways/" ,wpid )) %> %
8790 dplyr :: mutate(p1 = " dc:creator" ) %> %
8891 dplyr :: mutate(o1 = paste0(' <http://rdf.wikipathways.org/User/' ,gsub(" " ," _" ,username ),' >' )) %> %
92+ dplyr :: mutate(p3 = " pav:hasVersion" ) %> %
93+ dplyr :: mutate(o3 = paste0(' <https://identifiers.org/wikipathways/' ,wpid ,' _' ,revision ,' >' )) %> %
8994 dplyr :: mutate(p2a = " a" ) %> %
9095 dplyr :: mutate(o2a = paste0(' foaf:Person' )) %> %
9196 dplyr :: mutate(p2b = " foaf:name" ) %> %
9297 dplyr :: mutate(o2b = paste0(' "' ,realname ,' "' )) %> %
9398 dplyr :: mutate(p2c = " foaf:homepage" ) %> %
9499 dplyr :: mutate(o2c = paste0(' <https://wikipathways.org/authors/' ,gsub(" " ," %20" ,username ),' >' )) %> %
95- dplyr :: mutate(p2d = " pq:series_ordinal " ) %> %
96- dplyr :: mutate(o2d = paste0(' " ' , ordinalRank , ' " ' )) %> %
97- dplyr :: select(s1 ,p1 ,o1 ,p2a ,o2a ,p2b ,o2b ,p2c ,o2c ,p2d ,o2d )
100+ dplyr :: mutate(p2d = " wp:hasAuthorship " ) %> %
101+ dplyr :: mutate(o2d = paste0(' <http://rdf.wikipathways.org/User/ ' ,gsub( " " , " _ " , username ), ' / ' , wpid , ' _ ' , revision , ' > ' )) %> %
102+ dplyr :: select(s1 ,p1 ,o1 ,p3 , o3 , p2a ,o2a ,p2b ,o2b ,p2c ,o2c ,p2d ,o2d )
98103
99104wpa.ttl2 <- wpa.ttl %> %
100105 dplyr :: group_by(s1 ,p1 ) %> %
101106 dplyr :: summarise(o1 = paste(gsub(" \" " ," \\\\\" " ,unique(o1 )), sep = " " , collapse = ' , ' ))
102107
108+ wpa.ttl3 <- wpa.df %> % dplyr :: ungroup() %> %
109+ dplyr :: mutate(s3 = paste0(' <http://rdf.wikipathways.org/User/' ,gsub(" " ," _" ,username ),' /' ,wpid ,' _' ,revision ,' >' )) %> %
110+ dplyr :: mutate(p4 = " a" ) %> %
111+ dplyr :: mutate(o4 = paste0(' wp:Authorship' )) %> %
112+ dplyr :: mutate(p3a = " dc:creator" ) %> %
113+ dplyr :: mutate(o3a = paste0(' <http://rdf.wikipathways.org/User/' ,gsub(" " ," _" ,username ),' >' )) %> %
114+ dplyr :: mutate(p3b = " pq:series_ordinal" ) %> %
115+ dplyr :: mutate(o3b = paste0(' "' ,ordinalRank ,' "' )) %> %
116+ dplyr :: select(s3 ,p4 ,o4 ,p3a ,o3a ,p3b ,o3b )
117+
118+ wpa.ttl4 <- wpa.ttl %> %
119+ dplyr :: group_by(s1 ,p2d ) %> %
120+ dplyr :: summarise(o2d = paste(gsub(" \" " ," \\\\\" " ,unique(o2d )), sep = " " , collapse = ' , ' ))
121+
103122# # dplyr::mutate orcid data for RDF
104123orcid.ttl <- orcid_wd.df %> %
105124 dplyr :: mutate(o1 = paste0(' <http://rdf.wikipathways.org/User/' ,gsub(" " ," _" ,username ),' >' )) %> %
@@ -119,19 +138,27 @@ sapply(wpa.ttl2$s1, function(x){
119138 " @prefix dc: <http://purl.org/dc/elements/1.1/> ." ,
120139 " @prefix owl: <http://www.w3.org/2002/07/owl#> ." ,
121140 " @prefix foaf: <http://xmlns.com/foaf/0.1/> ." ,
141+ " @prefix pav: <http://purl.org/pav/> ." ,
122142 " @prefix pq: <http://www.wikidata.org/prop/qualifier/> ." ,
143+ " @prefix wp: <http://vocabularies.wikipathways.org/wp#> ." ,
123144 " " ,
124145 paste0(" <" ,x ," >" )
125146 ),filename )
126147 apply(wpa.ttl2 [which(wpa.ttl2 $ s1 == x ),], 1 , function (y ){
127- write(paste0(" " ,y [' p1' ]," " ,y [' o1' ], " ." ), filename , append = TRUE )
148+ write(paste0(" " ,y [' p1' ]," " ,y [' o1' ], " ;" ), filename , append = TRUE )
149+ })
150+ apply(wpa.ttl4 [which(wpa.ttl4 $ s1 == x ),], 1 , function (y ){
151+ write(paste0(" " ,y [' p2d' ]," " ,y [' o2d' ], " ;" ), filename , append = TRUE )
152+ })
153+ apply(wpa.ttl [which(wpa.ttl $ s1 == x )[1 ],], 1 , function (z ){
154+ write(paste0(" " ,z [' p3' ]," " ,z [' o3' ], " ." ), filename , append = TRUE )
128155 })
129156 apply(wpa.ttl [which(wpa.ttl $ s1 == x ),], 1 , function (z ){
130157 write(" \n " , filename , append = TRUE )
131158 write(z [' o1' ], filename , append = TRUE )
132159 write(paste0(" " ,z [' p2a' ]," " ,z [' o2a' ]," ;" ), filename , append = TRUE )
133160 write(paste0(" " ,z [' p2b' ]," " ,z [' o2b' ]," ;" ), filename , append = TRUE )
134- write(paste0(" " ,z [' p2d' ]," " ,z [' o2d' ]," ;" ), filename , append = TRUE )
161+ write(paste0(" " ,z [' p2d' ]," " ,z [' o2d' ]," ;" ), filename , append = TRUE )
135162 apply(orcid.ttl [which(orcid.ttl $ o1 == z [' o1' ]),], 1 , function (w ){
136163 if (! is.na(w [' p2a' ])){
137164 write(paste0(" " ,w [' p2a' ]," " ,w [' o2a' ]," ;" ), filename , append = TRUE )
@@ -140,6 +167,14 @@ sapply(wpa.ttl2$s1, function(x){
140167 })
141168 write(paste0(" " ,z [' p2c' ]," " ,z [' o2c' ]," ." ), filename , append = TRUE )
142169 })
170+ x_rev = wpa.ttl [which(wpa.ttl $ s1 == x ),]$ o2d
171+ apply(wpa.ttl3 [which(wpa.ttl3 $ s3 %in% x_rev ),], 1 , function (z ){
172+ write(" \n " , filename , append = TRUE )
173+ write(z [' s3' ], filename , append = TRUE )
174+ write(paste0(" " ,z [' p4' ]," " ,z [' o4' ]," ;" ), filename , append = TRUE )
175+ write(paste0(" " ,z [' p3a' ]," " ,z [' o3a' ]," ;" ), filename , append = TRUE )
176+ write(paste0(" " ,z [' p3b' ]," " ,z [' o3b' ]," ." ), filename , append = TRUE )
177+ })
143178
144179})
145180
0 commit comments