# HG changeset patch # User Simon Chabot <simon.chabot@logilab.fr> # Date 1713794784 -7200 # Mon Apr 22 16:06:24 2024 +0200 # Node ID f91e0489b4d11a8e919c48f1fefcc076e6d321ec # Parent 9057157aa498388f10408409e37233a8c94169d8 feat(schema): add `composite` to some relations linking dataset/rq task etc related: #83 diff --git a/cubicweb_rodolf/migration/0.5.0_Any.py b/cubicweb_rodolf/migration/0.5.0_Any.py new file mode 100644 --- /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 --- 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,13 +70,25 @@ class ImportProcess(WorkflowableEntityType): - import_recipe = SubjectRelation("ImportRecipe", cardinality="1*", inlined=True) + import_recipe = SubjectRelation( + "ImportRecipe", cardinality="1*", inlined=True, composite="object" + ) 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" ) - 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() - shacl_report = SubjectRelation("File", cardinality="??", inlined=True) + shacl_report = SubjectRelation( + "File", cardinality="??", inlined=True, composite="subject" + )