diff --git a/goblin/abc.py b/goblin/abc.py
index 31dba6dc7768d6b819c6441a8c97cb5966624925..f57becc3eadc462bc364327ddd236ae7eff1e3b1 100644
--- a/goblin/abc.py
+++ b/goblin/abc.py
@@ -41,6 +41,11 @@ class DataType(abc.ABC):
     @abc.abstractmethod
     def to_ogm(self, val):
         """Convert property value to a Python compatible format"""
+        try:
+            self.validate(val)
+        except exception.ValidationError:
+            logger.warning(
+                "DB val {} Fails OGM validation for {}".format(val, self))
         return val
 
 
diff --git a/goblin/properties.py b/goblin/properties.py
index 74e9b7dcbf255eb1ff8a29ce911520a30f32a1c3..a5e77e21efeb437de2e83ebaa9aa9b0e194e0bfb 100644
--- a/goblin/properties.py
+++ b/goblin/properties.py
@@ -87,7 +87,7 @@ class String(abc.DataType):
                 return str(val)
             except ValueError as e:
                 raise exception.ValidationError(
-                    '{} is not a valid string'.format(val)) from e
+                    'Not a valid string: {}'.format(val)) from e
 
     def to_db(self, val=None):
         return super().to_db(val=val)
@@ -105,7 +105,7 @@ class Integer(abc.DataType):
                 return int(val)
             except ValueError as e:
                 raise exception.ValidationError(
-                    '{} is not a valid integer'.format(val)) from e
+                    'Not a valid integer: {}'.format(val)) from e
 
     def to_db(self, val=None):
         return super().to_db(val=val)
@@ -119,14 +119,15 @@ class Float(abc.DataType):
         try:
             val = float(val)
         except ValueError:
-            raise exception.ValidationError("Not a valid float: {}".format(val))
+            raise exception.ValidationError(
+                "Not a valid float: {}".format(val)) from e
         return val
 
-    def to_db(self, val):
-        return val
+    def to_db(self, val=None):
+        return super().to_db(val=val)
 
     def to_ogm(self, val):
-        return float(val)
+        return super().to_ogm(val)
 
 
 class Bool(abc.DataType):
@@ -134,11 +135,12 @@ class Bool(abc.DataType):
         try:
             val = bool(val)
         except ValueError:
-            raise exception.ValidationError("Not a valid bool: {}".format(val))
+            raise exception.ValidationError(
+                "Not a valid boolean: {val}".format(val)) from e
         return val
 
-    def to_db(self, val):
-        return bool(val)
+    def to_db(self, val=None):
+        return super().to_db(val=val)
 
     def to_ogm(self, val):
-        return bool(val)
+        return super().to_ogm(val)