Recipient refined prohibition raw derived split 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
recipient-refined-prohibition-raw-derived-split-01.ttlA real-world-derived policy: raw data may be read/derived but never displayed; only the derived asset may be distributed; distributing the RAW asset is prohibited except to the one authorized recipient (an action refinement), each prohibition carries its own remedy, and an unconstrained attribution duty contrasts with a time-bound deletion duty

Policy #

{
  "@context": [
    "http://www.w3.org/ns/odrl.jsonld",
    {
      "case": "https://ds-labs-org.github.io/ds-odrl-compliance-rdf/cases/recipient-refined-prohibition-raw-derived-split-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": "Offer",
      "uid": "case:policy-a",
      "conflict": "prohibit",
      "assigner": "did:web:provider.example",
      "assignee": "case:party-consumer",
      "permission": [
        {
          "uid": "case:perm-read-raw",
          "target": "case:asset-raw",
          "action": "read"
        },
        {
          "uid": "case:perm-derive",
          "target": "case:asset-raw",
          "action": "derive"
        },
        {
          "uid": "case:perm-distribute-derived",
          "target": "case:asset-derived-report",
          "action": "distribute"
        }
      ],
      "prohibition": [
        {
          "uid": "case:proh-display-raw",
          "target": "case:asset-raw",
          "action": "display",
          "remedy": [
            {
              "uid": "case:remedy-delete-display",
              "target": "case:asset-raw",
              "action": "delete"
            }
          ]
        },
        {
          "uid": "case:proh-distribute-raw-refined",
          "target": "case:asset-raw",
          "action": {
            "rdf:value": {
              "@id": "odrl:distribute"
            },
            "refinement": [
              {
                "leftOperand": "recipient",
                "operator": "neq",
                "rightOperand": {
                  "@id": "case:party-consumer"
                }
              }
            ]
          },
          "remedy": [
            {
              "uid": "case:remedy-delete-distribute",
              "target": "case:asset-raw",
              "action": "delete"
            }
          ]
        }
      ],
      "obligation": [
        {
          "uid": "case:duty-attribute",
          "action": "attribute"
        },
        {
          "uid": "case:duty-delete-window",
          "target": "case:asset-raw",
          "action": "delete",
          "constraint": [
            {
              "leftOperand": "elapsedTime",
              "operator": "lteq",
              "rightOperand": {
                "@value": "PT24H",
                "@type": "xsd:duration"
              }
            }
          ]
        }
      ]
    }
  ]
}

Reading #

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

Offer case:policy-a

An offer made by did:web:provider.example, addressed to party-consumer.

  • If a permission and a prohibition conflict, the prohibition wins.
  1. party-consumer may read asset-raw, as permitted by the assigner did:web:provider.example.

  2. party-consumer may derive asset-raw, as permitted by the assigner did:web:provider.example.

  3. party-consumer may distribute asset-derived-report, as permitted by the assigner did:web:provider.example.

  4. party-consumer must not display asset-raw, as prohibited by the assigner did:web:provider.example.

    Remedies if this prohibition is breached:

    • party-consumer must delete asset-raw, as required by the assigner did:web:provider.example.

  5. party-consumer must not distribute asset-raw, as prohibited by the assigner did:web:provider.example.

    Limits on the action:

    • The action "distribute" is limited to cases where:
      • the recipient is not equal to party-consumer

    Remedies if this prohibition is breached:

    • party-consumer must delete asset-raw, as required by the assigner did:web:provider.example.

  6. party-consumer must attribute, as required by the assigner did:web:provider.example.

  7. party-consumer must delete asset-raw, as required by the assigner did:web:provider.example.

    Applies only if:

    • the elapsed time is at most 24 hours

The renderer raised no warning for this policy.

Back to the Compliance corpus or the catalog.