use respond_to? instead of defined? for rdf_type