HAS_ADDRESS Party Data
Description
Connects a :Party or :Venue to an :Address
Label
:HAS_ADDRESS
Valid nodes
| From | Relationship | To | Cardinality |
|---|---|---|---|
| Party A node with the :Party label | :HAS_ADDRESS | Address A node with the :Address label | 0..n |
| Venue A node with the :Venue label | :HAS_ADDRESS | Address A node with the :Address label | 1..1 |
Properties
HAS_ADDRESS uses the standard relationship properties.
CREATE
No address should be allowed into UTA systems that does not run through an address verification (including verification for global address in key countries in Asia), normalization and geocoding gate. Addresses must adhere to the Data Format Policy upon entry.
Valid addresses must additionally be:
- Broken down into their component parts (ex:
streetAddress,locality,region,regionAbbreviation,postalCode, andcountry) - Geocoded with a lat/long point in the
locationproperty of theAddressnode
A party can have between 0 and unlimited addresses of each type, and more than one address of the same type can be active.
:Venue nodes can have only one address of type "Main". This address indicates the physical location of the venue.
If the relationship property active is true, and the location property is exactly the same as an existing active address of the same type for this party, then the request is REJECTED. It is acceptable to have the same address listed under a different type. For example, this could be used to designate that a mailing address is the same as a payment address.
UPDATE
Most updates to an existing address should be REJECTED in favor of deactivation and create flow as described above, so as to preserve the history of changes. To update an address, deactivate the existing relatipnship and create a new :Address node and active relationship. However, there are some situations where we will need to change an address on an existing :Address node because of a typographic error, and where holding on to the misspelled address would not be appreopriate. In these cases, only location, streetAddress, postalCode, postOfficeBoxNumber, regionAbbreviation, region, locality and country may be changed, along with the modified property, and be limited to data management (DMO) personnel only.
DELETE
Deleting an :Address node relationship is a deactivation of the relationship between the party and the :Address node. No physical deletes will happen.
Examples
MATCH (:Party { id: $id })
- [:HAS_ADDRESS { active: true }]
-> (a:Address)
RETURN a{.*}MATCH (:Party { id: $id })
- [:HAS_ADDRESS]
-> (a:Address { active: true, type: $type })
RETURN a{.*}