W3C ODRL examples
The examples of the ODRL Information Model 2.2, read from the editors' draft. An example written as several JSON documents, a policy and the constraints it refers to, is shown as one @graph. Examples that are not JSON or not a policy are left out.
The Reading column says whether every condition of a policy reads, and how many warnings the renderer raised. License of the source: W3C Software and Document License.
| Policy | What it shows | Reading |
|---|---|---|
| Set Class (eg1) | Example Use Case: The below Set Policy shows the Permission to use the target Asset http//example.com/asset:9898.movie. | complete |
| Offer Class (eg2) | Example Use Case: The below Offer Policy (based on the previous example) shows the Permission to play the target Asset http//example.com/asset:9898.movie from the assigner Party http://example.com/party:org:abc. | complete |
| Agreement Class (eg3) | Example Use Case: The below Agreement Policy (based on the previous example) shows granting the Permission to play the target Asset http//example.com/asset:9898.movie from the assigner Party http://example.com/party:org:abc for the assignee Party http://example.com/party:person:billie. | complete |
| Relation Property (eg4) | Example Use Case: The assigner Party http//example.com/party:0001 offers to display the target Asset http://example.com/asset:3333. | complete |
| Relation Property (eg5) | Example Use Case: The below Policy shows the index action Permission on the target Asset http://example.com/archive1011. The target asset is also declared as an AssetCollection to indicate the resource is a collection of resources. An additional Asset relation summary indicates the Asset http://example.com/x/database that the indexing output should be stored in. The ODRL Profile http://example.com/odrl:profile:03 defines this new sub-property of relation. | 1 warning |
| Function Property (eg8) | Example Use Case: The Policy shows an Agreement with two Parties with the functional roles of the assigner and the assignee. The assigner grants the assignee the play action over the target asset. | complete |
| Function Property (eg9) | Example Use Case: The Policy shows an Agreement with two Parties with the functional roles of the assigner and the assignee. The assigner grants the assignee the use of the target asset. In this case, the assigner is explicitly declared as a Party as well as a vcard:Organisation and some additional external properties. The assignee is explicitly declared as a PartyCollection as well as a vcard:Group and some additional external properties. This implies that all the entities that are identified as http://example.com/team/A will each have the same granted action | complete |
| Action Class (eg12) | Example Use Case: The Policy expresses an Offer for the target Asset http://example.com/music:1012 with the Action to play the Asset (play is defined as an includedIn term of use). | complete |
| Constraint property with a Rule (eg1799) | Example Use Case: In the Policy Offer example below, the permission allows the target asset to be distributed, and includes a constraint of a dateTime condition that the permission can only be exercised until 2018-01-01. | complete |
| Refinement property with an Action (eg179) | Example Use Case: In the Policy Offer example below, the permission allows the target asset to be printed, and also include a refinement Constraint of less than or equal to 1200 dpi resolution. The refinement is a more narrower semantic of printing, in this case, printing at a specific maximum resolution level. | complete |
| Refinement property with an Action (eg19) | Example Use Case:The Policy below shows a permission to reproduce the target asset either via online media or print media but not both. This is expressed as a Logical Constraint (with the xone operand) referring to two existing Constraints declared elsewhere. | complete |
| Refinement property with an Asset Collection (eg21) | Example Use Case: The Policy defines a target source http://example.com/media-catalogue that is an AssetCollection of multimedia videos. The target also has a refinement that specifies the characteristics of the AssetCollection members. In this case, the target subset of Assets will be those that have a running time of less than 60 minutes, and each of those may be played. Note that the runningTime leftOperand is defined in the ODRL Profile http://example.com/odrl:profile:11 together with the play action. | complete |
| Refinement property with a Party Collection (eg22) | Example Use Case: The target Asset http://example.com/myPhotos:BdayParty is a set of photos posted to a social network site by the assigner of the photos http://example.com/user44. The assignee source is a PartyCollection http://example.com/user44/friends and represents all the friends of the assigner. The assignee also has a refinement that indicates only members of the collection over the foaf:age of 18 will be assigned the ex:view permission (defined by the Profile). | complete |
| Permission Class (eg13) | Example Use Case: The Policy Offer from assigner http://example.com/org:xyz expresses the play action for the target Asset http//example.com/game:9090 and the permission is valid until the end of the year 2017. | complete |
| Prohibition Class (eg14) | Example Use Case: The assigner of a target Asset http://example.com/photoAlbum:55 expresses an Agreement Policy with both a Permission and a Prohibition. The assigner Party http://example.com/MyPix:55 assigns the Permission display to the assignee Party http://example.com/assignee:55 at the same time a Prohibition to archive the target Asset. Additionally, in case of any conflicts in the Policy (e.g., between Permissions and Prohibitions), the conflict property of the Policy is set to perm indicating that the Permissions will take precedence. | complete |
| Obligation property with a Policy (eg16bc) | Example Use Case: The below Agreement includes an obligation from assigner http://example.com/org:43 to assignee http://example.com/person:44 to compensate the assigner for a payment amount of EU500.00. | complete |
| Obligation property with a Policy (eg169b) | Example Use Case: The below Agreement includes an obligation from assigner http://example.com/org:43 to assignee http://example.com/person:44 to delete the target Asset. If the obligation is not fulfilled, then a consequence is that the assignee MUST now also compensate the nominated charity with a payment of EU10.00 (as well as the fulfill the obligation Duty). | complete |
| Duty property with a Permission (eg15) | Example Use Case: The Party http://example.com/assigner:sony makes an Offer to play the target asset http://example.com/music/1999.mp3. The permission includes a duty for the compensate action that has a refinement of payAmount of $EU5.00. The duty also has a constraint of event is less than policyUsage, meaning the duty rule must be exercised (ie the compensation) before the permission rule can be exercised. | complete |
| Consequence property with a Permission/Obligation Duty (eg16712) | Example Use Case: The below Agreement between assigner http://example.com/org:99 and assignee http://example.com/person:88 allows the assignee to distribute the Asset http://example.com/data:77 under the pre-condition they attribute the asset to Party http://australia.gov.au/. If the assignee does not fulfil the duty, or distributes the asset without fulfilling the duty, then the consequence will be that they will also be tracked by http://example.com/dept:100. | complete |
| Remedy property with a Prohibition (eg1969) | Example Use Case: The below Agreement between assigner http://example.com/person:88 and assignee http://example.com/org:99 prohibits the assignee to index the Asset http://example.com/data:77. If the assignee does actually index the target asset, then the remedy will be that they MUST anonymize the target asset http://example.com/data:77. | complete |
| Policy Rule Composition (eg23) | The example below shows the atomic level of a Policy where it is an irreducible Rule (that is, not able to be reduced or further simplified). | complete |
| Policy Rule Composition (id24) | The below example Policy includes two target Assets and two actions in the same permission Rule. | complete |
| Policy Rule Composition (eg25) | The above example can then be reduced to four atomic permission Rules. Each permission Rule will include a single target and a single action. | complete |
| Compact Policy (eg26) | complete | |
| Compact Policy (eg27) | complete | |
| Policy Metadata (eg28) | Example Use Case: The below example shows metadata properties that indicate who created the Policy, a description, when the Policy was issued, which jurisdiction (an identifier of Queensland, Australia) the Policy applies to, and an identifier of an older version of the Policy it replaces. | complete |
| Policy Inheritance (eg29) | Example Use Case: Consider the (parent) Policy http://example.com/policy:default below. It includes a (policy-level) assigner and an Obligation to review the target asset policy document. | complete |
| Policy Inheritance (eg30) | complete | |
| Policy Inheritance (eg31) | complete | |
| Policy Conflict Strategy (eg32) | Example Use Case: Two Policies are associated to the same target Asset http://example.com/asset:1212. The first Policy http://example.com/policy:0001 allows to use the Asset. The second Policy http://example.com/policy:0002 allows for the display of the Asset, but it prohibits print. Both policies explicitly state how to deal with conflicts through the conflict property being set to perm. Hence the Permissions will always override any Prohibitions. In this use case, since the print Action is a specialisation of the use Action, there could be a conflict. However, the perm conflict strategy means that the use Permission will override the print Prohibition. | complete |
| Policy Conflict Strategy (eg33) | complete |