def navigation_properties
      @navigation_properties ||= Hash[metadata.xpath('//EntityType').collect do |entity_type_def|
        entity_type_name = entity_type_def.attributes['Name'].value
        [
            entity_type_name,
            Hash[entity_type_def.xpath('./NavigationProperty').collect do |nav_property_def|
              relationship_name = nav_property_def.attributes['Relationship'].value
              relationship_name.gsub!(/^#{namespace}\./, '')
              [
                  nav_property_def.attributes['Name'].value,
                  associations[relationship_name]
              ]
            end]
        ]
      end]
    end
def navigation_properties
      @navigation_properties ||= Hash[metadata.xpath('//EntityType').collect do |entity_type_def|
        entity_type_name = entity_type_def.attributes['Name'].value
        [
            entity_type_name,
            Hash[entity_type_def.xpath('./NavigationProperty').collect do |nav_property_def|
              relationship_name = nav_property_def.attributes['Relationship'].value
              relationship_name.gsub!(/^#{namespace}\./, '')
              [
                  nav_property_def.attributes['Name'].value,
                  associations[relationship_name]
              ]
            end]
        ]
      end]
    end
Returns a hash for finding an association through an entity type's defined
 NavigationProperty elements.
 @return [Hash<Hash<OData::Association>>]