diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql
similarity index 88%
rename from productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql
rename to productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql
index 3af689b1..a9262a27 100644
--- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql
@@ -18,6 +18,7 @@ CONSTRUCT {
EXISTS { ?s vivo:phoneNumber ?phoneNumber } ||
EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } ||
EXISTS { ?s vivo:faxNumber ?faxNumber } ||
- EXISTS { ?s vivo:mailingAddress ?address }
+ EXISTS { ?s vivo:mailingAddress ?address } ||
+ EXISTS { ?s vivo:webpage ?webpage }
)
}
diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql
index cc320ed1..a15d4d0f 100644
--- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql
@@ -15,6 +15,7 @@ CONSTRUCT {
EXISTS { ?s vivo:phoneNumber ?phoneNumber } ||
EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } ||
EXISTS { ?s vivo:faxNumber ?faxNumber } ||
- EXISTS { ?s vivo:mailingAddress ?address }
+ EXISTS { ?s vivo:mailingAddress ?address } ||
+ EXISTS { ?s vivo:webpage ?webpage }
)
}
diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql
index c899a29f..b966a2a3 100644
--- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql
@@ -15,6 +15,7 @@ CONSTRUCT {
EXISTS { ?s vivo:phoneNumber ?phoneNumber } ||
EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } ||
EXISTS { ?s vivo:faxNumber ?faxNumber } ||
- EXISTS { ?s vivo:mailingAddress ?address }
+ EXISTS { ?s vivo:mailingAddress ?address } ||
+ EXISTS { ?s vivo:webpage ?webpage }
)
}
diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql
new file mode 100644
index 00000000..96076c4f
--- /dev/null
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql
@@ -0,0 +1,15 @@
+PREFIX arg:
+PREFIX foaf:
+PREFIX v:
+PREFIX vivo:
+PREFIX owl:
+
+CONSTRUCT {
+ ?s arg:ARG_2000028 _:vcard .
+ _:vcard arg:ARG_2000029 ?s .
+ _:vcard a v:Individual .
+} WHERE {
+ ?s vivo:webpage ?webpage
+ FILTER NOT EXISTS { ?s a foaf:Agent }
+ FILTER NOT EXISTS { ?s arg:ARG_2000028 ?existingvcard }
+}
diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql
new file mode 100644
index 00000000..d400de8f
--- /dev/null
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql
@@ -0,0 +1,19 @@
+PREFIX arg:
+PREFIX foaf:
+PREFIX rdfs:
+PREFIX v:
+PREFIX vivo:
+
+CONSTRUCT {
+ ?vcard v:hasURL _:url .
+ _:url a v:URL .
+ _:url v:url ?linkURI .
+ _:url rdfs:label ?linkAnchorText
+} WHERE {
+ ?s arg:ARG_2000028 ?vcard .
+ ?s vivo:webpage ?webpage .
+ ?webpage vivo:linkURI ?linkURI .
+ OPTIONAL {
+ ?webpage vivo:linkAnchorText ?linkAnchorText
+ }
+}
diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql
index 901c706a..7df305a2 100644
--- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql
+++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql
@@ -14,35 +14,45 @@ CONSTRUCT {
?s vivo:faxNumber ?faxNumber .
?s vivo:mailingAddress ?address .
?address ?addressP ?addressO .
+ ?s vivo:webpage ?webpage .
+ ?webpage ?webpageP ?webpageO .
} WHERE {
- ?s a foaf:Agent
- OPTIONAL {
+ {
?s foaf:firstName ?firstName .
}
- OPTIONAL {
+ UNION {
?s foaf:lastName ?lastName .
}
- OPTIONAL {
+ UNION {
?s vivo:middleName ?middleName
}
- OPTIONAL {
+ UNION {
?s vivo:email ?email
}
- OPTIONAL {
+ UNION {
?s vivo:primaryEmail ?primaryEmail
}
- OPTIONAL {
+ UNION {
?s vivo:phoneNumber ?phoneNumber
}
- OPTIONAL {
+ UNION {
?s vivo:primaryPhoneNumber ?primaryPhoneNumber
}
- OPTIONAL {
+ UNION {
?s vivo:faxNumber ?faxNumber
- } OPTIONAL {
- ?s vivo:mailingAddress ?address .
- OPTIONAL {
- ?address ?addressP ?addressO
- }
}
+ UNION {
+ ?s vivo:mailingAddress ?address .
+ }
+ UNION {
+ ?s vivo:mailingAddress ?address .
+ ?address ?addressP ?addressO
+ }
+ UNION {
+ ?s vivo:webpage ?webpage
+ }
+ UNION {
+ ?s vivo:webpage ?webpage .
+ ?webpage ?webpageP ?webpageO
+ }
}