Skip to content

DPROD Contracts: reject duty-only properties on non-Duty rules #239

Description

@jgeluk

Context

Follow-up from #198 (fixme.md item 22), related to #184.

dprod:deadline, dprod:recurrence, dprod:subjectOfDuty, and dprod:objectOfDuty are duty-only properties. Their OWL domains describe that intent but do not validate input. A Permission or Prohibition carrying one of these properties is not explicitly rejected by the current SHACL graph; reasoning can instead infer an unintended additional odrl:Duty type.

That is not fail-fast validation and can produce resources belonging to ODRL-disjoint rule classes.

Acceptance criteria

  1. Add regression tests first for each duty-only property used on an odrl:Permission and an odrl:Prohibition; each case must currently demonstrate the validation gap.
  2. Add SHACL violations targeting non-Duty subjects of the duty-only properties.
  3. Keep valid named and inline Duty instances conformant.
  4. Cover the schedule/recurrence model produced by DPROD Contracts: Bucket 4 — recurrence redesign #184 rather than preserving obsolete string-RRULE assumptions.
  5. Document the class scope of each property in the specification and usage matrix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Data ContractsWork related to DPROD data contracts, agreements, data rights, and the ODRL profile.bugSomething isn't workingshapesSHACL shapes and validation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions