From a68ef819ee4cd4eed4f64cfda89962cd990877ca Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 5 Nov 2013 10:01:46 -0500 Subject: [PATCH] VIVO-403 safeguards against duplicate context node creation in migration --- .../additions/AdviseeRole.sparql | 4 +++ .../additions/AdvisorRole.sparql | 4 +++ .../additions/Editorship.sparql | 4 +++ .../additions/LeaderRole.sparql | 4 +++ .../additions/MemberRole.sparql | 4 +++ .../additions/grantAdmin.sparql | 5 +++ .../additions/post/awardedDegree.sparql | 4 +++ .../additions/vcard1-0.sparql | 24 ------------- .../additions/vcard1-0a.sparql | 15 ++++++++ .../additions/vcard1-0b.sparql | 15 ++++++++ .../additions/vcard1-0c.sparql | 15 ++++++++ .../additions/vcard1-0d.sparql | 16 +++++++++ .../additions/vcard1-0e.sparql | 16 +++++++++ .../additions/vcard1-0f.sparql | 16 +++++++++ .../additions/vcard1-0g.sparql | 16 +++++++++ .../additions/vcard1-0h.sparql | 16 +++++++++ .../additions/vcard1-0i.sparql | 16 +++++++++ .../additions/vcard1-0j.sparql | 16 +++++++++ .../additions/vcard1-1.sparql | 21 ----------- .../additions/vcard1-1d.sparql | 16 +++++++++ .../additions/vcard1-1e.sparql | 16 +++++++++ .../additions/vcard1-1f.sparql | 16 +++++++++ .../additions/vcard1-1g.sparql | 16 +++++++++ .../additions/vcard1-1h.sparql | 16 +++++++++ .../additions/vcard1-1i.sparql | 16 +++++++++ .../additions/vcard1-1j.sparql | 16 +++++++++ .../additions/vcard1-2.sparql | 21 ----------- .../additions/vcard1-2d.sparql | 16 +++++++++ .../additions/vcard1-2e.sparql | 16 +++++++++ .../additions/vcard1-2f.sparql | 16 +++++++++ .../additions/vcard1-2g.sparql | 16 +++++++++ .../additions/vcard1-2h.sparql | 16 +++++++++ .../additions/vcard1-2i.sparql | 16 +++++++++ .../additions/vcard1-2j.sparql | 16 +++++++++ .../sparqlConstructs/additions/vcard2.sparql | 36 ------------------- .../sparqlConstructs/additions/vcard22.sparql | 5 ++- .../sparqlConstructs/additions/vcard2a.sparql | 17 +++++++++ .../sparqlConstructs/additions/vcard2b.sparql | 13 +++++++ .../sparqlConstructs/additions/vcard2c.sparql | 17 +++++++++ .../sparqlConstructs/additions/vcard2d.sparql | 13 +++++++ .../sparqlConstructs/additions/vcard2e.sparql | 17 +++++++++ .../sparqlConstructs/additions/vcard2f.sparql | 13 +++++++ .../sparqlConstructs/additions/vcard2g.sparql | 17 +++++++++ .../sparqlConstructs/additions/vcard2h.sparql | 13 +++++++ .../sparqlConstructs/additions/vcard2i.sparql | 17 +++++++++ .../sparqlConstructs/additions/vcard2j.sparql | 13 +++++++ .../sparqlConstructs/additions/vcard3.sparql | 5 ++- .../sparqlConstructs/additions/vcard4.sparql | 6 +++- .../sparqlConstructs/additions/vcard5.sparql | 5 ++- .../sparqlConstructs/additions/vcard6.sparql | 6 +++- .../sparqlConstructs/additions/vcard7.sparql | 6 +++- .../sparqlConstructs/additions/vcard8.sparql | 13 ++++--- .../sparqlConstructs/additions/vcard9.sparql | 5 ++- rdf/tbox/filegraph/data-properties.owl | 3 -- 54 files changed, 599 insertions(+), 117 deletions(-) delete mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0a.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0b.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0c.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0d.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0e.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0f.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0g.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0h.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0i.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0j.sparql delete mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1d.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1e.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1f.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1g.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1h.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1i.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1j.sparql delete mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2d.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2e.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2f.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2g.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2h.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2i.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2j.sparql delete mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2a.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2b.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2c.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2d.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2e.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2f.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2g.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2h.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2i.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2j.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdviseeRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdviseeRole.sparql index 799823c3..c79d5687 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdviseeRole.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdviseeRole.sparql @@ -12,4 +12,8 @@ CONSTRUCT { ?advisee vivo:relatedBy ?advisingRelationship . } WHERE { ?advisee vivo:adviseeIn ?advisingRelationship . + FILTER NOT EXISTS { + ?advisee ?adviseeRoleNode . + ?adviseeRoleNode vivo:relatedBy ?advisingRelationship . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisorRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisorRole.sparql index 685a93e1..8a389c08 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisorRole.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisorRole.sparql @@ -12,4 +12,8 @@ CONSTRUCT { ?advisor vivo:relatedBy ?advisingRelationship . } WHERE { ?advisor vivo:advisorIn ?advisingRelationship . + FILTER NOT EXISTS { + ?advisor ?advisorRoleNode . + ?advisorRoleNode vivo:relatedBy ?advisingRelationship . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql index 79e50249..204664f8 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql @@ -14,5 +14,9 @@ CONSTRUCT { } UNION { ?document vivo:editor ?person FILTER NOT EXISTS { ?person vivo:editorOf ?document } + } + FILTER NOT EXISTS { + ?person vivo:relatedBy ?editorshipNode . + ?editorshipNode vivo:relates ?document . } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql index b5236339..2a09ef27 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql @@ -14,4 +14,8 @@ CONSTRUCT { { ?org vivo:currentlyHeadedBy ?person FILTER NOT EXISTS { ?person vivo:currentlyHeadOf ?org } } + FILTER NOT EXISTS { + ?person ?leaderRoleNode . + ?leaderRoleNode vivo:roleContributesTo ?org . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql index fecea0cc..85a5b275 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql @@ -14,4 +14,8 @@ CONSTRUCT { { ?org vivo:hasCurrentMember ?person FILTER NOT EXISTS { ?person vivo:currentMemberOf ?org } } + FILTER NOT EXISTS { + ?person ?memberRoleNode . + ?memberRoleNode vivo:roleContributesTo ?org . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql index d76c98d7..72315e11 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql @@ -16,4 +16,9 @@ CONSTRUCT { { ?grant vivo:administeredBy ?agent FILTER NOT EXISTS { ?agent vivo:administers ?grant } } + FILTER NOT EXISTS { + ?agent ?adminRoleNode . + ?adminRoleNode a vivo:AdministratorRole . + ?adminRoleNode vivo:relatedBy ?grant . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql index 8d90cd6d..5beaf5a2 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql @@ -22,4 +22,8 @@ CONSTRUCT { ?educationalProcess ?org . ?org a foaf:Organization } + FILTER NOT EXISTS { + ?educationalProcess ?awardedDegreeNode . + ?person vivo:relatedBy ?awardedDegreeNode . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql deleted file mode 100644 index a9262a27..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql +++ /dev/null @@ -1,24 +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 . -} 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 } || - EXISTS { ?s vivo:webpage ?webpage } - ) -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0a.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0a.sparql new file mode 100644 index 00000000..193cc5aa --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0a.sparql @@ -0,0 +1,15 @@ +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 foaf:firstName ?firstName + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0b.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0b.sparql new file mode 100644 index 00000000..f41fd0bc --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0b.sparql @@ -0,0 +1,15 @@ +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 foaf:lastName ?lastName + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0c.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0c.sparql new file mode 100644 index 00000000..03405d95 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0c.sparql @@ -0,0 +1,15 @@ +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 vivo:middleName ?middleName + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0d.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0d.sparql new file mode 100644 index 00000000..1842a23a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0d.sparql @@ -0,0 +1,16 @@ +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 vivo:email ?email . + ?s a foaf:Person . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0e.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0e.sparql new file mode 100644 index 00000000..f392f36e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0e.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryEmail ?email . + ?s a foaf:Person . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0f.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0f.sparql new file mode 100644 index 00000000..d01698a8 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0f.sparql @@ -0,0 +1,16 @@ +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 vivo:phoneNumber ?phoneNumber . + ?s a foaf:Person . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0g.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0g.sparql new file mode 100644 index 00000000..a578d3e0 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0g.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryPhoneNumber ?primaryPhoneNumber . + ?s a foaf:Person + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0h.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0h.sparql new file mode 100644 index 00000000..8abf7951 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0h.sparql @@ -0,0 +1,16 @@ +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 vivo:faxNumber ?faxNumber . + ?s a foaf:Person + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0i.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0i.sparql new file mode 100644 index 00000000..1e966109 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0i.sparql @@ -0,0 +1,16 @@ +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 vivo:mailingAddress ?address . + ?s a foaf:Person + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0j.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0j.sparql new file mode 100644 index 00000000..22857e64 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0j.sparql @@ -0,0 +1,16 @@ +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 vivo:webpage ?webpage . + ?s a foaf:Person + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql deleted file mode 100644 index a15d4d0f..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql +++ /dev/null @@ -1,21 +0,0 @@ -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 } || - EXISTS { ?s vivo:webpage ?webpage } - ) -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1d.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1d.sparql new file mode 100644 index 00000000..b7a4c933 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1d.sparql @@ -0,0 +1,16 @@ +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 vivo:email ?email . + ?s a foaf:Organization . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1e.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1e.sparql new file mode 100644 index 00000000..fad907f8 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1e.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryEmail ?email . + ?s a foaf:Organization . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1f.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1f.sparql new file mode 100644 index 00000000..5baf40f5 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1f.sparql @@ -0,0 +1,16 @@ +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 vivo:phoneNumber ?phoneNumber . + ?s a foaf:Organization . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1g.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1g.sparql new file mode 100644 index 00000000..90c98507 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1g.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryPhoneNumber ?primaryPhoneNumber . + ?s a foaf:Organization + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1h.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1h.sparql new file mode 100644 index 00000000..036b1c92 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1h.sparql @@ -0,0 +1,16 @@ +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 vivo:faxNumber ?faxNumber . + ?s a foaf:Organization + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1i.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1i.sparql new file mode 100644 index 00000000..071cf222 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1i.sparql @@ -0,0 +1,16 @@ +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 vivo:mailingAddress ?address . + ?s a foaf:Organization + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1j.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1j.sparql new file mode 100644 index 00000000..a7690455 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1j.sparql @@ -0,0 +1,16 @@ +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 vivo:webpage ?webpage . + ?s a foaf:Organization + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql deleted file mode 100644 index b966a2a3..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql +++ /dev/null @@ -1,21 +0,0 @@ -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 } || - EXISTS { ?s vivo:webpage ?webpage } - ) -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2d.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2d.sparql new file mode 100644 index 00000000..37add2fa --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2d.sparql @@ -0,0 +1,16 @@ +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 vivo:email ?email . + ?s a foaf:Group . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2e.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2e.sparql new file mode 100644 index 00000000..27f965b6 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2e.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryEmail ?email . + ?s a foaf:Group . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2f.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2f.sparql new file mode 100644 index 00000000..3018c379 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2f.sparql @@ -0,0 +1,16 @@ +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 vivo:phoneNumber ?phoneNumber . + ?s a foaf:Group . + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2g.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2g.sparql new file mode 100644 index 00000000..7b0de744 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2g.sparql @@ -0,0 +1,16 @@ +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 vivo:primaryPhoneNumber ?primaryPhoneNumber . + ?s a foaf:Group + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2h.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2h.sparql new file mode 100644 index 00000000..2ebffbbc --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2h.sparql @@ -0,0 +1,16 @@ +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 vivo:faxNumber ?faxNumber . + ?s a foaf:Group + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2i.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2i.sparql new file mode 100644 index 00000000..3e83b11e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2i.sparql @@ -0,0 +1,16 @@ +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 vivo:mailingAddress ?address . + ?s a foaf:Group + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2j.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2j.sparql new file mode 100644 index 00000000..3ec0ab9e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2j.sparql @@ -0,0 +1,16 @@ +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 vivo:webpage ?webpage . + ?s a foaf:Group + FILTER NOT EXISTS { + ?s arg:ARG_2000028 ?vcard . + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql deleted file mode 100644 index 499d0bbb..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql +++ /dev/null @@ -1,36 +0,0 @@ -PREFIX arg: -PREFIX foaf: -PREFIX v: -PREFIX vivo: -PREFIX bibo: - -CONSTRUCT { - ?vcard v:hasName _:name . - _:name a v:Name . - _:name v:givenName ?firstName . - _:name vivo:middleName ?middleName . - _:name v:familyName ?lastName . - _:name v:honorificPrefix ?prefix . - _:name v:honorificSuffix ?suffix . -} 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) - } - OPTIONAL { - ?s bibo:prefixName ?prefix - } - OPTIONAL { - ?s bibo:suffixName ?suffix - } - FILTER(bound(?test)) -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql index 9107814a..db2f6276 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql @@ -9,6 +9,9 @@ CONSTRUCT { _:title a v:Title . _:title v:title ?preferredTitle . } WHERE { - ?s arg:ARG_2000028 ?vcard . ?s ?preferredTitle . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasTitle ?title + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2a.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2a.sparql new file mode 100644 index 00000000..ef2dc2ba --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2a.sparql @@ -0,0 +1,17 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:givenName ?firstName . +} WHERE { + ?s foaf:firstName ?firstName . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasName ?name + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2b.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2b.sparql new file mode 100644 index 00000000..64634413 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2b.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?name v:givenName ?firstName . +} WHERE { + ?s foaf:firstName ?firstName . + ?s arg:ARG_2000028 ?vcard . + ?vcard v:hasName ?name +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2c.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2c.sparql new file mode 100644 index 00000000..dbcaf50a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2c.sparql @@ -0,0 +1,17 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name vivo:middleName ?middleName . +} WHERE { + ?s vivo:middleName ?middleName . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasName ?name + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2d.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2d.sparql new file mode 100644 index 00000000..a065a9fe --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2d.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?name vivo:middleName ?middleName . +} WHERE { + ?s vivo:middleName ?middleName . + ?s arg:ARG_2000028 ?vcard . + ?vcard v:hasName ?name +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2e.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2e.sparql new file mode 100644 index 00000000..cfa9ea92 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2e.sparql @@ -0,0 +1,17 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:familyName ?lastName . +} WHERE { + ?s foaf:lastName ?lastName . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasName ?name + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2f.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2f.sparql new file mode 100644 index 00000000..4337be4d --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2f.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?name v:familyName ?lastName . +} WHERE { + ?s foaf:lastName ?lastName . + ?s arg:ARG_2000028 ?vcard . + ?vcard v:hasName ?name +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2g.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2g.sparql new file mode 100644 index 00000000..66231ddf --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2g.sparql @@ -0,0 +1,17 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:honorificPrefix ?prefixName . +} WHERE { + ?s bibo:prefixName ?prefixName . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasName ?name + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2h.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2h.sparql new file mode 100644 index 00000000..1eb06b3b --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2h.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?name v:honorificPrefix ?prefixName . +} WHERE { + ?s bibo:prefixName ?prefixName . + ?s arg:ARG_2000028 ?vcard . + ?vcard v:hasName ?name +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2i.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2i.sparql new file mode 100644 index 00000000..5d873f15 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2i.sparql @@ -0,0 +1,17 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:honorificSuffix ?suffixName . +} WHERE { + ?s bibo:suffixName ?suffixName . + ?s arg:ARG_2000028 ?vcard . + FILTER NOT EXISTS { + ?vcard v:hasName ?name + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2j.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2j.sparql new file mode 100644 index 00000000..a3abaff9 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2j.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?name v:honorificSuffix ?suffixName . +} WHERE { + ?s bibo:suffixName ?suffixName . + ?s arg:ARG_2000028 ?vcard . + ?vcard v:hasName ?name +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql index 91991c9e..2952d182 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql @@ -8,6 +8,9 @@ CONSTRUCT { _:email a v:Email . _:email v:email ?email . } WHERE { + ?s vivo:email ?email . ?s arg:ARG_2000028 ?vcard . - ?s vivo:email ?email + FILTER NOT EXISTS { + ?vcard v:hasEmail ?emailnode + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql index b6f9409f..8699c703 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql @@ -9,6 +9,10 @@ CONSTRUCT { _:primaryEmail a v:Work . _:primaryEmail v:email ?primaryEmail . } WHERE { + ?s vivo:primaryEmail ?primaryEmail . ?s arg:ARG_2000028 ?vcard . - ?s vivo:primaryEmail ?primaryEmail + FILTER NOT EXISTS { + ?vcard v:hasEmail ?email . + ?email a v:Work . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql index 6deedc83..26017bc1 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql @@ -9,6 +9,9 @@ CONSTRUCT { _:telephone a v:Voice . _:telephone v:telephone ?phoneNumber . } WHERE { + ?s vivo:phoneNumber ?phoneNumber . ?s arg:ARG_2000028 ?vcard . - ?s vivo:phoneNumber ?phoneNumber + FILTER NOT EXISTS { + ?vcard v:hasTelephone ?telephoneNode . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql index d5c0f26e..8bc690a0 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql @@ -10,6 +10,10 @@ CONSTRUCT { _:primaryTelephone a v:Work . _:primaryTelephone v:telephone ?primaryPhoneNumber . } WHERE { + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber . ?s arg:ARG_2000028 ?vcard . - ?s vivo:primaryPhoneNumber ?primaryPhoneNumber + FILTER NOT EXISTS { + ?vcard v:hasTelephone ?telephoneNode . + ?vcard a v:Work . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql index 39982679..c94a7638 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql @@ -9,6 +9,10 @@ CONSTRUCT { _:fax a v:Fax. _:fax v:telephone ?faxNumber . } WHERE { + ?s vivo:faxNumber ?faxNumber . ?s arg:ARG_2000028 ?vcard . - ?s vivo:faxNumber ?faxNumber + FILTER NOT EXISTS { + ?vcard v:hasTelephone ?faxNode . + ?faxNode a v:Fax . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql index eb88f650..1f1dddce 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql @@ -12,12 +12,12 @@ CONSTRUCT { _: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:addressCity ?addressCity } + OPTIONAL { ?address vivo:addressState ?addressState } + OPTIONAL { ?address vivo:addressPostalCode ?addressPostalCode } + OPTIONAL { ?address vivo:addressCountry ?addressCountry } + ?s arg:ARG_2000028 ?vcard . OPTIONAL { ?address vivo:address1 ?address1 . ?address vivo:address2 ?address2 . @@ -33,5 +33,8 @@ CONSTRUCT { OPTIONAL { ?address vivo:address1 ?address1 BIND(?address1 as ?streetAddress) + } + FILTER NOT EXISTS { + ?vcard v:hasAddress ?addressNode } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql index d400de8f..62c04e1b 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql @@ -10,10 +10,13 @@ CONSTRUCT { _:url v:url ?linkURI . _:url rdfs:label ?linkAnchorText } WHERE { - ?s arg:ARG_2000028 ?vcard . ?s vivo:webpage ?webpage . ?webpage vivo:linkURI ?linkURI . + ?s arg:ARG_2000028 ?vcard . OPTIONAL { ?webpage vivo:linkAnchorText ?linkAnchorText } + FILTER NOT EXISTS { + ?vcard v:hasURL ?URLNode + } } diff --git a/rdf/tbox/filegraph/data-properties.owl b/rdf/tbox/filegraph/data-properties.owl index 771b3128..5799c1e7 100644 --- a/rdf/tbox/filegraph/data-properties.owl +++ b/rdf/tbox/filegraph/data-properties.owl @@ -1833,16 +1833,13 @@ use one freetextKeyword assertion for each keyword or phrase. - - -