ObjectUnionOf
A key thing to note here is:
ObjectPropertyDomain(:has ObjectUnionOf(:CatOwner :Person))
ObjectPropertyRange(:has ObjectUnionOf(:Cat :Pet))
This shows that a property which has multiple domains is exported as a union of all the domains and ranges.