With entity API wrappers you can access the property information, loop over known properties or get/set the described data values.
http://drupal.org/node/1021556