--- rdf.api.inc.cvs	2009-03-01 22:46:20.000000000 +0100
+++ rdf.api.inc	2009-03-01 22:47:17.000000000 +0100
@@ -796,12 +796,14 @@
   foreach ($data as $subject => $predicates) {
     foreach ($predicates as $predicate => $objects) {
       $qnames = array($predicate);
-      foreach($objects as $object) {
-        $qnames[] = $object;
+      foreach (is_array($objects) ? $objects : array($objects) as $object) {
+        if (rdf_is_valid_uri((string)$object)) {
+          $qnames[] = $object;
+        }
       }
-      foreach($qnames as $qname) {
+      foreach ($qnames as $qname) {
         list($prefix, ) = explode(':', rdf_uri_to_qname($qname));
-        if (!isset($result[$prefix]) && isset($namespaces[$prefix])) {
+        if ($prefix != '_' && !isset($result[$prefix]) && isset($namespaces[$prefix])) {
           $result[$prefix] = $namespaces[$prefix];
         }
       }
