VIVO-727 fixes bugs with VCard migration

This commit is contained in:
brianjlowe 2014-04-04 09:44:05 -04:00
parent d4e01ab167
commit 0a6b7be1a0
4 changed files with 89 additions and 26 deletions

View file

@ -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 }
}

View file

@ -4,15 +4,15 @@ PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
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 <http://purl.obolibrary.org/obo/RO_0001025> ?location .
?location <http://purl.obolibrary.org/obo/RO_0001015> _: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 <http://purl.obolibrary.org/obo/RO_0001025> ?location .
?location <http://purl.obolibrary.org/obo/RO_0001015> ?address .
} WHERE {
?s vivo:mailingAddress ?address .
OPTIONAL { ?address vivo:addressCity ?addressCity }

View file

@ -5,10 +5,10 @@ PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX vivo: <http://vivoweb.org/ontology/core#>
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
}
}

View file

@ -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
}
}