def nested_properties_list(klass)
      klass.properties.map do |_, config|
        properties = []
        if config.class_name.nil? || config.class_name == klass
          properties << Array(config.predicate)
        else
          nested_properties_list(config.class_name).each do |prop|
            prop.each do |p|
              properties << Array(config.predicate).append(p).flatten
            end
          end
        end
        properties
      end
    end
def nested_properties_list(klass)
      klass.properties.map do |_, config|
        properties = []
        if config.class_name.nil? || config.class_name == klass
          properties << Array(config.predicate)
        else
          nested_properties_list(config.class_name).each do |prop|
            prop.each do |p|
              properties << Array(config.predicate).append(p).flatten
            end
          end
        end
        properties
      end
    end
@param klass [#properties]

 @return [Array<Array<RDF::Term>>] An array of property predicates
 @todo move to {ActiveTriples}?