src/p4l/mapping/serializers.py
changeset 142 c365a6e23a56
parent 131 f1854630734f
--- a/src/p4l/mapping/serializers.py	Sat Oct 05 21:00:59 2013 +0200
+++ b/src/p4l/mapping/serializers.py	Mon Oct 07 14:28:31 2013 +0200
@@ -31,11 +31,11 @@
 # knowledge of the CeCILL-B license and that you accept its terms.
 #
 
+from collections import OrderedDict
 import logging
 
 from rdflib.namespace import RDF
-from rdflib.term import URIRef, Literal, BNode
-from collections import OrderedDict
+from rdflib.term import URIRef, Literal, BNode, Identifier
 
 
 logger = logging.getLogger(__name__)
@@ -80,8 +80,9 @@
         res = self.convert(getattr(obj, self.source or fieldname))
         if res is None:
             return
-        if not isinstance(res, Literal):
+        if not isinstance(res, Identifier):
             res = Literal(unicode(res))        
+        
         lang = getattr(obj, self.lang_field, None) if self.lang_field else None
         
         return Literal(res.value, lang) if lang else res
@@ -99,7 +100,7 @@
 class RelatedFieldSerializer(SimpleFieldSerializer):
         
     def __init__(self, value_field, predicate=None, convert=None, source=None, many=False, lang_field=None):
-        super(RelatedFieldSerializer, self).__init__(predicate, convert, source, lang_field=lang_field)
+        super(RelatedFieldSerializer, self).__init__(predicate=predicate, convert=convert, source=source, lang_field=lang_field)
         self.many = many
         self.value_field = value_field