diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql deleted file mode 100644 index 70d69df3..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql +++ /dev/null @@ -1,83 +0,0 @@ -PREFIX arg: . -PREFIX foaf: . -PREFIX v: . -PREFIX vivo: . - -CONSTRUCT { - ?s arg:ARG_2000028 _:vcard . - _:vcard arg:ARG_2000029 ?s . - _:vcard a v:Individual . - _:vcard v:hasName _:name . - _:name a v:Name . - _:name v:givenName ?firstName . - _:name vivo:middleName ?middleName . - _:name v:familyName ?lastName . - _:name v:hasEmail _:email . - _:email a v:Email . - _:email v:email ?email . - _:name v:hasEmail _:primaryEmail . - _:primaryEmail a v:Email . - _:primaryEmail a v:Work . - _:primaryEmail v:email ?primaryEmail . - _:name v:hasTelephone _:telephone . - _:telephone a v:Telephone . - _:telephone a v:Voice . - _:telephone v:telephone ?phoneNumber . - _:name v:hasTelephone _:primaryTelephone . - _:primaryTelephone a v:Telephone . - _:primaryTelephone a v:Voice . - _:primaryTelephone a v:Work . - _:primaryTelephone v:telephone ?primaryPhoneNumber . - _:name v:hasTelephone _:fax . - _:fax a v:Telephone . - _:fax a v:Fax. - _:fax v:telephone ?faxNumber . - _:name v:hasAddress _:address . - _:address v:streetAddress ? -} WHERE { - ?s a foaf:Person - { - ?s foaf:firstName ?firstName . - } UNION { - ?s foaf:lastName ?lastName . - } UNION { - ?s vivo:middleName ?middleName - } UNION { - ?s vivo:email ?email - } UNION { - ?s vivo:primaryEmail ?primaryEmail - } UNION { - ?s vivo:phoneNumber ?phoneNumber - } UNION { - ?s vivo:primaryPhoneNumber ?primaryPhoneNumber - } UNION { - ?s vivo:faxNumber ?faxNumber - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - BIND (?address1 AS ?streetAddress) - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - ?address vivo:address2 ?address2 . - BIND (CONCAT(?address1, ", ", ?address2) AS ?streetAddress) - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - ?address vivo:address2 ?address2 . - ?address vivo:address3 ?address3 . - BIND (CONCAT(?address1, ", ", ?address2, ", ", ?address3) AS ?streetAddress) - } -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql new file mode 100644 index 00000000..cc320ed1 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql @@ -0,0 +1,20 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Organization . +} WHERE { + ?s a foaf:Organization + 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 } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql new file mode 100644 index 00000000..c899a29f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql @@ -0,0 +1,20 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Group . +} WHERE { + ?s a foaf:Group + 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 } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql new file mode 100644 index 00000000..3af689b1 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql @@ -0,0 +1,23 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Individual . +} WHERE { + ?s a foaf:Person + FILTER ( + EXISTS { ?s foaf:firstName ?firstName } || + EXISTS { ?s foaf:lastName ?lastName } || + EXISTS { ?s vivo:middleName ?middleName } || + 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 } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql new file mode 100644 index 00000000..ae21fbab --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql @@ -0,0 +1,27 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:givenName ?firstName . + _:name vivo:middleName ?middleName . + _:name v:familyName ?lastName . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + OPTIONAL { + ?s foaf:firstName ?firstName . + BIND("yes" as ?test) + } + OPTIONAL { + ?s foaf:lastName ?lastName . + BIND("yes" as ?test) + } + OPTIONAL { + ?s vivo:middleName ?middleName + BIND("yes" as ?test) + } + FILTER(bound(?test)) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql new file mode 100644 index 00000000..91991c9e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasEmail _:email . + _:email a v:Email . + _:email v:email ?email . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:email ?email +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql new file mode 100644 index 00000000..b6f9409f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql @@ -0,0 +1,14 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasEmail _:primaryEmail . + _:primaryEmail a v:Email . + _:primaryEmail a v:Work . + _:primaryEmail v:email ?primaryEmail . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:primaryEmail ?primaryEmail +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql new file mode 100644 index 00000000..6deedc83 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql @@ -0,0 +1,14 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:telephone . + _:telephone a v:Telephone . + _:telephone a v:Voice . + _:telephone v:telephone ?phoneNumber . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:phoneNumber ?phoneNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql new file mode 100644 index 00000000..766faa3e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql @@ -0,0 +1,21 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:primaryTelephone . + _:primaryTelephone a v:Telephone . + _:primaryTelephone a v:Voice . + _:primaryTelephone a v:Work . + _:primaryTelephone v:telephone ?primaryPhoneNumber . + _:name v:hasTelephone _:fax . + _:fax a v:Telephone . + _:fax a v:Fax. + _:fax v:telephone ?faxNumber . + _:name v:hasAddress _:address . + _:address v:streetAddress ?streetAddress . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql new file mode 100644 index 00000000..95c15654 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql @@ -0,0 +1,16 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:fax . + _:fax a v:Telephone . + _:fax a v:Fax. + _:fax v:telephone ?faxNumber . + _:name v:hasAddress _:address . + _:address v:streetAddress ?streetAddress . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:faxNumber ?faxNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql new file mode 100644 index 00000000..eb88f650 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql @@ -0,0 +1,37 @@ +PREFIX arg: +PREFIX foaf: +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 . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?addressCity . + ?address vivo:addressState ?addressState . + ?address vivo:addressCountry ?addressCountry . + ?address vivo:addressPostalCode ?addressPostalCode . + OPTIONAL { + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + ?address vivo:address3 ?address3 . + BIND (CONCAT(?address1, ", ", ?address2, ", ", ?address3) AS ?streetAddress) + } + OPTIONAL { + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + FILTER NOT EXISTS { ?address vivo:address3 ?address3 } + BIND (CONCAT(?address1, ", ", ?address2) AS ?streetAddress) + } + OPTIONAL { + ?address vivo:address1 ?address1 + BIND(?address1 as ?streetAddress) + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql new file mode 100644 index 00000000..901c706a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -0,0 +1,48 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s foaf:firstName ?firstName . + ?s foaf:lastName ?lastName . + ?s vivo:middleName ?middleName . + ?s vivo:email ?email . + ?s vivo:primaryEmail ?primaryEmail . + ?s vivo:phoneNumber ?phoneNumber . + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber . + ?s vivo:faxNumber ?faxNumber . + ?s vivo:mailingAddress ?address . + ?address ?addressP ?addressO . +} WHERE { + ?s a foaf:Agent + OPTIONAL { + ?s foaf:firstName ?firstName . + } + OPTIONAL { + ?s foaf:lastName ?lastName . + } + OPTIONAL { + ?s vivo:middleName ?middleName + } + OPTIONAL { + ?s vivo:email ?email + } + OPTIONAL { + ?s vivo:primaryEmail ?primaryEmail + } + OPTIONAL { + ?s vivo:phoneNumber ?phoneNumber + } + OPTIONAL { + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber + } + OPTIONAL { + ?s vivo:faxNumber ?faxNumber + } OPTIONAL { + ?s vivo:mailingAddress ?address . + OPTIONAL { + ?address ?addressP ?addressO + } + } +}