diff --git a/cubicweb_rodolf/import_data.py b/cubicweb_rodolf/import_data.py
index a633599acb05f833d0bb1a6817a686d7807b7b55_Y3ViaWN3ZWJfcm9kb2xmL2ltcG9ydF9kYXRhLnB5..14e19658b3caee97527297a637e6850c83a34699_Y3ViaWN3ZWJfcm9kb2xmL2ltcG9ydF9kYXRhLnB5 100644
--- a/cubicweb_rodolf/import_data.py
+++ b/cubicweb_rodolf/import_data.py
@@ -96,5 +96,9 @@
 
         valid_rdf, shacl_errors = check_rdf_graph(rdf_graph, import_procedure)
         if not valid_rdf:
+            stream_shacl_log = io.StringIO()
+            shacl_log = get_import_data_logger(stream_shacl_log)
+            shacl_log.propagate = False  # do not log into stdout
+            log.error("Data was not validated")
             for key, value in shacl_errors.items():
                 shacl_file = cnx.entity_from_eid(key)
@@ -99,6 +103,6 @@
             for key, value in shacl_errors.items():
                 shacl_file = cnx.entity_from_eid(key)
-                log.error(
+                shacl_log.error(
                     f"Data from {dataservice.dc_title()} does not comply with SHACL file "
                     f"{shacl_file.dc_title()} and gives message : \n\t\t{value}"
                 )
@@ -102,5 +106,15 @@
                     f"Data from {dataservice.dc_title()} does not comply with SHACL file "
                     f"{shacl_file.dc_title()} and gives message : \n\t\t{value}"
                 )
-            task_failed = True
+            stream_shacl_log.seek(0)
+            import_process.cw_set(
+                shacl_report=cnx.create_entity(
+                    "File",
+                    title=f"SHACL Log file for ImportProcess#{import_process_eid}",
+                    data=Binary(stream_shacl_log.read().encode("utf8")),
+                    data_name=f"log_SHACL_ImportProcess_{import_process.eid}.txt",
+                    data_format="plain/text",
+                )
+            )
+            import_process.cw_set(shacl_valid=False)
         else:
@@ -106,4 +120,5 @@
         else:
+            import_process.cw_set(shacl_valid=True)
             log.info("Data was successfully validated")
 
     except Exception as error:
diff --git a/cubicweb_rodolf/schema.py b/cubicweb_rodolf/schema.py
index a633599acb05f833d0bb1a6817a686d7807b7b55_Y3ViaWN3ZWJfcm9kb2xmL3NjaGVtYS5weQ==..14e19658b3caee97527297a637e6850c83a34699_Y3ViaWN3ZWJfcm9kb2xmL3NjaGVtYS5weQ== 100644
--- a/cubicweb_rodolf/schema.py
+++ b/cubicweb_rodolf/schema.py
@@ -65,3 +65,5 @@
     rq_task = SubjectRelation("RqTask", cardinality="11", inlined=True)
     has_output_dataset = SubjectRelation("File", cardinality="??", inlined=True)
     import_report = SubjectRelation("File", cardinality="??", inlined=True)
+    shacl_valid = Boolean()
+    shacl_report = SubjectRelation("File", cardinality="??", inlined=True)