def t32_faculty(faculty): """ Given faculty participating in a T32, augment with VIVO data for attributes of interest to the NIH """ new_faculty = {} for row, f in faculty.items(): uri = find_person(f['UFID']) person = vt.get_person(uri, get_positions=True, get_degrees=True) f['rank'] = person['preferred_title'] f['degrees'] = person['degrees'] f['positions'] = person['positions'] new_faculty[row] = f return new_faculty
print "\nOrganization" print vt.get_organization("http://vivo.ufl.edu/individual/n182882417") print vt.remove_uri("http://vivo.ufl.edu/individual/n182882417") print "\nAuthorship" print vt.get_authorship("http://vivo.ufl.edu/individual/n148010391") print vt.remove_uri("http://vivo.ufl.edu/individual/n148010391") print "\nRole" print vt.get_role("http://vivo.ufl.edu/individual/n1864549239") print vt.remove_uri("http://vivo.ufl.edu/individual/n1864549239") print "\nPerson" print vt.get_person("http://vivo.ufl.edu/individual/n39051") print vt.remove_uri("http://vivo.ufl.edu/individual/n39051") print "\nNot Found" print vt.remove_uri("http://vivo.ufl.edu/notfound") print "\nPublication Venue" print vt.get_publication("http://vivo.ufl.edu/individual/n378789540") print vt.remove_uri("http://vivo.ufl.edu/individual/n378789540") print "\nGrant" print vt.get_grant("http://vivo.ufl.edu/individual/n614029206") print vt.remove_uri("http://vivo.ufl.edu/individual/n614029206") print "\nWebpage" print vt.get_webpage("http://vivo.ufl.edu/individual/n104143")
print vt.remove_uri("http://vivo.ufl.edu/individual/n182882417") print "\nOrganization" print vt.get_organization("http://vivo.ufl.edu/individual/n182882417") print vt.remove_uri("http://vivo.ufl.edu/individual/n182882417") print "\nAuthorship" print vt.get_authorship("http://vivo.ufl.edu/individual/n148010391") print vt.remove_uri("http://vivo.ufl.edu/individual/n148010391") print "\nRole" print vt.get_role("http://vivo.ufl.edu/individual/n1864549239") print vt.remove_uri("http://vivo.ufl.edu/individual/n1864549239") print "\nPerson" print vt.get_person("http://vivo.ufl.edu/individual/n39051") print vt.remove_uri("http://vivo.ufl.edu/individual/n39051") print "\nNot Found" print vt.remove_uri("http://vivo.ufl.edu/notfound") print "\nPublication Venue" print vt.get_publication("http://vivo.ufl.edu/individual/n378789540") print vt.remove_uri("http://vivo.ufl.edu/individual/n378789540") print "\nGrant" print vt.get_grant("http://vivo.ufl.edu/individual/n614029206") print vt.remove_uri("http://vivo.ufl.edu/individual/n614029206") print "\nWebpage" print vt.get_webpage("http://vivo.ufl.edu/individual/n104143")
Disambiguation Report For each publication with one or more authors to disambiguate, list the paper, and then the authors in question with each of the possible URIs to be disambiguated, show the URI of the paper, and then for each author that needs to be disambiguated on the paper, show the last name, first name and middle initial and the all the URIs in VIVO for UF persons with the same names. """ for uri in disambiguation_report.keys(): print >> rpt_file, "The publication at", uri, "has one or more authors in question" for key, value in disambiguation_report[uri].items(): uris = value[9].split(";") print >> rpt_file, " ", value[4], value[5], value[6], ":" for u in uris: person = vivotools.get_person(u) if 'last_name' not in person: person['last_name'] = "No last name" if 'middle_name' not in person: person['middle_name'] = "No middle name" if 'first_name' not in person: person['first_name'] = "No first name" if 'home_department_name' not in person: person['home_department_name'] = "No home department" npubs = len(person['authorship_uris']) print >>rpt_file," ",u,person['last_name'], \ person['first_name'],person['middle_name'], \ person['home_department_name'],"Number of pubs = ",npubs print >> rpt_file print >> rpt_file #
from rtfng.Renderer import Renderer from rtfng.Elements import Document, PAGE_NUMBER from rtfng.Styles import TextStyle, ParagraphStyle from rtfng.document.section import Section from rtfng.document.paragraph import Paragraph, Table, Cell from rtfng.document.character import B, I from rtfng.PropertySets import MarginsPropertySet, BorderPropertySet, \ FramePropertySet, TabPropertySet, TextPropertySet, ParagraphPropertySet from rtfng.document.base import TAB # Start here. Get person data. Setup the document print str(datetime.datetime.now()) person = vt.get_person("http://vivo.ufl.edu/individual/n25562", get_positions=True, get_publications=True, get_degrees=True, get_grants=True) ##person = vt.get_person("http://vivo.ufl.edu/individual/n31445", ## get_positions=True, get_publications=True, get_degrees=True, ## get_grants=True) ##person = vt.get_person("http://vivo.ufl.edu/individual/n11937", ## get_positions=True, get_publications=True, get_degrees=True, ## get_grants=True) if 'overview' not in person: person['overview'] = '' if 'era_commons' not in person: person['era_commons'] = '' if 'first_name' not in person: person['first_name'] = '' if 'last_name' not in person: person['last_name'] = ''
# print datetime.now(),"Start" data = vt.read_csv("name-parts.csv") print datetime.now(),"Source data has",len(data),"elements" ardf = vt.rdf_header() srdf = vt.rdf_header() i = 0 for row in sorted(data.keys()): i = i + 1 [last,first,middle,suffix] = name_parts(data[row]['display_name']) print i,data[row]['display_name'],":",last,first,middle,suffix uri = data[row]['uri'] person = vt.get_person(uri) if not 'last_name' in person: person['last_name'] = None if not 'first_name' in person: person['first_name'] = None if not 'middle_name' in person: person['middle_name'] = None if not 'name_suffix' in person: person['name_suffix'] = None [add,sub] = vt.update_data_property(uri,'foaf:lastName',person['last_name'],last) ardf = ardf + add srdf = srdf + sub [add,sub] = vt.update_data_property(uri,'foaf:firstName',person['first_name'],first) ardf = ardf + add srdf = srdf + sub [add,sub] = vt.update_data_property(uri,'vivo:middleName',person['middle_name'],middle)
Disambiguation Report For each publication with one or more authors to disambiguate, list the paper, and then the authors in question with each of the possible URIs to be disambiguated, show the URI of the paper, and then for each author that needs to be disambiguated on the paper, show the last name, first name and middle initial and the all the URIs in VIVO for UF persons with the same names. """ for uri in disambiguation_report.keys(): print >>rpt_file,"The publication at",uri,"has one or more authors in question" for key,value in disambiguation_report[uri].items(): uris = value[9].split(";") print >>rpt_file," ",value[4],value[5],value[6],":" for u in uris: person = vivotools.get_person(u) if 'last_name' not in person: person['last_name'] = "No last name" if 'middle_name' not in person: person['middle_name'] = "No middle name" if 'first_name' not in person: person['first_name'] = "No first name" if 'home_department_name' not in person: person['home_department_name'] = "No home department" npubs = len(person['authorship_uris']) print >>rpt_file," ",u,person['last_name'], \ person['first_name'],person['middle_name'], \ person['home_department_name'],"Number of pubs = ",npubs print >>rpt_file print >>rpt_file #
previousYear = year p = Paragraph(ss.ParagraphStyles.Heading2) p. append(rfa) section.append(p) previousRFA = rfa elif previousRFA != rfa: p = Paragraph(ss.ParagraphStyles.Heading2) p. append(rfa) section.append(p) previousRFA = rfa [found_person, person_uri] = vt.find_person(ufid, ufid_dictionary) if not found_person: print '\n', n, name, "not Found", "ufid", ufid continue person = vt.get_person(person_uri, get_publications=True, get_grants=True) p = Paragraph(ss.ParagraphStyles.Heading3) p. append(title) section.append(p) p = Paragraph(ss.ParagraphStyles.Heading4) p. append(name) section.append(p) if len(person['grants']) > 0: for grant in person['grants']: try: print 'grant',\ int(grant['start_date']['date']['year']), int(year) except: continue
""" test_get_person.py -- Given a URIof a person entity in VIVO, return a python sturcture containing attrbutes of the person Version 0.1 MC 2013-12-27 -- Initial version. """ __author__ = "Michael Conlon" __copyright__ = "Copyright 2013, University of Florida" __license__ = "BSD 3-Clause license" __version__ = "0.1" import vivotools as vt from datetime import datetime print datetime.now(),"Start" print "\n",vt.get_person("http://vivo.ufl.edu/individual/n13049",get_grants=True, get_publications=True,get_positions=True) # Richard Macmaster print "\n",vt.get_person("http://vivo.ufl.edu/individual/n3698", get_positions=True) # Chelsea Dinsmore print "\n",vt.get_person("http://vivo.ufl.edu/individual/n25562", get_degrees=True) # Mike Conlon print "\n",vt.get_person("http://vivo.ufl.edu/individual/n1770144435", get_positions=True) # Colleen Abad print datetime.now(),"Finish"
from rtfng.Renderer import Renderer from rtfng.Elements import Document, PAGE_NUMBER from rtfng.Styles import TextStyle, ParagraphStyle from rtfng.document.section import Section from rtfng.document.paragraph import Paragraph, Table, Cell from rtfng.document.character import B, I from rtfng.PropertySets import MarginsPropertySet, BorderPropertySet, \ FramePropertySet, TabPropertySet, TextPropertySet, ParagraphPropertySet from rtfng.document.base import TAB # Start here. Get person data. Setup the document print str(datetime.datetime.now()) person = vt.get_person("http://vivo.ufl.edu/individual/n25562", get_positions=True, get_publications=True, get_degrees=True, get_grants=True) ##person = vt.get_person("http://vivo.ufl.edu/individual/n31445", ## get_positions=True, get_publications=True, get_degrees=True, ## get_grants=True) ##person = vt.get_person("http://vivo.ufl.edu/individual/n11937", ## get_positions=True, get_publications=True, get_degrees=True, ## get_grants=True) if 'overview' not in person: person['overview'] = '' if 'era_commons' not in person: person['era_commons'] = '' if 'first_name' not in person: person['first_name'] = '' if 'last_name' not in person:
ufid = row['ufid'] if ufid.startswith('http'): uri = ufid ufid = None else: uri = find_vivo_uri("ufVivo:ufid", ufid) if uri is None: print ufid,' not found' person = {} person['display_name'] = 'UFID '+ ufid + ' not found' p = Paragraph(ss.ParagraphStyles.Heading1) p. append(person['display_name']) section.append(p) previousPerson = person continue person = get_person(uri, get_publications=True) print uri print person print person['display_name'], len(person['publications']), "publications" if previousPerson != person: p = Paragraph(ss.ParagraphStyles.Heading1) p. append(person['display_name']) section.append(p) previousPerson = person if len(person['publications']) > 0: for pub in person['publications']: if 'date' not in pub: pub['date'] = {'year': None} for publication in sorted(person['publications'],