Skip to content

DPROD Contracts: split dprod:State into DutyState and ContractState (1.3 follow-on) #185

@jgeluk

Description

@jgeluk

Track: DPROD 1.1 data-contracts post-merge follow-up from PR #156.

Plan item 1.3 (follow-on) of `dprod-contracts/docs/changes-plan.md`. The group decided to remove `owl:oneOf` from `dprod:State` and open it for extension; the follow-on is to split into two named lifecycle subclasses so evaluation algorithms can branch on the relevant axis:

  • `dprod:DutyLifeCycleState` (used by `odrl:Duty`)
  • `dprod:DataContractLifeCycleState` (used by `dprod:DataOffer` and `dprod:DataContract`)

Both subclass `dprod:State` so existing extenders that targeted the unified enumeration still work.

Touches:

  • `dprod-contracts/dprod-contracts.ttl` — class hierarchy
  • `dprod-contracts/dprod-contracts-shapes.ttl` — `StatePropertyGroup` becomes two property groups with different `sh:in` enumerations
  • `dprod-contracts/docs/specification.md` and `docs/formal-semantics.md` — distinguish the two state axes
  • `dprod-contracts/examples/*.ttl` — no value changes (the four states are the same), only the rdf:type declarations on the named individuals shift

cc @tonyseale @matthiasautrata

Metadata

Metadata

Assignees

No one assigned

    Labels

    modelingModeling decisions & ontology designshapesSHACL shapes and validation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions