コード例 #1
0
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)
コード例 #3
0
"""
    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:])
コード例 #4
0
__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)
コード例 #5
0
"""
    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:])
コード例 #6
0
 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"] )