PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX vivo: <http://vivoweb.org/ontology/core#> SELECT DISTINCT ?subclass ?address ?localName ?label ?street1 ?street2 ?street3 ?city ?state ?postalCode ?country WHERE { ?subject ?property ?address LET ( ?localName := afn:localname(?address) ) OPTIONAL { ?address rdfs:label ?label } OPTIONAL { ?address vivo:address1 ?street1 } OPTIONAL { ?address vivo:address2 ?street2 } OPTIONAL { ?address vivo:address3 ?street3 } OPTIONAL { ?address vivo:addressCity ?city } OPTIONAL { ?address vivo:addressState ?state } OPTIONAL { ?address vivo:addressPostalCode ?postalCode } OPTIONAL { ?address vivo:addressCountry ?country } OPTIONAL { ?address vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf vivo:Address } } ORDER BY ?country ?label PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vivo: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?subclass rdfs:subClassOf vivo:Address } WHERE { ?subclass rdfs:subClassOf vivo:Address } PREFIX vivo: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> CONSTRUCT { ?subject ?property ?address . ?address ?addressProperty ?addressValue } WHERE { { ?subject ?property ?address } UNION { ?subject ?property ?address . ?address ?addressProperty ?addressValue } }