def main(configuration_json, step_to_start_at=0): f = open(configuration_json,"r") configuration = json.load(f) f.close() i = 0 for vivo_site in configuration["vivo-sites"]: base_file_name = vivo_site["name"] current_date_odbc = time.strftime("%Y-%m-%d", time.localtime()) abox_file_name = base_file_name + "_abox_" + current_date_odbc + ".nt" tbox_file_name = base_file_name + "_tbox_" + current_date_odbc + ".nt" vivo_site["abox_file_name"] = abox_file_name vivo_site["tbox_file_name"] = tbox_file_name if step_to_start_at == 0: print("Dumping the ontology from '%s' to '%s'" % (vivo_site["site"], os.path.abspath(tbox_file_name))) extract_rdf_data_from_vivo_site.main(vivo_site["site"], vivo_site["username"], vivo_site["password"],tbox="TBOX", file_name=tbox_file_name, abox=None) print("Dumping instance data from '%s' to '%s'" % (vivo_site["site"],os.path.abspath(abox_file_name))) extract_rdf_data_from_vivo_site.main(vivo_site["site"], vivo_site["username"], vivo_site["password"],abox="ABOX", file_name=abox_file_name, tbox=None) umls_alignment_file_name = abox_file_name + ".umls.nt" vivo_site["umls_alignment_file_name"] = umls_alignment_file_name if step_to_start_at <= 1: print("Aligning research subject area phrases to the UMLS") umls_alignment.main(abox_file_name, umls_alignment_file_name) if step_to_start_at <= 2: print("Building free text index for rdfs:label") free_text_indices = FreeTextTriples.main(abox_file_name) else: free_text_indices = glob.glob(abox_file_name + ".http*") vivo_site["free_text_indices"] = free_text_indices i += 1 if step_to_start_at <= 3: print("Getting CUIS for articles") pmid_to_cuis.main(abox_file_name, abox_file_name + "." + "pmid2cuis.nt") else: pass vivo_site["pmid2cuis"] = abox_file_name + "." + "pmid2cuis.nt" pprint.pprint(configuration)
__author__ = 'janos' import sys import re import FreeTextTriples as ftt if __name__ == "__main__": if len(sys.argv) >= 3: ntriples_to_align = sys.argv[1] alignment_source = sys.argv[2] ftt.align_ntriples(ntriples_to_align, alignment_source) if len(sys.argv) > 3: number_of_words_to_split = 5 number = re.compile("[0-9]+") properties = [] for arg in sys.argv[3:]: if number.match(arg): number_of_words_to_split = int(arg) else: properties.append(arg) if len(properties) == 0: ftt.align_ntriples(ntriples_to_align, alignment_source, number_of_words_to_split) else: ftt.align_ntriples(ntriples_to_align, alignment_source, properties, number_of_words=number_of_words_to_split)
""" Generates a free text index from an ntriples file. """ __author__ = 'Janos G. Hajagos' import FreeTextTriples import sys if __name__ == "__main__": if len(sys.argv) == 1: print("""Usage: python generate_free_text_triples.py reach.nt 'http://www.w3.org/2008/05/skos#prefLabel'""") else: if len(sys.argv) == 2: FreeTextTriples.main(sys.argv[1]) else: FreeTextTriples.main(sys.argv[1], sys.argv[2:])
""" Generates a free text index from an ntriples file. """ __author__ = 'Janos G. Hajagos' import FreeTextTriples import sys if __name__ == "__main__": if len(sys.argv) == 1: print("""Usage: python generate_free_text_triples.py reach.nt 'http://www.w3.org/2008/05/skos#prefLabel'""" ) else: if len(sys.argv) == 2: FreeTextTriples.main(sys.argv[1]) else: FreeTextTriples.main(sys.argv[1], sys.argv[2:])
def test_align_ntriples(self): align_ntriples = FreeTextTriples.align_ntriples("article_titles.nt","suis_to_align.nt", ["http://purl.org/dc/elements/1.1/title"] )