diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql index fb409425..cb908214 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql @@ -9,7 +9,15 @@ CONSTRUCT { _:vcard arg:ARG_2000029 ?s . _:vcard a v:Kind . } WHERE { - ?s vivo:webpage ?webpage - FILTER NOT EXISTS { ?s a foaf:Agent } - FILTER NOT EXISTS { ?s arg:ARG_2000028 ?existingvcard } + ?s a owl:Thing + FILTER ( + EXISTS { ?s vivo:email ?email } || + EXISTS { ?s vivo:primaryEmail ?primaryEmail } || + EXISTS { ?s vivo:phoneNumber ?phoneNumber } || + EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || + EXISTS { ?s vivo:faxNumber ?faxNumber } || + EXISTS { ?s vivo:mailingAddress ?address } || + EXISTS { ?s vivo:webpage ?webpage } + ) + FILTER NOT EXISTS { ?s arg:ARG_2000028 ?vcardNode } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql index a1a53389..48c1fd52 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql @@ -4,15 +4,15 @@ PREFIX v: PREFIX vivo: CONSTRUCT { - ?vcard v:hasAddress _:address . - _:address a v:Address . - _:address v:streetAddress ?streetAddress . - _:address v:locality ?addressCity . - _:address v:region ?addressState . - _:address v:postalCode ?addressPostalCode . - _:address v:country ?addressCountry . - _:address ?location . - ?location _:address . + ?vcard v:hasAddress ?address . + ?address a v:Address . + ?address v:streetAddress ?streetAddress . + ?address v:locality ?addressCity . + ?address v:region ?addressState . + ?address v:postalCode ?addressPostalCode . + ?address v:country ?addressCountry . + ?address ?location . + ?location ?address . } WHERE { ?s vivo:mailingAddress ?address . OPTIONAL { ?address vivo:addressCity ?addressCity } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql index 62c04e1b..bf8db27a 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql @@ -5,10 +5,10 @@ PREFIX v: PREFIX vivo: CONSTRUCT { - ?vcard v:hasURL _:url . - _:url a v:URL . - _:url v:url ?linkURI . - _:url rdfs:label ?linkAnchorText + ?vcard v:hasURL ?webpage . + ?webpage a v:URL . + ?webpage v:url ?linkURI . + ?webpage rdfs:label ?linkAnchorText } WHERE { ?s vivo:webpage ?webpage . ?webpage vivo:linkURI ?linkURI . @@ -16,7 +16,4 @@ CONSTRUCT { OPTIONAL { ?webpage vivo:linkAnchorText ?linkAnchorText } - FILTER NOT EXISTS { - ?vcard v:hasURL ?URLNode - } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql index 1eb00279..619bf855 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -16,10 +16,22 @@ CONSTRUCT { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber . ?s vivo:faxNumber ?faxNumber . ?s vivo:mailingAddress ?address . - ?address ?addressP ?addressO . - ?addressS ?addressQ ?address . + ?address vivo:mailingAddressFor ?s . + ?address a ?addressType . + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + ?address vivo:address3 ?address3 . + ?address vivo:addressCity ?city . + ?address vivo:addressState ?state . + ?address vivo:addressPostalCode ?postalCode . + ?address vivo:addressCountry ?country . + ?address vivo:hasGeographicLocation ?location . + ?location vivo:geographicLocationOf ?address . ?s vivo:webpage ?webpage . - ?webpage ?webpageP ?webpageO . + ?webpage vivo:webpageOf ?s . + ?webpage vivo:linkAnchorText ?linkAnchorText . + ?webpage vivo:linkURI ?linkURI . + ?webpage a vivo:URLLink . } WHERE { { ?s foaf:firstName ?firstName . @@ -55,19 +67,65 @@ CONSTRUCT { UNION { ?s vivo:mailingAddress ?address . } + UNION { + ?address vivo:mailingAddressFor ?s . + } UNION { ?s vivo:mailingAddress ?address . - ?address ?addressP ?addressO + ?address a ?addressType + FILTER(regex(str(?addressType),"vivoweb.org/ontology/core")) + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:address1 ?address1 . } UNION { ?s vivo:mailingAddress ?address . - ?addressS ?addressQ ?address - } + ?address vivo:address2 ?address2 . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:address3 ?address3 . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?city . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressState ?state . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressPostalCode ?postalCode . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCountry ?country . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:hasGeographicLocation ?location . + } + UNION { + ?s vivo:mailingAddress ?address . + ?location vivo:geographicLocationOf ?address . + } UNION { ?s vivo:webpage ?webpage } + UNION { + ?webpage vivo:webpageOf ?s + } + UNION { + ?s vivo:webpage ?webpage + } UNION { ?s vivo:webpage ?webpage . - ?webpage ?webpageP ?webpageO + ?webpage vivo:linkURI ?linkURI + } + UNION { + ?s vivo:webpage ?webpage . + ?webpage vivo:linkAnchorText ?linkAnchorText } }