def run(self):
g = Graph()
wos_top = D['wos-topics']
g.add((wos_top, RDF.type, WOS.TopTopic))
g.add((wos_top, RDFS.label, Literal("Web of Science Subject Schemas")))
with open(self.input_file) as inf:
for row in csv.DictReader(inf):
ra = row['Research Area (eASCA)']
category = row['WoS Category (tASCA)']
broad, ra1, ra2 = self.chunk_ras(ra)
broad_uri, cg = self.do_term(broad, clz=WOS.BroadDiscipline)
g.add((broad_uri, SKOS.broader, wos_top))
g += cg
ra1_uri, cg = self.do_term(ra1, broader=broad_uri, clz=WOS.ResearchArea, uri_prefix="wosra")
g += cg
ra2_uri = None
if ra2 is not None:
ra2_uri, cg = self.do_term(ra2, broader=ra1_uri, clz=WOS.ResearchArea, uri_prefix="wosra")
g += cg
cat_uri, cg = self.do_term(category, broader=ra2_uri or ra1_uri, clz=WOS.Category)
g += cg
self.serialize(g)
评论列表
文章目录