# # Find all the people with a position in the CTSI or any CTSI sub-unit, # and list them alphabetically with phone, email, gatorlink, ufid, eracommons if any # SELECT ?person (MIN(DISTINCT ?xname) AS ?name) (MIN(DISTINCT ?xphone) AS ?phone) (MIN(DISTINCT ?xemail) AS ?email) (MIN(DISTINCT ?xgatorlink) AS ?gatorlink) (MIN(DISTINCT ?xufid) AS ?ufid) (MIN(DISTINCT ?xeracommons) AS ?eracommons) WHERE { {?pos vivo:relates . ?pos a vivo:Position .} UNION { obo:BFO_0000051 ?sub . ?pos vivo:relates ?sub . ?pos a vivo:Position .} ?pos vivo:dateTimeInterval ?dt . OPTIONAL {?dt vivo:end ?end . } FILTER (!BOUND(?end)) # current positions do not have end dates ?pos vivo:relates ?person . ?person a foaf:Person . ?person rdfs:label ?xname . ?person a ufVivo:UFCurrentEntity . ?person obo:ARG_2000028 ?vcard . OPTIONAL { ?vcard vcard:hasEmail ?email_thing . ?email_thing vcard:email ?xemail .} OPTIONAL { ?vcard vcard:hasTelephone ?tel_thing . ?tel_thing vcard:telephone ?xphone .} OPTIONAL { ?person ufVivo:gatorlink ?xgatorlink .} OPTIONAL { ?person ufVivo:ufid ?xufid .} OPTIONAL { ?person vivo:eRACommonsId ?xeracommons .} } GROUP BY ?person ORDER BY ?name