How to check for presence of 'key' in jq before iterating over the values
You can use the select-expression in jq
to do what you intend to achieve, something as,
jq '.result | select(.property_history != null) | .property_history | map(select(.event_name == "Sold"))[0].date'