Multi parent inherit conflict 01

A policy from the Compliance corpus. The table gives the source and what the policy shows, in the source's words.

SourceWhat it shows
multi-parent-inherit-conflict-01.ttlGenuine multi-parent odrl:inheritFrom: two parents leave odrl:conflict unset, only the child declares it -- not a divergence, so the child's own odrl:perm resolves the merged collision normally

Policy #

{
  "@context": [
    "http://www.w3.org/ns/odrl.jsonld",
    {
      "case": "https://ds-labs-org.github.io/ds-odrl-compliance-rdf/cases/multi-parent-inherit-conflict-01#",
      "dsc": "https://ds-labs-org.github.io/ds-odrl-compliance-rdf/ns#",
      "dpv": "https://w3id.org/dpv#",
      "foaf": "http://xmlns.com/foaf/0.1/",
      "vcard": "http://www.w3.org/2006/vcard/ns#"
    }
  ],
  "@graph": [
    {
      "@type": "Set",
      "uid": "case:parent-permit",
      "assigner": "did:web:provider-a.example",
      "permission": [
        {
          "uid": "case:perm-print",
          "target": "case:asset-x",
          "action": "print"
        }
      ]
    },
    {
      "@type": "Set",
      "uid": "case:parent-prohibit",
      "assigner": "did:web:provider-b.example",
      "prohibition": [
        {
          "uid": "case:proh-print",
          "target": "case:asset-x",
          "action": "print"
        }
      ]
    },
    {
      "@type": "Agreement",
      "uid": "case:policy-child",
      "inheritFrom": [
        "case:parent-permit",
        "case:parent-prohibit"
      ],
      "conflict": "perm"
    }
  ]
}

Reading #

The sentences OdrlProse writes for this policy, without a profile.

Policy set case:parent-permit

A set of rules from did:web:provider-a.example (assigner).

  1. Anyone may print asset-x, as permitted by the assigner did:web:provider-a.example.

Policy set case:parent-prohibit

A set of rules from did:web:provider-b.example (assigner).

  1. No one may print asset-x, as prohibited by the assigner did:web:provider-b.example.

Agreement case:policy-child

An agreement.

  • If a permission and a prohibition conflict, the permission wins.
  • Inherits the rules of case:parent-permit and case:parent-prohibit.
  1. Inherited from case:parent-permit: Anyone may print asset-x, as permitted by the assigner did:web:provider-a.example.

  2. Inherited from case:parent-prohibit: No one may print asset-x, as prohibited by the assigner did:web:provider-b.example.

The renderer raised no warning for this policy.

Back to the Compliance corpus or the catalog.