/**
  * Get an array of prefixes <-> namespaces
  * 
  * @return return an associative array of namespace prefixes and their base URI
  */
 public static function getNamespaces()
 {
     $coreNamespaces = get_class_vars('\\StructuredDynamics\\structwsf\\framework\\Namespaces');
     unset($coreNamespaces['namespaces']);
     // Read custom namespaces
     $namespaces = array();
     if (($handle = @fopen(realpath(dirname(__FILE__)) . "/namespaces.csv", "r")) !== FALSE) {
         while (($namespace = fgetcsv($handle)) !== FALSE) {
             // Ensure we have two columns
             if (count($namespace) == 2) {
                 // Only keep valie IRI
                 if (Namespaces::isValidIRI($namespace[1])) {
                     $namespaces[$namespace[0]] = $namespace[1];
                 }
             }
         }
         fclose($handle);
     }
     $namespaces += $coreNamespaces;
     return $namespaces;
 }