Make sure we can roundtrip unicode characters via converting to utf-8
[htsworkflow.git] / htsworkflow / util / rdfhelp.py
index faf8acb38d24c8d3bff90518088a851d43d89255..4a40f0be0ddc1cae9242eb76461afaa7aa4dfe7f 100644 (file)
@@ -60,13 +60,15 @@ def toTypedNode(value):
     elif type(value) == types.FloatType:
         value_type = xsdNS['float'].uri
         value = unicode(value)
-    elif type(value) in types.StringTypes:
-        value_type = xsdNS['string'].uri
     else:
         value_type = None
         value = unicode(value)
 
-    return RDF.Node(literal=value, datatype=value_type)
+    if value_type is not None:
+        node = RDF.Node(literal=value, datatype=value_type)
+    else:
+        node = RDF.Node(literal=unicode(value).encode('utf-8'))
+    return node
 
 def fromTypedNode(node):
     if node is None: