PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> SELECT DISTINCT ?subclass ?authorship ?author ?authorName WHERE { ?subject ?property ?authorship . OPTIONAL { ?authorship core:rank ?rank } OPTIONAL { ?authorship core:relates ?author . ?author a foaf:Agent . ?author rdfs:label ?authorName OPTIONAL { ?authorship core:relates ?author . ?author a foaf:Agent . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf foaf:Agent } } OPTIONAL { ?authorship core:relates ?author . ?author a vcard:Kind . ?author vcard:hasName ?vName . ?vName vcard:givenName ?firstName . ?vName vcard:familyName ?lastName . OPTIONAL { ?vName core:middleName ?middleName . } bind ( COALESCE(?firstName, "") As ?firstName1) . bind ( COALESCE(?middleName, "") As ?middleName1) . bind ( COALESCE(?lastName, "") As ?lastName1) . bind (concat(str(?lastName1 + ", "),str(?middleName1 + " "),str(?firstName1)) as ?authorName) . OPTIONAL { ?authorship core:relates ?author . ?author a vcard:Kind . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf vcard:Kind } } FILTER ( bound(?author) ) } ORDER BY ?subclass ?rank (fn:lower-case(?authorName)) PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship ?authorshipProperty ?authorshipValue . ?authorship core:relates ?author . ?author a foaf:Agent . ?author rdfs:label ?authorName . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf foaf:Agent } WHERE { { ?subject ?property ?authorship . ?authorship a core:Authorship } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship ?authorshipProperty ?authorshipValue } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a foaf:Agent . ?author rdfs:label ?authorName } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a foaf:Agent . ?author rdfs:label ?authorName . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf foaf:Agent } } PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> CONSTRUCT { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship ?authorshipProperty ?authorshipValue . ?authorship core:relates ?author . ?author a vcard:Kind . ?author vcard:hasName ?vName . ?vName vcard:familyName ?lastName . ?vName vcard:givenName ?firstName . ?vName core:middleName ?middleName . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf vcard:Kind } WHERE { { ?subject ?property ?authorship . ?authorship a core:Authorship } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship ?authorshipProperty ?authorshipValue } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a vcard:Kind . ?author vcard:hasName ?vName . ?vName vcard:familyName ?lastName . } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a vcard:Kind . ?author vcard:hasName ?vName . ?vName vcard:familyName ?lastName . ?vName vcard:givenName ?firstName . } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a vcard:Kind . ?author vcard:hasName ?vName . ?vName vcard:familyName ?lastName . ?vName vcard:givenName ?firstName . ?vName core:middleName ?middleName . } UNION { ?subject ?property ?authorship . ?authorship a core:Authorship . ?authorship core:relates ?author . ?author a vcard:Kind . ?author vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf vcard:Kind } }