Skip to content

Commit 6487a06

Browse files
committed
Restructured RDF, so that the author ordinal is now pathway specific
1 parent b2fb798 commit 6487a06

1 file changed

Lines changed: 40 additions & 5 deletions

File tree

make-authors-rdf.R

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,10 @@ pathway.mds <- list.files("wikipathways.github.io/_pathways",".md")
6161
df <- 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

99104
wpa.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
104123
orcid.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

Comments
 (0)