diff --git a/cubicweb_rodolf/migration/0.5.0_Any.py b/cubicweb_rodolf/migration/0.5.0_Any.py
new file mode 100644
index 0000000000000000000000000000000000000000..f91e0489b4d11a8e919c48f1fefcc076e6d321ec_Y3ViaWN3ZWJfcm9kb2xmL21pZ3JhdGlvbi8wLjUuMF9BbnkucHk=
--- /dev/null
+++ b/cubicweb_rodolf/migration/0.5.0_Any.py
@@ -0,0 +1,1 @@
+sync_schema_prop_perms()
diff --git a/cubicweb_rodolf/schema.py b/cubicweb_rodolf/schema.py
index 9057157aa498388f10408409e37233a8c94169d8_Y3ViaWN3ZWJfcm9kb2xmL3NjaGVtYS5weQ==..f91e0489b4d11a8e919c48f1fefcc076e6d321ec_Y3ViaWN3ZWJfcm9kb2xmL3NjaGVtYS5weQ== 100644
--- a/cubicweb_rodolf/schema.py
+++ b/cubicweb_rodolf/schema.py
@@ -32,9 +32,13 @@
     virtuoso_url = String(required=True)
     virtuoso_user = String(required=True, default="dba")
     virtuoso_password = String(required=True)
-    ontology_file = SubjectRelation("File", cardinality="??", inlined=True)
-    shacl_files = SubjectRelation("File", cardinality="**")
-    import_recipes = SubjectRelation("ImportRecipe", cardinality="*?")
+    ontology_file = SubjectRelation(
+        "File", cardinality="??", inlined=True, composite="subject"
+    )
+    shacl_files = SubjectRelation("File", cardinality="**", composite="subject")
+    import_recipes = SubjectRelation(
+        "ImportRecipe", cardinality="*?", composite="subject"
+    )
     activated = Boolean(required=True, default=True)
 
 
@@ -56,7 +60,7 @@
 
 class ImportRecipe(EntityType):
     name = String(required=True)
-    dataservice = SubjectRelation("DataService", cardinality="1*")
+    dataservice = SubjectRelation("DataService", cardinality="1*", composite="object")
     graph_uri = String()
     process_type = String(
         required=True,
@@ -66,5 +70,7 @@
 
 
 class ImportProcess(WorkflowableEntityType):
-    import_recipe = SubjectRelation("ImportRecipe", cardinality="1*", inlined=True)
+    import_recipe = SubjectRelation(
+        "ImportRecipe", cardinality="1*", inlined=True, composite="object"
+    )
     import_procedure = SubjectRelation(
@@ -70,3 +76,6 @@
     import_procedure = SubjectRelation(
-        "ImportProcedure", cardinality="1*", inlined=True
+        "ImportProcedure", cardinality="1*", inlined=True, composite="object"
+    )
+    rq_task = SubjectRelation(
+        "RqTask", cardinality="11", inlined=True, composite="subject"
     )
@@ -72,6 +81,11 @@
     )
-    rq_task = SubjectRelation("RqTask", cardinality="11", inlined=True)
-    has_input_dataset = SubjectRelation("File", cardinality="??", inlined=True)
-    has_output_dataset = SubjectRelation("File", cardinality="??", inlined=True)
-    import_report = SubjectRelation("File", cardinality="??", inlined=True)
+    has_input_dataset = SubjectRelation(
+        "File", cardinality="??", inlined=True, composite="subject"
+    )
+    has_output_dataset = SubjectRelation(
+        "File", cardinality="??", inlined=True, composite="subject"
+    )
+    import_report = SubjectRelation(
+        "File", cardinality="??", inlined=True, composite="subject"
+    )
     shacl_valid = Boolean()
@@ -77,2 +91,4 @@
     shacl_valid = Boolean()
-    shacl_report = SubjectRelation("File", cardinality="??", inlined=True)
+    shacl_report = SubjectRelation(
+        "File", cardinality="??", inlined=True, composite="subject"
+    )