CARVIEW |
ODRL Vocabulary & Expression
W3C First Public Working Draft
- This version:
- https://www.w3.org/TR/2016/WD-vocab-odrl-20160721/
- Latest published version:
- https://www.w3.org/TR/vocab-odrl/
- Latest editor's draft:
- https://w3c.github.io/poe/vocab/
- Editors:
- Renato Iannella, Monegraph, r@iannel.la
- Michael Steidl, Invited Expert, mdirector@iptc.org
- Mo McRoberts, BBC, mo.mcroberts@bbc.co.uk
- Stuart Myles, Invited Expert, SMyles@ap.org
- James Birmingham, Digital Catapult, james.birmingham@digicatapult.org.uk
- Víctor Rodríguez-Doncel, Universidad Politécnica de Madrid, vrodriguez@fi.upm.es
- Repository:
- Github Repository
- Issue Tracker
Copyright © 2016 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.
Abstract
The ODRL permissions and obligations expression language provides a flexible and interoperable information model, vocabulary, and encoding mechanisms for describing statements about digital content usage. The ODRL Vocabulary and Expression describes the terms used in such statements and how to encode them.
Status of This Document
This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.
This is a work in progress. No section should be considered final, and the absence of any content does not imply that such content is out of scope, or may not appear in the future. If you feel something should be covered, please tell us.
This document was published by the Permissions & Obligations Expression Working Group as a First Public Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to public-poe-comments@w3.org (subscribe, archives). All comments are welcome.
Publication as a First Public Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.
This document is governed by the 1 September 2015 W3C Process Document.
1. Introduction
This section is non-normative.
The ODRL Vocabulary and Expression defines a set of concepts and terms (the vocabulary) and encoding mechanism (the expression) for permissions and obligations statements describing digital content usage based on the ODRL Information Model [odrl-w3c-model].
2. Relationship to the W3C ODRL Community Group Reports
The basis for the deliverables for the Permissions & Obligations Expression Working Group are the reports created by the W3C ODRL Community Group. The ODRL Community Group has developed a family of specifications to support innovative expression of digital asset usage for the publication, distribution and consumption of content services. The final outputs of the ODRL Community Group were the Version 2.1 specifications that were a major update for ODRL and superseded the original ODRL Version 1.1 [odrl] (published as a W3C NOTE)
The following documents are part of the ODRL Community Group report series:
- ODRL V2 Requirements [odrl2-req]
- ODRL V2.1 Core Model [odrl21-model]
- ODRL V2.1 Common Vocabulary [odrl21-vocab]
- ODRL V2.1 XML Encoding [odrl21-xml]
- ODRL V2.1 Ontology [odrl21-onto]
- ODRL V2.1 JSON Encoding [odrl21-json]
The ODRL Vocabulary and Expression was derived from the combination and merger of four of the ODRL Community Group's outcomes; ODRL V2.1 Common Vocabulary, ODRL V2.1 XML Encoding, ODRL V2.1 Ontology, and ODRL V2.1 JSON Encoding. Details of the differences between the W3C Working Group deliverables and the ODRL Community Group Reports are maintained in the Appendix. All new ODRL implementations are expected to use the deliverables of the W3C Permissions & Obligations Expression Working Group.
3. Conformance
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MUST, OPTIONAL, and REQUIRED are to be interpreted as described in [RFC2119].
4. Vocabulary
The Namespace URI to identify the ODRL model and vocabulary terms is: https://www.w3.org/ns/odrl/2/
The namespace URI may change in future versions.

Above figure will be updated to match the vocabulary term groupings.
The detail for each ODRL Vocabulary term is shown below in the two tables. The left table shows the normative semantic description of the concept, and the right table the ontological description and relationships.
4.1 Policy Concepts
4.1.1 Policy
Definition: | An entity to capture the statements of the policy |
---|---|
Label: | Policy |
Identifier: | https://www.w3.org/ns/odrl/2/Policy |
Comment: | A top level entity for describing policies. |
Parent class: | Asset |
Sub-classes: | Agreement, Offer, Privacy, Request, Set, Ticket |
Properties: | conflict, inheritAllowed, inheritFrom, permission, profile, prohibition, undefined |
In range of: | inheritFrom |
4.1.2 Rule
Definition: | A common ancestor to Permissions, Prohibitions and Duties |
---|---|
Label: | Rule |
Identifier: | https://www.w3.org/ns/odrl/2/Rule |
Comment: | Rule is an abstract concept. |
Sub-classes: | Duty, Permission, Prohibition |
Properties: | action, constraint, function, output, relation, target |
4.1.3 profile
Definition: | The identifier of an ODRL Profile that this Policy conforms to. |
---|---|
Label: | profile |
Identifier: | https://www.w3.org/ns/odrl/2/profile |
Comment: | ODRL Profiles may be defined by community groups and express additional semantics. |
Range: | rdfs:Resource |
Domain: | Policy |
4.1.4 inheritAllowed
Definition: | Indicates if the Policy entity can be inherited. |
---|---|
Label: | inheritance allowed |
Identifier: | https://www.w3.org/ns/odrl/2/inheritAllowed |
Comment: | A boolean value. |
Range: | xsd:boolean |
Domain: | Policy |
4.1.5 inheritFrom
Definition: | Relates a (child) policy to another (parent) policy from which terms are inherited |
---|---|
Label: | inherits from |
Identifier: | https://www.w3.org/ns/odrl/2/inheritFrom |
Comment: | The child policy will inherit from the parent policy |
Range: | Policy |
Domain: | Policy |
4.1.6 ConflictTerm
Definition: | Is used to resolve conflicts arising from the merging of policies, specifically when there are conflicting Actions in the Permissions and Prohibitions |
---|---|
Label: | Conflict term |
Identifier: | https://www.w3.org/ns/odrl/2/ConflictTerm |
Comment: | Instances of ConflictTerm describe policies for resolving conflicts. |
In range of: | conflict |
Instances: | invalid, perm, prohibit |
4.1.7 conflict
Definition: | Relates a conflict-resolution mechansim to a Policy. |
---|---|
Label: | conflict |
Identifier: | https://www.w3.org/ns/odrl/2/conflict |
Comment: | If no mechanism is specified, the default is invalid. |
Range: | ConflictTerm |
Domain: | Policy |
4.1.8 perm
Definition: | Permissions take precedence over prohibitions. |
---|---|
Label: | Permissions |
Identifier: | https://www.w3.org/ns/odrl/2/perm |
Comment: | Used to determine policy conflict outcomes. |
Class: | ConflictTerm |
4.1.9 prohibit
Definition: | Prohibitions take precedence over permissions |
---|---|
Label: | Prohibit |
Identifier: | https://www.w3.org/ns/odrl/2/prohibit |
Comment: | Used to determine policy conflict outcomes. |
Class: | ConflictTerm |
4.1.10 UndefinedTerm
Definition: | Is used to indicate how to support Actions that are not part of any profile in the policy expression system |
---|---|
Label: | Undefined values |
Identifier: | https://www.w3.org/ns/odrl/2/UndefinedTerm |
Comment: | Instances of UndefinedTerm describe policies for processing unsupported actions. |
In range of: | undefined |
Instances: | ignore, invalid, support |
4.1.11 undefined
Definition: | Relates the mechanism used for handling undefined actions to a Policy. |
---|---|
Label: | undefined |
Identifier: | https://www.w3.org/ns/odrl/2/undefined |
Comment: | If no mechanism is specified, the default is invalid. |
Range: | UndefinedTerm |
Domain: | Policy |
4.1.12 ignore
Definition: | The Action is to be ignored and not part of the policy – and the policy remains valid. |
---|---|
Label: | Ignore |
Identifier: | https://www.w3.org/ns/odrl/2/ignore |
Comment: | Used to support actions not known to the policy system. |
Class: | UndefinedTerm |
4.1.13 invalid
Definition: | the Action is unknown – and the policy is invalid. |
---|---|
Label: | Invalid |
Identifier: | https://www.w3.org/ns/odrl/2/invalid |
Comment: | Used to support actions not known to the policy system. |
Class: | ConflictTerm, UndefinedTerm |
4.1.14 support
Definition: | The Action is to be supported as part of the policy – and the policy remains valid |
---|---|
Label: | Support |
Identifier: | https://www.w3.org/ns/odrl/2/support |
Comment: | Used to support actions not known to the policy system. |
Class: | UndefinedTerm |
4.2 Policy Types
4.2.1 Agreement
Definition: | Policy expressions that are formal contracts (or licenses) stipulating all the terms of usage and all the parties involved. |
---|---|
Label: | Agreement |
Identifier: | https://www.w3.org/ns/odrl/2/Agreement |
Comment: | Must contain at least the Party entity with Assigner role and a Party with Assignee role. The latter being granted the terms of the Agreement from the former. |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.2.2 Offer
Definition: | Policy expression that proposes terms of usage from an Asset owner. |
---|---|
Label: | Offer |
Identifier: | https://www.w3.org/ns/odrl/2/Offer |
Comment: | Must contain a Party entity with Assigner role. The Offer may contain a Party entity with Assignee role, but does not grant any privileges to that Party. |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.2.3 Set
Definition: | Policy expression that consists of entities from the complete model. |
---|---|
Label: | Set |
Identifier: | https://www.w3.org/ns/odrl/2/Set |
Comment: | The Set is aimed at scenarios where there is an open criteria for the semantics of the policy expressions and typically refined by other systems/profiles that process the information at a later time. No privileges are granted to any Party. |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.2.4 Request
Definition: | Policy expression that proposes terms of usage to an Asset owner. |
---|---|
Label: | Request |
Identifier: | https://www.w3.org/ns/odrl/2/Request |
Comment: | Must contain a Party entity with Assignee role. The Request may also contain the Party entity with Assigner role if this is known. No privileges are granted to any Party. |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.2.5 Ticket
Definition: | Policy expression that stipulates the terms of usage and is redeemable by any Party who currently holds the Ticket in their possession. |
---|---|
Label: | Ticket |
Identifier: | https://www.w3.org/ns/odrl/2/Ticket |
Comment: | May contain the Party entity with Assigner role and the Party entity with Assignee role. A Ticket (or Voucher) may be anonymous or personalised, where the holder of that Ticket may remain unknown or has to be identified. The holder, or if known, the Assignee, is being granted the terms of the Ticket from the Assigner (in known). |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.2.6 Privacy
Definition: | Policy expression that stipulates the terms of usage over personal information. |
---|---|
Label: | Privacy |
Identifier: | https://www.w3.org/ns/odrl/2/Privacy |
Comment: | Must contain at least the Party entity with Assigner role and a Party with Assignee role. Must also contain a Duty on the assignee related to obligations towards managing the assigner’s Asset containing personal information. The Assignee is being granted the terms of the Privacy policy from the Assigner. |
Parent class: | Policy |
Inherited Properties: | conflict, undefined, permission, prohibition, inheritAllowed, inheritFrom, profile |
4.3 Permission Concepts
4.3.1 Permission
Definition: | A Permission is a rule which indicates the actions the assignee is permitted to perform on the associated asset. |
---|---|
Label: | Permission |
Identifier: | https://www.w3.org/ns/odrl/2/Permission |
Comment: | In other words, what the assigner (supplier) has granted to the assignee (consumer). |
Parent class: | Rule |
Properties: | duty |
Inherited Properties: | relation, output, target, function, action, constraint |
4.3.2 permission
Definition: | Relates the description of an individual Permission to a Policy |
---|---|
Label: | permission |
Identifier: | https://www.w3.org/ns/odrl/2/permission |
Comment: | A permission can be specified either in terms of an Action alone, or an instance of Permission relating an Action and one or more other attributes. |
Range: | Action, Permission |
Domain: | Policy |
4.4 Prohibition Concepts
4.4.1 Prohibition
Definition: | A Prohibition is a rule which indicates the Actions that the assignee is prohibited to perform on the related Asset. |
---|---|
Label: | Prohibition |
Identifier: | https://www.w3.org/ns/odrl/2/Prohibition |
Comment: | Prohibitions are issued by the supplier of the Asset – the Party with the Role assigner. |
Parent class: | Rule |
Inherited Properties: | relation, output, target, function, action, constraint |
4.4.2 prohibition
Definition: | Relates the description of an individual Prohibition to a Policy. |
---|---|
Label: | prohibition |
Identifier: | https://www.w3.org/ns/odrl/2/prohibition |
Comment: | A prohibition can be specified either in terms of an Action alone, or an instance of Prohibition relating an Action and one or more other attributes. |
Range: | Action, Prohibition |
Domain: | Policy |
4.5 Action Concepts
4.5.1 Action
Definition: | Instances of Action are operations that can be performed |
---|---|
Label: | Action |
Identifier: | https://www.w3.org/ns/odrl/2/Action |
Comment: | Actions may be allowed by Permissions, disalloed by Prohibitions, or made mandatory by Duties. |
Parent class: | skos:Concept |
In range of: | action |
Instances: | acceptTracking, adHocShare, aggregate, annotate, anonymize, append, appendTo, archive, attachPolicy, attachSource, attribute, commercialize, compensate, concurrentUse, copy, delete, derive, digitize, display, distribute, ensureExclusivity, execute, export, extract, extractChar, extractPage, extractWord, give, grantUse, include, index, inform, install, lease, lend, license, modify, move, nextPolicy, obtainConsent, pay, play, present, preview, print, read, reproduce, reviewPolicy, secondaryUse, sell, share, shareAlike, textToSpeech, transfer, transform, translate, uninstall, use, watermark, write, writeTo |
4.5.2 action
Definition: | The operation relating to the asset for which the Rule is being subjected. |
---|---|
Label: | action |
Identifier: | https://www.w3.org/ns/odrl/2/action |
Comment: | A permission must include exactly one action. |
Range: | Action |
Domain: | Rule |
4.6 Actions for Permissions and Prohibitions
4.6.1 use
Definition: | The Assigner permits/prohibits the Assignee to use the Asset as agreed. |
---|---|
Label: | Use |
Identifier: | https://www.w3.org/ns/odrl/2/use |
Comment: | Use is the most generic action for all non-third-party usage. More details may be defined in the applicable agreements or under applicable commercial laws. Refined types of actions can be expressed by the narrower actions. |
Narrower terms: | aggregate, annotate, anonymize, archive, concurrentUse, derive, digitize, distribute, execute, grantUse, index, install, modify, move, present, read, reproduce, textToSpeech, transform, translate, writeTo |
Class: | Action |
4.6.2 grantUse
Definition: | The Assigner permits/prohibits the Assignee to grant the use the Asset to third parties. |
---|---|
Label: | Grant use |
Identifier: | https://www.w3.org/ns/odrl/2/grantUse |
Comment: | This action enables the Assignee to create policies for the use of the Asset for third parties. nextPolicy is recommended to be agreed with the third party. Use of temporal constraints is recommended. |
Deprecates: | license |
Class: | Action |
4.6.3 aggregate
Definition: | The Assigner permits/prohibits the Assignees to use the Asset or parts of it as part of a composite collection. |
---|---|
Label: | Aggregate |
Identifier: | https://www.w3.org/ns/odrl/2/aggregate |
Class: | Action |
4.6.4 annotate
Definition: | The Assigner permits/prohibits the Assignees to add explanatory notations/commentaries to the Asset without modifying the Asset in any other way. |
---|---|
Label: | Annotate |
Identifier: | https://www.w3.org/ns/odrl/2/annotate |
Class: | Action |
4.6.5 anonymize
Definition: | The Assigner permits/prohibits the Assignees to anonymize all or parts of the Asset. |
---|---|
Label: | Anonymize |
Identifier: | https://www.w3.org/ns/odrl/2/anonymize |
Comment: | For example, to remove identifying particulars for statistical or for other comparable purposes, or to use the asset without stating the author/source. |
Class: | Action |
4.6.6 archive
Definition: | The Assigner permits/prohibits the Assignees to store the Asset (in a non-transient form). |
---|---|
Label: | Archive |
Identifier: | https://www.w3.org/ns/odrl/2/archive |
Comment: | Constraints may be used for temporal conditions. |
Class: | Action |
4.6.7 concurrentUse
Definition: | The Assigner permits/prohibits the Assignees to create multiple copies of the Asset that are being concurrently used. |
---|---|
Label: | Concurrent use |
Identifier: | https://www.w3.org/ns/odrl/2/concurrentUse |
Class: | Action |
4.6.8 derive
Definition: | The Assigner permits/prohibits the Assignees to create a new derivative Asset from this Asset and to edit or modify the derivative. |
---|---|
Label: | Derive |
Identifier: | https://www.w3.org/ns/odrl/2/derive |
Comment: | A new asset is created and may have significant overlaps with the original Asset. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective). To the derived Asset a next policy may be applied. |
Class: | Action |
4.6.9 digitize
Definition: | The Assigner permits/prohibits the Assignees to produce a digital copy of (or otherwise digitize) the Asset from its analogue form. |
---|---|
Label: | Digitize |
Identifier: | https://www.w3.org/ns/odrl/2/digitize |
Class: | Action |
4.6.10 display
Definition: | The Assigner permits/prohibits the Assignees to display the visual media Asset to an audience or the public. |
---|---|
Label: | Display |
Identifier: | https://www.w3.org/ns/odrl/2/display |
Comment: | For example, displaying an image on a screen. |
Class: | Action |
4.6.11 distribute
Definition: | The Assigner permits/prohibits the Assignees to distribute the Asset. |
---|---|
Label: | Distribute |
Identifier: | https://www.w3.org/ns/odrl/2/distribute |
Class: | Action |
4.6.12 execute
Definition: | The Assigner permits/prohibits the Assignees to run the computer program Asset. |
---|---|
Label: | Execute |
Identifier: | https://www.w3.org/ns/odrl/2/execute |
Comment: | For example, machine executable code or Java such as a game or application. |
Class: | Action |
4.6.13 extract
Definition: | The Assigner permits/prohibits the Assignees to extract parts of the Asset and to use it as a new Asset. |
---|---|
Label: | Extract |
Identifier: | https://www.w3.org/ns/odrl/2/extract |
Comment: | A new asset is created and may have very little in common with the original Asset. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective). To the extracted Asset a next policy may be applied. |
Class: | Action |
4.6.14 give
Definition: | The Assigner permits/prohibits the Assignees to transfer the ownership of the Asset to a third party without compensation and while deleting the original asset. |
---|---|
Label: | Give |
Identifier: | https://www.w3.org/ns/odrl/2/give |
Class: | Action |
4.6.15 index
Definition: | The Assigner permits/prohibits the Assignees to record the Asset in an index. |
---|---|
Label: | Index |
Identifier: | https://www.w3.org/ns/odrl/2/index |
Comment: | For example, to include a link to the Asset in a search engine database. |
Class: | Action |
4.6.16 install
Definition: | The Assigner permits/prohibits the Assignees to load the computer program Asset onto a storage device which allows operating or running the Asset. |
---|---|
Label: | Install |
Identifier: | https://www.w3.org/ns/odrl/2/install |
Class: | Action |
4.6.17 modify
Definition: | The Assigner permits/prohibits the Assignees to update existing content of the Asset. A new asset is not created by this action. |
---|---|
Label: | Modify |
Identifier: | https://www.w3.org/ns/odrl/2/modify |
Comment: | This action will modify an asset which is typically updated from time to time without creating a new asset like a database. If the result from modifying the asset should be a new asset the actions derive or extract should be used. (Note that the notion of whether or not the change is significant enough to qualify as a new asset is subjective). |
Deprecates: | append, appendTo, write, writeTo |
Class: | Action |
4.6.18 move
Definition: | The Assigner permits/prohibits the Assignees to move the Asset from one digital location to another including deleting the original copy. |
---|---|
Label: | Move |
Identifier: | https://www.w3.org/ns/odrl/2/move |
Comment: | After the Asset has been moved, the original copy must be deleted. |
Class: | Action |
4.6.19 play
Definition: | The Assigner permits/prohibits the Assignees to perform an audio Asset to an audience. |
---|---|
Label: | Play |
Identifier: | https://www.w3.org/ns/odrl/2/play |
Class: | Action |
4.6.20 present
Definition: | The Assigner permits/prohibits the Assignees to perform or exhibit an Asset to an audience. |
---|---|
Label: | Present |
Identifier: | https://www.w3.org/ns/odrl/2/present |
Narrower terms: | display, play, print |
Class: | Action |
4.6.21 print
Definition: | The Assigner permits/prohibits the Assignees to print an Asset onto paper or to create a hard copy. |
---|---|
Label: | |
Identifier: | https://www.w3.org/ns/odrl/2/print |
Comment: | For example, creating a permanent, fixed (static), and directly perceivable representation of the Asset. |
Class: | Action |
4.6.22 read
Definition: | The Assigner permits/prohibits the Assignees to obtain data from the Asset. |
---|---|
Label: | Read |
Identifier: | https://www.w3.org/ns/odrl/2/read |
Comment: | For example, the ability to read a record from a database (the Asset). |
Class: | Action |
4.6.23 reproduce
Definition: | The Assigner permits/prohibits the Assignee(s) to make (an) exact reproduction(s) of the Asset. |
---|---|
Label: | Reproduce |
Identifier: | https://www.w3.org/ns/odrl/2/reproduce |
Deprecates: | copy |
Narrower terms: | extract |
Class: | Action |
4.6.24 sell
Definition: | The Assigner permits/prohibits the Assignees to transfer the ownership of the Asset to a third party with compensation and while deleting the original asset. |
---|---|
Label: | Sell |
Identifier: | https://www.w3.org/ns/odrl/2/sell |
Class: | Action |
4.6.25 textToSpeech
Definition: | The Assigner permits/prohibits the Assignees to have a text Asset read out loud to an audience. |
---|---|
Label: | Text-to-speech |
Identifier: | https://www.w3.org/ns/odrl/2/textToSpeech |
Class: | Action |
4.6.26 transfer
Definition: | The Assigner transfers/does not transfer the ownership in perpetuity to the Assignees. |
---|---|
Label: | Transfer |
Identifier: | https://www.w3.org/ns/odrl/2/transfer |
Narrower terms: | give, sell |
Class: | Action |
4.6.27 transform
Definition: | The Assigner permits/prohibits the Assignees to make a digital copy of the digital Asset in another digital format. |
---|---|
Label: | Transform |
Identifier: | https://www.w3.org/ns/odrl/2/transform |
Comment: | Typically used to convert the Asset into a different format for consumption on/transfer to a third party system. |
Deprecates: | export |
Class: | Action |
4.6.28 translate
Definition: | The Assigner permits/prohibits the Assignees to translate the original natural language of an Asset into another natural language. |
---|---|
Label: | Translate |
Identifier: | https://www.w3.org/ns/odrl/2/translate |
Comment: | A new derivative Asset is created by that action. |
Class: | Action |
4.7 Duty Concepts
4.7.1 Duty
Definition: | A Duty is a rule which indicates a requirement that must be fulfilled in return for being entitled to the referring Permission entity. |
---|---|
Label: | Duty |
Identifier: | https://www.w3.org/ns/odrl/2/Duty |
Comment: | While implying different semantics, the Duty entity is similar to Permission in that it is an Action that must be undertaken. |
Parent class: | Rule |
Inherited Properties: | relation, output, target, function, action, constraint |
4.7.2 duty
Definition: | The duty relating to the Permission |
---|---|
Label: | duty |
Identifier: | https://www.w3.org/ns/odrl/2/duty |
Comment: | A Duty indicates requirements which must be fulfilled in order to receive the permission. |
Range: | Action, Duty |
Domain: | Permission |
4.8 Actions for Duties
4.8.1 acceptTracking
Definition: | The Assigner requires that the Assignees accepts that the use of the Asset may be tracked. |
---|---|
Label: | Accept tracking |
Identifier: | https://www.w3.org/ns/odrl/2/acceptTracking |
Comment: | The collected information may be tracked by the Assigner, or may link to a Party with the role function “trackingParty”. |
Class: | Action |
4.8.2 attribute
Definition: | The Assigner requires that the Assignees attributes the Asset to the Assigner or an attributed Party. |
---|---|
Label: | Attribute |
Identifier: | https://www.w3.org/ns/odrl/2/attribute |
Comment: | May link to an Asset with the attribution information. May link to a Party with the role function “attributedParty”. |
Class: | Action |
4.8.3 compensate
Definition: | The Assigner requires that the Assignees compensates the Assigner (or other specified compensation Party) by some amount of value, if defined, for use of the Asset. |
---|---|
Label: | Compensate |
Identifier: | https://www.w3.org/ns/odrl/2/compensate |
Comment: | The compensation may use different types of things with a value: (i) the thing is expressed by the value (term) of the Constraint name; (b) the value is expressed by operator, rightOperand, dataType and unit |
Deprecates: | pay |
Class: | Action |
4.8.4 delete
Definition: | The Assigner requires that the Assignees permanently removes all copies of the Asset. |
---|---|
Label: | Delete |
Identifier: | https://www.w3.org/ns/odrl/2/delete |
Comment: | Use a constraint to define under which conditions the Asset should be deleted. |
Class: | Action |
4.8.5 ensureExclusivity
Definition: | The Assignee requires that the Assigners ensure that the permission on the Asset is exclusive to the Assignee. |
---|---|
Label: | Ensure exclusivity |
Identifier: | https://www.w3.org/ns/odrl/2/ensureExclusivity |
Class: | Action |
4.8.6 include
Definition: | The Assigner requires that the Assignees include other related assets in the Asset. |
---|---|
Label: | Include |
Identifier: | https://www.w3.org/ns/odrl/2/include |
Comment: | For example: bio picture must be included in the attribution. Use of the Asset relation attribute is required. |
Class: | Action |
4.8.7 inform
Definition: | The Assigner requires that the Assignees inform the Assigner or an informed Party that an action has been performed on or in relation to the Asset. |
---|---|
Label: | Inform |
Identifier: | https://www.w3.org/ns/odrl/2/inform |
Comment: | May link to a Party with the role function “informedParty”. |
Class: | Action |
4.8.8 nextPolicy
Definition: | The Assigner requires that the Assignees grants the specified Policy to a third party for their use of the Asset. |
---|---|
Label: | Next policy |
Identifier: | https://www.w3.org/ns/odrl/2/nextPolicy |
Comment: | Useful for downstream policies. |
Class: | Action |
4.8.9 obtainConsent
Definition: | The Assigner requires that the Assignees obtains explicit consent from the Assigner or a consenting Party to perform the requested action in relation to the Asset. |
---|---|
Label: | Obtain consent |
Identifier: | https://www.w3.org/ns/odrl/2/obtainConsent |
Comment: | Used as a Duty to ensure that the Assigner or a Party is authorized to approve such actions on a case-by-case basis. May link to a Party with the role function “consentingParty”. |
Class: | Action |
4.8.10 reviewPolicy
Definition: | The Assigner requires that the Assignee(s) has(ve) a person review the Policy applicable to the Asset. |
---|---|
Label: | Review policy |
Identifier: | https://www.w3.org/ns/odrl/2/reviewPolicy |
Comment: | Used when human intervention is required to review the Policy. May link to an Asset which represents the full Policy information. |
Class: | Action |
4.8.11 uninstall
Definition: | The Assigner requires that the Assignees unload and delete the computer program Asset from a storage device and disable its readiness for operation. |
---|---|
Label: | Uninstall |
Identifier: | https://www.w3.org/ns/odrl/2/uninstall |
Comment: | The Asset is no longer accessible to the Assignees. |
Class: | Action |
4.8.12 watermark
Definition: | The Assigner requires that the Assignees apply a watermark as provided by the Assigner to the Asset. |
---|---|
Label: | Watermark |
Identifier: | https://www.w3.org/ns/odrl/2/watermark |
Comment: | It is recommended to embed a link to the watermark. |
Class: | Action |
4.9 Constraint Concepts
4.9.1 Constraint
Definition: | The Constraint entity indicates limits and restrictions to the Permission, the Prohibition and the Duty entity |
---|---|
Label: | Constraint |
Identifier: | https://www.w3.org/ns/odrl/2/Constraint |
Comment: | Parent class of all Constraints. |
Parent class: | owl:Thing |
Properties: | dataType, operator, rightOperand, status, unit |
In range of: | constraint |
4.9.2 constraint
Definition: | The constraint relating to the Rule |
---|---|
Label: | constraint |
Identifier: | https://www.w3.org/ns/odrl/2/constraint |
Comment: | One or more constraints which affect the validity of the Rule; e.g. if the Action play is only permitted for a certain period of time. |
Range: | Constraint |
Domain: | Rule |
4.9.3 Operator
Definition: | Operators for constraint expressions. |
---|---|
Label: | Operator |
Identifier: | https://www.w3.org/ns/odrl/2/Operator |
Comment: | Instances of the Operator class represent boolean operators |
Parent class: | owl:Thing |
In range of: | operator |
Instances: | eq, gt, gteq, hasPart, isA, isAllOf, isAnyOf, isNoneOf, isPartOf, lt, lteq, neq |
4.9.4 operator
Definition: | The Boolean operator applied to a constraint and its operand. |
---|---|
Label: | operator |
Identifier: | https://www.w3.org/ns/odrl/2/operator |
Range: | Operator |
Domain: | Constraint |
4.9.5 rightOperand
Definition: | The operand applied to an instance of a constraint. |
---|---|
Label: | right-operand |
Identifier: | https://www.w3.org/ns/odrl/2/rightOperand |
Comment: | Do not use the right-operand property directly within a Constraint. Instead, a Constraint instance must contain exactly one triple which makes use of one of the sub-properties of right-operand. |
Sub-properties: | absolutePosition, absoluteSize, count, dateTime, deliveryChannel, device, elapsedTime, event, fileFormat, industry, language, media, meteredTime, payAmount, percentage, product, proximity, purpose, recipient, relativePosition, relativeSize, resolution, spatial, system, systemDevice, timeInterval, timedCount, version, virtualLocation |
Domain: | Constraint |
4.9.6 unit
Definition: | The unit of measurement used for the constraint value. |
---|---|
Label: | unit |
Identifier: | https://www.w3.org/ns/odrl/2/unit |
Range: | rdfs:Resource |
Domain: | Constraint |
4.9.7 dataType
Definition: | The datatype used for the constraint value. |
---|---|
Label: | unit |
Identifier: | https://www.w3.org/ns/odrl/2/dataType |
Range: | rdfs:Resource |
Domain: | Constraint |
4.9.8 status
Definition: | The current value of the constraint. |
---|---|
Label: | status |
Identifier: | https://www.w3.org/ns/odrl/2/status |
Comment: | The range of the status property is identical to that of the operand property selected used in the constraint. |
Domain: | Constraint |
4.10 Actions for Constraints
4.10.1 absolutePosition
Definition: | A point defined with absolute coordinates. |
---|---|
Label: | absolute position |
Identifier: | https://www.w3.org/ns/odrl/2/absolutePosition |
Comment: | For example, JPEG image must be positioned at 100×100 pixel location. This may be used to express [plus] semantics. |
Parent property: | rightOperand |
4.10.2 absoluteSize
Definition: | The absolute dimension that the Asset may be resized. |
---|---|
Label: | absolute size |
Identifier: | https://www.w3.org/ns/odrl/2/absoluteSize |
Comment: | For example, JPEG image must be reproduced onto an area no larger than A0. This may be used to express [plus] semantics. |
Parent property: | rightOperand |
Range: | xsd:decimal |
4.10.3 count
Definition: | The numeric count indicating the number of times the corresponding entity may be exercised |
---|---|
Label: | count |
Identifier: | https://www.w3.org/ns/odrl/2/count |
Comment: | Should be a positive integer |
Parent property: | rightOperand |
Range: | xsd:nonNegativeInteger |
4.10.4 dateTime
Definition: | The date (and optional time and timezone) representing a point in time or period. |
---|---|
Label: | date/time |
Identifier: | https://www.w3.org/ns/odrl/2/dateTime |
Comment: | Value must conform to [iso8601] as represented in [xmlschema11-2]. The use of Timezone information is strongly recommended. |
Parent property: | rightOperand |
Range: | xsd:date, xsd:dateTime |
4.10.5 deliveryChannel
Definition: | The delivery channel used for storing or communicating the asset. |
---|---|
Label: | delivery channel |
Identifier: | https://www.w3.org/ns/odrl/2/deliveryChannel |
Comment: | For example, the asset may be distributed only on mobile networks. |
Parent property: | rightOperand |
4.10.6 elapsedTime
Definition: | A period of time in which the policy action can be exercised. |
---|---|
Label: | elapsed time |
Identifier: | https://www.w3.org/ns/odrl/2/elapsedTime |
Comment: | The start of the period is when the action is first exercised. Value must conform to [iso8601] as represented in [xmlschema11-2]. |
Parent property: | rightOperand |
Range: | xsd:duration |
4.10.7 event
Definition: | Specification of a defined event applicable to the asset usage. |
---|---|
Label: | event |
Identifier: | https://www.w3.org/ns/odrl/2/event |
Comment: | For example, asset may be used at the “FIFA World Cup” only. To express events related to undertaking Duties, specific event values may be defined (eg see policyUsage). |
Parent property: | rightOperand |
4.10.8 fileFormat
Definition: | The file format applicable to the Asset. |
---|---|
Label: | file format |
Identifier: | https://www.w3.org/ns/odrl/2/fileFormat |
Comment: | For example only JPEG image may be distributed. This may be used to express [plus] semantics. |
Parent property: | rightOperand |
4.10.9 industry
Definition: | The defined industry sector applicable to the asset usage. |
---|---|
Label: | industry |
Identifier: | https://www.w3.org/ns/odrl/2/industry |
Comment: | For example, publishing, financial. |
Parent property: | rightOperand |
4.10.10 language
Definition: | The natural language applicable to the asset usage |
---|---|
Label: | language |
Identifier: | https://www.w3.org/ns/odrl/2/language |
Comment: | For example, JPEG image may only be reproduced with Spanish text. May be used to express [[plus] semantics. Must use [bcp47] codes for language values. |
Parent property: | rightOperand |
4.10.11 media
Definition: | The media type in which the asset may be used. |
---|---|
Label: | media |
Identifier: | https://www.w3.org/ns/odrl/2/media |
Comment: | For example, electronic, print, advertising, marketing. This may be used to express [plus] semantics. |
Parent property: | rightOperand |
4.10.12 meteredTime
Definition: | The maximum period of metered usage time. |
---|---|
Label: | metered time |
Identifier: | https://www.w3.org/ns/odrl/2/meteredTime |
Comment: | For example “P30H” indicates a 30 hour period. Value must conform to [iso8601] as represented in [xmlschema11-2]. |
Parent property: | rightOperand |
Range: | xsd:duration |
4.10.13 payAmount
Definition: | The value of the financial payment |
---|---|
Label: | payment amount |
Identifier: | https://www.w3.org/ns/odrl/2/payAmount |
Comment: | Maybe used for compensation duties. The dataType attribute may be used to indicate the type of the value (eg decimal) and the unit attribute to indicate the currency. |
Parent property: | rightOperand |
Range: | xsd:decimal |
4.10.14 percentage
Definition: | The amount (as a percentage) of the action applicable to the asset. |
---|---|
Label: | percentage |
Identifier: | https://www.w3.org/ns/odrl/2/percentage |
Comment: | A numeric value from 0 to 100. For example, extract a maximum of 50% of the asset |
Parent property: | rightOperand |
Range: | xsd:decimal |
4.10.15 product
Definition: | The specified Product or Service name. |
---|---|
Label: | product |
Identifier: | https://www.w3.org/ns/odrl/2/product |
Comment: | For example, images may only be reproduced in the XYZ Magazine. This may be used to express [plus] semantics; |
Parent property: | rightOperand |
Range: | xsd:string |
4.10.16 purpose
Definition: | Specification of a defined purpose applicable to the asset usage. |
---|---|
Label: | purpose |
Identifier: | https://www.w3.org/ns/odrl/2/purpose |
Comment: | For example, educational use. Purpose values from [p3p] may also be used. |
Parent property: | rightOperand |
4.10.17 recipient
Definition: | The party that receives the result of the Action on the Asset. |
---|---|
Label: | recipient |
Identifier: | https://www.w3.org/ns/odrl/2/recipient |
Comment: | The right operand must identify one or more specific parties or categories of party |
Parent property: | rightOperand |
4.10.18 relativePosition
Definition: | A point defined with reference to another position. |
---|---|
Label: | relative position |
Identifier: | https://www.w3.org/ns/odrl/2/relativePosition |
Comment: | For example, JPEG image must be positioned at the Top of the Page. This may be used to express [plus] semantics; |
Parent property: | rightOperand |
4.10.19 relativeSize
Definition: | The relative dimension that the Asset may be resized. |
---|---|
Label: | relative size |
Identifier: | https://www.w3.org/ns/odrl/2/relativeSize |
Comment: | For example, JPEG image resized to maximum of 200%. This may be used to express [plus] semantics; |
Parent property: | rightOperand |
4.10.20 resolution
Definition: | The resolution at which the asset may be used. |
---|---|
Label: | resolution |
Identifier: | https://www.w3.org/ns/odrl/2/resolution |
Comment: | For example, may be printed at 1200dpi. |
Parent property: | rightOperand |
4.10.21 spatial
Definition: | A code representing a geospatial area. |
---|---|
Label: | spatial |
Identifier: | https://www.w3.org/ns/odrl/2/spatial |
Comment: | The code value and code source must be represented. For example, the [iso3166] Country Codes or the Getty Thesaurus of Geographic Names. A URI should be used to represent this value. |
Parent property: | rightOperand |
4.10.22 systemDevice
Definition: | An identifiable computing system. |
---|---|
Label: | system device |
Identifier: | https://www.w3.org/ns/odrl/2/systemDevice |
Comment: | For example, identifiable via the CPU or unique hardware address. |
Parent property: | rightOperand |
Deprecates: | device, system |
4.10.23 timeInterval
Definition: | Recurring period of time in which the usage may be exercised. |
---|---|
Label: | time interval |
Identifier: | https://www.w3.org/ns/odrl/2/timeInterval |
Comment: | For example, “P7D” indicates a 7 day period. Value must conform to [iso8601] as represented in [xmlschema11-2]. |
Parent property: | rightOperand |
Range: | xsd:duration |
4.10.24 version
Definition: | The scope of versions for the asset. |
---|---|
Label: | version |
Identifier: | https://www.w3.org/ns/odrl/2/version |
Comment: | For example, Single Paperback, or Multiple Issues. This may be used to express [plus] semantics. |
Parent property: | rightOperand |
4.10.25 virtualLocation
Definition: | Specification of a digital locale. |
---|---|
Label: | virtual location |
Identifier: | https://www.w3.org/ns/odrl/2/virtualLocation |
Comment: | For example, an Internet domain or IP address range. |
Parent property: | rightOperand |
4.11 Constraint Operators
4.11.1 eq
Definition: | Indicating that a given value equals the right operand of the Constraint. |
---|---|
Label: | Equal to |
Identifier: | https://www.w3.org/ns/odrl/2/eq |
Class: | Operator |
4.11.2 gt
Definition: | Indicating that a given value is greater than the right operand of the Constraint |
---|---|
Label: | Greater than |
Identifier: | https://www.w3.org/ns/odrl/2/gt |
Class: | Operator |
4.11.3 gteq
Definition: | Indicating that a given value is greater than or equal to the right operand of the Constraint |
---|---|
Label: | Greater than or equal to |
Identifier: | https://www.w3.org/ns/odrl/2/gteq |
Class: | Operator |
4.11.4 lt
Definition: | Indicating that a given value is less than the right operand of the Constraint |
---|---|
Label: | Less than |
Identifier: | https://www.w3.org/ns/odrl/2/lt |
Class: | Operator |
4.11.5 lteq
Definition: | Indicating that a given value is less than or equal to the right operand of the Constraint |
---|---|
Label: | Less than or equal to |
Identifier: | https://www.w3.org/ns/odrl/2/lteq |
Class: | Operator |
4.11.6 neq
Definition: | Indicating that a given value is not equal to the right operand of the Constraint |
---|---|
Label: | Not equal to |
Identifier: | https://www.w3.org/ns/odrl/2/neq |
Class: | Operator |
4.11.7 isA
Definition: | Indicating that a given value is an instance of the right operand of the Constraint |
---|---|
Label: | Is a |
Identifier: | https://www.w3.org/ns/odrl/2/isA |
Class: | Operator |
4.11.8 hasPart
Definition: | Indicating that a given value contains the right operand of the Constraint |
---|---|
Label: | Has part |
Identifier: | https://www.w3.org/ns/odrl/2/hasPart |
Class: | Operator |
4.11.9 isPartOf
Definition: | Indicating that a given value is contained by the right operand of the Constraint |
---|---|
Label: | Is part of |
Identifier: | https://www.w3.org/ns/odrl/2/isPartOf |
Class: | Operator |
4.11.10 isAllOf
Definition: | Indicating that a given value is all of the right operand of the Constraint |
---|---|
Label: | Is all of |
Identifier: | https://www.w3.org/ns/odrl/2/isAllOf |
Class: | Operator |
4.11.11 isAnyOf
Definition: | Indicating that a given value is any of the right operand of the Constraint |
---|---|
Label: | Is any of |
Identifier: | https://www.w3.org/ns/odrl/2/isAnyOf |
Class: | Operator |
4.11.12 isNoneOf
Definition: | Indicating that a given value is none of the right operand of the Constraint |
---|---|
Label: | Is none of |
Identifier: | https://www.w3.org/ns/odrl/2/isNoneOf |
Class: | Operator |
4.12 Values for Actions
4.12.1 policyUsage
Definition: | When used as an event in constraints, indicates that the event occurs at the time when the policy is executed. |
---|---|
Label: | Policy usage time |
Identifier: | https://www.w3.org/ns/odrl/2/policyUsage |
Comment: | This will enable constraints to be expressed such as “event lt o:policyUsage” indicating before the policy is exercised. |
4.13 Party Concepts
4.13.1 Party
Definition: | The Party entity is the object of an ODRL policy that performs (or not performs) actions or has a role in a Duty. |
---|---|
Label: | Party |
Identifier: | https://www.w3.org/ns/odrl/2/Party |
Comment: | The Party entity can be any form of identifiable entity, such as a person, group of people, organisation, or agent. An agent is a person or thing that takes an active role or produces a specified effect. To describe more details about the Party, it is recommened to use vCard [vcard-rdf] or [foaf] metadata. |
Sub-classes: | All, All2ndConnections, AllConnections, AllGroups, Group, Individual |
In range of: | assignee, assigner, function |
4.13.2 function
Definition: | Function is an abstract property whose sub-properties define the roles which may be fulfilled by a party in relation to a Rule |
---|---|
Label: | function |
Identifier: | https://www.w3.org/ns/odrl/2/function |
Sub-properties: | assignee, assigner, attributedParty, compensatedParty, consentingParty, informedParty, payeeParty, trackingParty |
Range: | Party |
Domain: | Rule |
4.14 Party Roles
4.14.1 assignee
Definition: | The Party is the recipient of the policy statement. |
---|---|
Label: | assignee |
Identifier: | https://www.w3.org/ns/odrl/2/assignee |
Comment: | Must be supported. |
Parent property: | function |
Range: | Party |
4.14.2 assigner
Definition: | The Party is the issuer of the policy statement. |
---|---|
Label: | assigner |
Identifier: | https://www.w3.org/ns/odrl/2/assigner |
Comment: | Must be supported. |
Parent property: | function |
Range: | Party |
4.14.3 attributedParty
Definition: | The Party to be attributed. |
---|---|
Label: | attributed party |
Identifier: | https://www.w3.org/ns/odrl/2/attributedParty |
Comment: | Maybe specified as part of the attribute action. |
Parent property: | function |
4.14.4 compensatedParty
Definition: | The Party is the recipient of the compensation. |
---|---|
Label: | payee party |
Identifier: | https://www.w3.org/ns/odrl/2/compensatedParty |
Comment: | Maybe specified as part of the compensate duty action. |
Parent property: | function |
Deprecates: | payeeParty |
4.14.5 consentingParty
Definition: | The Party to obtain consent from. |
---|---|
Label: | consenting party |
Identifier: | https://www.w3.org/ns/odrl/2/consentingParty |
Comment: | Maybe specified as part of the obtainConsent action. |
Parent property: | function |
4.14.6 informedParty
Definition: | The Party to be informed of all uses. |
---|---|
Label: | informed party |
Identifier: | https://www.w3.org/ns/odrl/2/informedParty |
Comment: | Maybe specified as part of the inform action. |
Parent property: | function |
4.14.7 trackingParty
Definition: | The Party is the usage tracker. |
---|---|
Label: | tracking party |
Identifier: | https://www.w3.org/ns/odrl/2/trackingParty |
Comment: | May be specified as part of the acceptTracking action. |
Parent property: | function |
4.15 Party Scopes
4.15.1 Group
Definition: | Specifies that the scope of the relationship is the defined group with multiple individual members. |
---|---|
Label: | Group |
Identifier: | https://www.w3.org/ns/odrl/2/Group |
Comment: | Must be supported. |
Parent class: | Party |
4.15.2 Individual
Definition: | Specifies that the scope of the relationship is the single Party individual. |
---|---|
Label: | Individual |
Identifier: | https://www.w3.org/ns/odrl/2/Individual |
Comment: | Must be supported. |
Parent class: | Party |
4.15.3 All
Definition: | Specifies that the scope of the relationship is all of the collective individuals within a context. |
---|---|
Label: | All |
Identifier: | https://www.w3.org/ns/odrl/2/All |
Comment: | For example, may be used to indicate all the users of a specific social network the party is a member of. Note that “group” scope is also assumed. |
Parent class: | Party |
4.15.4 AllConnections
Definition: | Specifies that the scope of the relationship is all of the first-level connections of the Party. |
---|---|
Label: | All connections |
Identifier: | https://www.w3.org/ns/odrl/2/AllConnections |
Comment: | For example, may be used to indicate all “friends” of the Party. Note that “group” scope is also assumed. |
Parent class: | Party |
4.15.5 All2ndConnections
Definition: | Specifies that the scope of the relationship is all of the second-level connections to the Party. |
---|---|
Label: | All second-level connections |
Identifier: | https://www.w3.org/ns/odrl/2/All2ndConnections |
Comment: | For example, may be used to indicate all “friends of friends” of the Party. Note that “group” scope is also assumed. |
Parent class: | Party |
4.15.6 AllGroups
Definition: | Specifies that the scope of the relationship is all of the group connections of the Party. |
---|---|
Label: | All groups |
Identifier: | https://www.w3.org/ns/odrl/2/AllGroups |
Comment: | For example, may be used to indicate all groups that the Party is a member of. Note that “group” scope is also assumed. |
Parent class: | Party |
4.16 Asset Concepts
4.16.1 Asset
Definition: | The Asset entity is the subject of an ODRL policy expression that permissions and prohibitions are applied to. |
---|---|
Label: | Asset |
Identifier: | https://www.w3.org/ns/odrl/2/Asset |
Comment: | The Asset entity can be any form of identifiable resource, such as data/information, content/media, applications, or services. Furthermore, it can be used to represent other Asset entities that are needed to undertake the Policy expression, such as with the Duty entity. To describe more details about the Asset, it is recommened to use Dublin Core [dcterms] elements or other content metadata. |
Sub-classes: | Policy |
In range of: | output, relation, target |
4.16.2 relation
Definition: | Relation is an abstract property which creates an explicit link between an Action and an Asset. |
---|---|
Label: | relation |
Identifier: | https://www.w3.org/ns/odrl/2/relation |
Comment: | Sub-properties of relation are used to define the nature of that link. |
Sub-properties: | output, target |
Range: | Asset |
Domain: | Rule |
4.17 Asset Relations
4.17.1 target
Definition: | The target property specifies the Asset upon which the Action is performed. |
---|---|
Label: | target |
Identifier: | https://www.w3.org/ns/odrl/2/target |
Comment: | Or not performed by Prohibitions. |
Parent property: | relation |
Range: | Asset |
Domain: | Rule |
4.17.2 output
Definition: | The output property specifies the Asset which is created from the output of the Action. |
---|---|
Label: | output |
Identifier: | https://www.w3.org/ns/odrl/2/output |
Parent property: | relation |
Range: | Asset |
Domain: | Rule |
All the Deprecated Terms shown below may be rendered in a single table in future versions
4.18 Deprecated Terms
4.18.1 device
Definition: | An identifiable computing system. |
---|---|
Label: | device |
Identifier: | https://www.w3.org/ns/odrl/2/device |
Parent property: | rightOperand |
Deprecated by: | systemDevice |
4.18.2 system
Definition: | An identifiable computing system. |
---|---|
Label: | system |
Identifier: | https://www.w3.org/ns/odrl/2/system |
Parent property: | rightOperand |
Deprecated by: | systemDevice |
4.18.3 proximity
Definition: | An value indicating the closeness or nearness. |
---|---|
Label: | proximity |
Identifier: | https://www.w3.org/ns/odrl/2/proximity |
Comment: | This original term and URI from the OMA specification should be used: https://www.openmobilealliance.com/oma-dd/proximity |
Parent property: | rightOperand |
Deprecated by: | https://www.openmobilealliance.com/ |
4.18.4 append
Definition: | The act of adding to the end of an asset. |
---|---|
Label: | Append |
Identifier: | https://www.w3.org/ns/odrl/2/append |
Deprecated by: | modify |
Class: | Action |
4.18.5 appendTo
Definition: | The act of appending data to the Asset without modifying the Asset in any other way |
---|---|
Label: | Append to |
Identifier: | https://www.w3.org/ns/odrl/2/appendTo |
Deprecated by: | modify |
Class: | Action |
4.18.6 copy
Definition: | The act of making an exact reproduction of the asset. |
---|---|
Label: | Copy |
Identifier: | https://www.w3.org/ns/odrl/2/copy |
Equivalent to: | reproduce |
Deprecated by: | reproduce |
Class: | Action |
4.18.7 export
Definition: | The act of transforming the asset into a new form. |
---|---|
Label: | Export |
Identifier: | https://www.w3.org/ns/odrl/2/export |
Deprecated by: | transform |
Class: | Action |
4.18.8 lease
Definition: | The act of making available the asset to a third-party for a fixed period of time with exchange of value. |
---|---|
Label: | Lease |
Identifier: | https://www.w3.org/ns/odrl/2/lease |
Class: | Action |
4.18.9 license
Definition: | The act of granting the right to use the asset to a third-party. |
---|---|
Label: | License |
Identifier: | https://www.w3.org/ns/odrl/2/license |
Deprecated by: | grantUse |
Class: | Action |
4.18.10 lend
Definition: | The act of making available the asset to a third-party for a fixed period of time without exchange of value. |
---|---|
Label: | Lend |
Identifier: | https://www.w3.org/ns/odrl/2/lend |
Class: | Action |
4.18.11 pay
Definition: | The act of paying a financial amount to a party for use of the asset. |
---|---|
Label: | Pay |
Identifier: | https://www.w3.org/ns/odrl/2/pay |
Deprecated by: | compensate |
Class: | Action |
4.18.12 payeeParty
Definition: | The Party is the recipient of the payment. |
---|---|
Label: | payee party |
Identifier: | https://www.w3.org/ns/odrl/2/payeeParty |
Parent property: | function |
Deprecated by: | compensatedParty |
4.18.13 preview
Definition: | The act of providing a short preview of the asset. |
---|---|
Label: | Preview |
Identifier: | https://www.w3.org/ns/odrl/2/preview |
Comment: | Use a time constraint with the appropriate action. |
Class: | Action |
4.18.14 secondaryUse
Definition: | The act of using the asset for a purpose other than the purpose it was intended for. |
---|---|
Label: | Secondary use |
Identifier: | https://www.w3.org/ns/odrl/2/secondaryUse |
Class: | Action |
4.18.15 write
Definition: | The act of writing to the asset. |
---|---|
Label: | Write |
Identifier: | https://www.w3.org/ns/odrl/2/write |
Deprecated by: | modify |
Class: | Action |
4.18.16 writeTo
Definition: | The act of adding data to the Asset. |
---|---|
Label: | Write to |
Identifier: | https://www.w3.org/ns/odrl/2/writeTo |
Deprecated by: | modify |
Narrower terms: | appendTo |
Class: | Action |
4.18.17 adHocShare
Definition: | The act of sharing the asset to parties in close proximity to the owner. |
---|---|
Label: | Ad-hoc sharing |
Identifier: | https://www.w3.org/ns/odrl/2/adHocShare |
Comment: | This original term and URI from the OMA specification should be used: https://www.openmobilealliance.com/oma-dd/adhoc-share |
Deprecated by: | https://www.openmobilealliance.com/ |
Class: | Action |
4.18.18 extractChar
Definition: | The act of extracting (replicating) unchanged characters from the asset. |
---|---|
Label: | Extract character |
Identifier: | https://www.w3.org/ns/odrl/2/extractChar |
Comment: | Must be supported., This original term and URI from the ONIX specification should be used: https://www.editeur.org/onix-pl/extract-char |
Deprecated by: | https://www.editeur.org/21/ONIX-PL/ |
Class: | Action |
4.18.19 extractPage
Definition: | The act of extracting (replicating) unchanged pages from the asset. |
---|---|
Label: | Extract page |
Identifier: | https://www.w3.org/ns/odrl/2/extractPage |
Comment: | This original term and URI from the ONIX specification should be used: https://www.editeur.org/onix-pl/extract-page |
Deprecated by: | https://www.editeur.org/21/ONIX-PL/ |
Class: | Action |
4.18.20 extractWord
Definition: | The act of extracting (replicating) unchanged words from the asset. |
---|---|
Label: | Extract word |
Identifier: | https://www.w3.org/ns/odrl/2/extractWord |
Comment: | This original term and URI from the ONIX specification should be used: https://www.editeur.org/onix-pl/extract-word |
Deprecated by: | https://www.editeur.org/21/ONIX-PL/ |
Class: | Action |
4.18.21 attachPolicy
Definition: | The act of keeping the policy notice with the asset. |
---|---|
Label: | Attach policy |
Identifier: | https://www.w3.org/ns/odrl/2/attachPolicy |
Deprecated by: | cc:Notice |
Class: | Action |
4.18.22 attachSource
Definition: | The act of attaching the source of the asset and its derivatives. |
---|---|
Label: | Attach source |
Identifier: | https://www.w3.org/ns/odrl/2/attachSource |
Deprecated by: | cc:SourceCode |
Class: | Action |
4.18.23 shareAlike
Definition: | The act of distributing any derivative asset under the same terms as the original asset. |
---|---|
Label: | Share-alike |
Identifier: | https://www.w3.org/ns/odrl/2/shareAlike |
Deprecated by: | cc:ShareAlike |
Class: | Action |
4.18.24 commercialize
Definition: | The act of using the asset in a business environment. |
---|---|
Label: | Commercialize |
Identifier: | https://www.w3.org/ns/odrl/2/commercialize |
Deprecated by: | cc:CommercialUse |
Class: | Action |
4.18.25 share
Definition: | The act of the non-commercial reproduction and distribution of the asset to third-parties. |
---|---|
Label: | Share |
Identifier: | https://www.w3.org/ns/odrl/2/share |
Deprecated by: | cc:Distribution |
Class: | Action |
4.18.26 timedCount
Definition: | The number of seconds after which timed metering use of the asset begins. |
---|---|
Label: | timed count |
Identifier: | https://www.w3.org/ns/odrl/2/timedCount |
Comment: | This original term and URI from the OMA specification should be used: https://www.openmobilealliance.com/oma-dd/timed-count |
Parent property: | rightOperand |
Deprecated by: | https://www.openmobilealliance.com/ |
Range: | rdfs:Literal |
4.19 Summary of Terms
This vocabulary defines 24 classes, 56 properties, one concept scheme, 61 concepts and 18 named individuals.
- Classes
- Action | Agreement | All | AllConnections | AllGroups | All2ndConnections | Asset | ConflictTerm | Constraint | Duty | Group | Individual | Offer | Operator | Party | Permission | Policy | Privacy | Prohibition | Request | Rule | Set | Ticket | UndefinedTerm
- Properties
- absolutePosition | absoluteSize | action | assignee | assigner | attributedParty | conflict | consentingParty | constraint | count | dateTime | deliveryChannel | device | duty | elapsedTime | event | fileFormat | function | industry | informedParty | inheritAllowed | inheritFrom | language | media | meteredTime | operator | output | compensatedParty | payAmount | percentage | permission | product | profile | prohibition | proximity | purpose | recipient | relation | relativePosition | relativeSize | resolution | rightOperand | spatial | status | system | systemDevice | target | timeInterval | timedCount | trackingParty | undefined | dataType | version | virtualLocation
- Concepts
- acceptTracking | adHocShare | aggregate | annotate | anonymize | append | appendTo | archive | attachPolicy | attachSource | attribute | commercialize | compensate | concurrentUse | copy | delete | derive | digitize | display | distribute | ensureExclusivity | execute | export | extract | extractChar | extractPage | extractWord | give | grantUse | include | index | inform | install | lease | lend | license | modify | move | nextPolicy | obtainConsent | pay | play | present | preview | print | read | reproduce | reviewPolicy | secondaryUse | sell | share | shareAlike | textToSpeech | transfer | transform | translate | uninstall | use | watermark | write | writeTo
- Named individuals
- eq | gt | gteq | hasPart | ignore | invalid | isA | isAllOf | isAnyOf | isNoneOf | isPartOf | lt | lteq | neq | perm | policyUsage | prohibit | support
5. Vocabulary Encodings
Add a list of all Namespace URIs used.
5.1 RDF/OWL Encoding
The complete ODRL Ontology and can be downloaded in Turtle serialisation or RDF/XML serialisation or N-Triples serialisation
5.2 XML Encoding
The ODRL statements can be encoded in XML [xml] defined by XML Schema [xmlschema11-1] and XML Datatypes [xmlschema11-2]. All of the URIs used in ODRL XML instances MUST follow those defined in the ODRL Vocabulary.
The complete ODRL XML Schema is shown in the Appendix. and can be downloaded.
To enable compact URIs, this encoding also supports the use of Qualified Names (QNames) [xml-names] for the specification of the value identifiers. In addition, Qualified Codes (QCodes) [news-ml] may also be used for vocabulary values. QCodes are similar to QNames but also allow a digit as the first character of the value.
Each of the core entities (UML Classes) from the ODRL Information Model [odrl-w3c-model] will be represented by an XML element of the same name. Additionally, each entity attribute will be represented as an XML attribute of the parent element. The fixed values defined in the Model are represented as enumerated types. Cardinalities are also represented with XML Schema occurrence rules. Attributes are optional unless explicitly noted as REQUIRED.
The Policy element contains the following attributes:
- uid – a URI/Qname/Qcode (REQUIRED)
- type – a URI/Qname/Qcode (REQUIRED)
- conflict – fixed enumeration (defined in XML Schema)
- undefined – fixed enumeration (defined in XML Schema)
- inheritAllowed – a boolean
- inheritFrom – a URI/Qname/Qcode
- inheritRelation – a URI/Qname/Qcode
- profile – a URI/Qname/Qcode
The Policy element may contain the following elements:
- permission, and/or
- prohibition
Note that under the ODRL Information Model context rules there MUST be at least one Permission in the complete ODRL Policy taking into account any Profile and Inheritance requirements.
The Asset and Relation association class are merged into a single Asset element to represent both the Asset and how it is related to the Permission/Prohibition/Duty. The Asset element contains the following attributes:
- uid – a URI/Qname/Qcode
- relation – a URI/Qname/Qcode
- id – an local identifier for this element
- idref – a reference to an Asset element
Asset element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:
- uid (REQUIRED), relation (REQUIRED), id (OPTIONAL), or
- idref (REQUIRED)
The Party and Role association class are merged into a single Party element to represent both the Party and the role to the Permission/Prohibition/Duty. The Party element contains the following attributes:
- uid – a URI/Qname/Qcode
- function – a URI/Qname/Qcode
- scope – a URI/Qname/Qcode
- id – an local identifier for this element
- idref – a reference to a Party element
Party element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:
- uid (REQUIRED), function (REQUIRED), scope (OPTIONAL), id (OPTIONAL), or
- idref (REQUIRED)
The Permission element contains the following elements:
- asset – (REQUIRED)
- action – (REQUIRED)
- constraint
- party
- duty
The Prohibition element contains the following elements:
- asset – (REQUIRED)
- action – (REQUIRED)
- constraint
- party
The Duty element contains the following elements:
- action – (REQUIRED)
- constraint
- asset
- party
The Duty element contains the following attributes:
- uid – a URI/Qname/Qcode
- id – an local identifier for this element
- idref – a reference to an Duty element
Duty element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:
- uid (OPTIONAL), or
- id (REQUIRED), or
- idref (REQUIRED)
The Action element contains the following attribute:
- name – a URI/Qname/Qcode
- id – an local identifier for this element
- idref – a reference to an Action element
Action element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:
- name (REQUIRED), id (OPTIONAL), or
- idref (REQUIRED)
The Constraint element contains the following attributes:
- name – a URI/Qname/Qcode
- operator – a URI/Qname/Qcode
- rightOperand – string, space separated list for set values
- dataType – a URI/Qname/Qcode
- unit – a URI/Qname/Qcode
- status – string
- id – an local identifier for this element
- idref – a reference to an Constraint element
Constraint element attributes MUST be used as defined by one of the sets of attributes and their cardinalities below:
- name (REQUIRED), operator (REQUIRED), rightOperand (REQUIRED), dataType (OPTIONAL), unit (OPTIONAL), status (OPTIONAL), id (OPTIONAL), or
- idref (REQUIRED)
In some cases where Duties refer to (external) Assets, it will be necessary to package the ODRL XML expression with the representation of that (external) Asset. This XML Encoding specification does not mandate any specific packaging mechanism as communities will utilise their preferred options for data interoperability.
5.2.1 XML Linking
To support repeating the same element content across Permissions and Prohibitions, the Asset, Party, Constraint, Action, and Duty elements support the xml id and idref attributes. Any of these element that has been identified using the id attribute can then be referred to by an element with the same name using the idref attribute. In this case, the referring element must have no other content.
As shown in the below example, the Prohibition refers to elements defined in the Permission, except for the Constraint element. In this case, the assignee can play the music asset in Italy but not in France.
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" type="https://www.w3.org/ns/odrl/2/Set"
uid="https://example.com/policy:Z1XZ">
<o:permission>
<o:asset id="as1" uid="https://example.com/music:1234908"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action id="ac1" name="https://www.w3.org/ns/odrl/2/play"/>
<o:constraint id="c1" name="https://www.w3.org/ns/odrl/2/spatial"
operator="https://www.w3.org/ns/odrl/2/eq"
rightOperand="https://www.itu.int/tML/tML-ISO-3166:it"/>
<o:party id="p1" uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party id= "p2" uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
</o:permission>
<o:prohibition>
<o:asset idref="as1"/>
<o:action idref="ac1"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/spatial"
operator="https://www.w3.org/ns/odrl/2/eq"
rightOperand="https://www.itu.int/tML/tML-ISO-3166:fr"/>
<o:party idref="p1"/>
<o:party idref="p2"/>
</o:prohibition>
</o:Policy>
Note that there is an important distinction when using this feature with the Duty element which also has the uid attribute. The uid attribute is used to refer to the same Duty from multiple Permissions. In this case the Duty has to be performed only once to gain access to all the Permissions. When using the id and idref attributes then the semantics change as in this case the Duty must be performed for each time it is referenced (potentially, many times). Note that the use of the uid and id attribute for the same Duty element is not permitted.
5.2.2 Inline Assets
In some scenarios, the Asset of an ODRL Policy maybe also be XML or HTML markup. In these specific cases, it makes sense to enable the ODRL Policy to be articulated as part of the Asset and to support abbreviated expressions. All default values should be assumed. The preferred method of linking is to utilise the XML ID attribute. The source Asset markup may be identified with an ID attribute and the ODRL Asset element can then refer to this ID as the UID (as a URI hash fragment). An example is shown below.
<rnews:Article xml:id="item8HEX">
<rnews:title>Allies are Split<rnews:title>
<rnews:description>Rebel fighters take control...<rnews:description>
...
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/"
type="https://www.w3.org/ns/odrl/2/Set" uid="https://example.com/policy:ABAABA">
<o:permission>
<o:asset uid="#item8HEX"/>
<o:action name="https://w3.org/ns/odrl/vocab#distribute"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/dateTime"
operator="https://www.w3.org/ns/odrl/2/gteq" rightOperand="2011-11-11"/>
</o:permission>
</o:policy>
...
</rnews:Article>
5.3 JSON Encoding
This section describes how to encode both the ODRL Model and Vocabulary, including any community developed Profiles, using the JSON syntax [rfc4627] and using a JSON Schema [json-schema].
The complete ODRL JSON Schema is shown in the Appendix. and can be downloaded.
ODRL can express complex contracts and policies which may require quite sophisticated systems to evaluate contractual permissions, restrictions and duties. However, the ODRL in JSON encoding is designed to be lightweight and requires only standard JSON software to generate or parse the representation.
In order to make the JSON encoding of ODRL as natural as possible, certain terms which are represented in the ODRL Vocabulary as values become JSON properties. For example, both assigner and assignee are Role controlled vocabulary values of Party. However, in the JSON encoding, they are expressed as fully-fledged Properties. This contrasts with the XML encoding which has a Party element and a Role attribute.
Similarly, the Asset object has a Relation controlled vocabulary with values of target and output. The JSON encoding directly represents these as first-class properties.
The ODRL Model and Vocabulary is designed in this manner, in part, to allow for extensibility. In other words, it is possible to add additional types of Party or other kinds of Asset. The JSON ODRL Encoding allows for this by using patternProperties – for example, for additional types of Party or Scope.
Unlike XML, JSON doesn’t support the concept of namespaces. This means that property values need to be expressed using globally unique identifiers, in order to be unambiguous. Therefore, one key implementation decision for ODRL in JSON is to require that terms drawn from the ODRL Vocabulary or any ODRL profile (such as RightsML [rights-ml]) must be expressed using complete URLs. (This differs from the XML encoding of ODRL, which allows various short forms of URLs to be used, like QNames [xml-names] or QCodes [news-ml]).
All of the URIs used in ODRL JSON instances MUST follow those defined in the ODRL Vocabulary. This includes URIs for policy types, actions, operators, operands, functions, scopes, conflict handling terms, and unsupported action-handling terms.
5.3.1 A Note on JSON-LD
JSON-LD [json-ld] (JSON for Linked Data) is a method to convey Linked Data using JSON. It is a W3C Recommendation and it is a JSON syntax for RDF (similar to the RDF/XML and Turtle syntaxes for RDF). If you would prefer to use JSON-LD, it is recommended that you use the ODRL Ontology and appropriate software to parse and serialize the RDF triples using JSON-LD.
6. Scenarios - Encoding Examples
This section is non-normative.
6.1 Set
The following shows an instance of a set
Policy
. The Set
shows a policy expression, stating that the Asset
http//example.com/asset:9898
is the target
of the Permission
reproduce
and the Prohibition
to modify
. No parties or other elements are involved. This set
could be used, for example, as a template or an instant license.
{
"policytype": "https://www.w3.org/ns/odrl/2/Set",
"policyid": "https://example.com/policy:0099",
"permissions": [{
"target": "https://example.com/asset:9898",
"action": "https://www.w3.org/ns/odrl/2/reproduce"
}],
"prohibitions": [{
"target": "https://example.com/asset:9898",
"action": "https://www.w3.org/ns/odrl/2/modify"
}]
}
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:0099>
a odrl:Set;
odrl:permission [
a odrl:Permission ;
odrl:target <http://example.com/asset:9898> ;
odrl:action odrl:reproduce
] ;
odrl:prohibition [
a odrl:Prohibition ;
odrl:target <http://example.com/asset:9898> ;
odrl:action odrl:modify
] .
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" type="https://www.w3.org/ns/odrl/2/Set"
uid="https://example.com/policy:0099">
<o:permission>
<o:asset uid="https://example.com/asset:9898"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/reproduce"/>
</o:permission>
<o:prohibition>
<o:asset uid="https://example.com/asset:9898"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/modify"/>
</o:prohibition>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Set rdf:about="https://example.com/policy:0099">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/reproduce"/>
<odrl:target rdf:resource="https://example.com/asset:9898"/>
</odrl:Permission>
</odrl:permission>
<odrl:prohibition>
<odrl:Prohibition>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/modify"/>
<odrl:target rdf:resource="https://example.com/asset:9898"/>
</odrl:Prohibition>
</odrl:prohibition>
</odrl:Set>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/asset:9898> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/reproduce> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Prohibition> .
_:genid2 <http://www.w3.org/ns/odrl/2/target> <http://example.com/asset:9898> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/modify> .
<http://example.com/policy:0099> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Set> .
<http://example.com/policy:0099> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/policy:0099> <http://www.w3.org/ns/odrl/2/prohibition> _:genid2 .
6.2 Offer
The following shows the instance of an offer
Policy
. The offer
contains the music file http//example.com/music:4545
that is offered by the Party
http//example.com/sony:10
with the Permission
s to play
and copy
the file. The Permission
copy
is only granted once. The two Permission
s are offered for a payment of AUD$0.50.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:0231>
a odrl:Offer ;
odrl:permission [
a odrl:Permission ;
odrl:target <http://example.com/music:4545> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:action odrl:play ;
odrl:duty _:requirements
] ;
odrl:permission [
a odrl:Permission ;
odrl:target <http://example.com/music:4545> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:action odrl:copy ;
odrl:duty _:requirements ;
odrl:constraint [
a odrl:Constraint ;
odrl:count 1 ;
odrl:operator odrl:lteq
]
] .
_:requirements
a odrl:Duty ;
odrl:action odrl:pay ;
odrl:constraint [
a odrl:Constraint ;
odrl:payAmount 50.00 ;
odrl:operator odrl:eq ;
odrl:unit <http://cvx.iptc.org/iso4217a:AUD>
] .
<http://example.com/sony:10> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" type="https://www.w3.org/ns/odrl/2/Offer"
uid="https://example.com/policy:0231">
<o:permission>
<o:asset uid="https://example.com/music:4545"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/play"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:duty uid="d1">
<o:action name="https://www.w3.org/ns/odrl/2/pay"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/payAmount"
operator="https://www.w3.org/ns/odrl/2/eq"
rightOperand="0.50" dataType="https://www.w3.org/2001/XMLSchema:decimal"
unit="https://cvx.iptc.org/iso4217a:AUD"/>
</o:duty>
</o:permission>
<o:permission>
<o:asset uid="https://example.com/music:4545"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/copy"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/count"
operator="https://www.w3.org/ns/odrl/2/lteq" rightOperand="1"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:duty uid="#d1"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Offer rdf:about="https://example.com/policy:0231">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/play"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:duty rdf:nodeID="requirements"/>
<odrl:target rdf:resource="https://example.com/music:4545"/>
</odrl:Permission>
</odrl:permission>
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/copy"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:count rdf:datatype="https://www.w3.org/2001/XMLSchema#integer">1</odrl:count>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/lteq"/>
</odrl:Constraint>
</odrl:constraint>
<odrl:duty rdf:nodeID="requirements"/>
<odrl:target rdf:resource="https://example.com/music:4545"/>
</odrl:Permission>
</odrl:permission>
</odrl:Offer>
<odrl:Party rdf:about="https://example.com/sony:10"/>
<odrl:Duty rdf:nodeID="requirements">
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/pay"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
<odrl:payAmount rdf:datatype="https://www.w3.org/2001/XMLSchema#decimal">50.00</odrl:payAmount>
<odrl:unit rdf:resource="https://cvx.iptc.org/iso4217a:AUD"/>
</odrl:Constraint>
</odrl:constraint>
</odrl:Duty>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:4545> .
_:genid1 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/play> .
_:genid1 <http://www.w3.org/ns/odrl/2/duty> _:requirements .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid2 <http://www.w3.org/ns/odrl/2/count> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:genid2 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/lteq> .
_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid3 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:4545> .
_:genid3 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid3 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/copy> .
_:genid3 <http://www.w3.org/ns/odrl/2/duty> _:requirements .
_:genid3 <http://www.w3.org/ns/odrl/2/constraint> _:genid2 .
<http://example.com/policy:0231> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Offer> .
<http://example.com/policy:0231> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/policy:0231> <http://www.w3.org/ns/odrl/2/permission> _:genid3 .
_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid4 <http://www.w3.org/ns/odrl/2/payAmount> "50.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
_:genid4 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid4 <http://www.w3.org/ns/odrl/2/unit> <http://cvx.iptc.org/iso4217a:AUD> .
_:requirements <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Duty> .
_:requirements <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/pay> .
_:requirements <http://www.w3.org/ns/odrl/2/constraint> _:genid4 .
<http://example.com/sony:10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.3 Agreement
The following shows the instance of an agreement
Policy
. The agreement
contains all entities shown in the offer
scenario above. A new Party
element http//example.com/billie:888
has been added. This Party
accepted the previous offer
and thus is now the buyer of the Permission
play
and copy
, i.e. is now linked as assignee
of the Permission
s and Duty
entities.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:9001>
a odrl:Agreement ;
odrl:permission [
a odrl:Permission ;
odrl:target <http://example.com/music:4545> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:assignee <http://example.com/billie:888> ;
odrl:action odrl:play ;
odrl:duty _:requirements
] ;
odrl:permission [
odrl:target <http://example.com/music:4545> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:assignee <http://example.com/billie:888> ;
odrl:action odrl:copy ;
odrl:duty _:requirements ;
odrl:constraint [
a odrl:Constraint ;
odrl:count 1 ;
odrl:operator odrl:lteq
]
] .
_:requirements
a odrl:Duty ;
odrl:action odrl:pay ;
odrl:constraint [
a odrl:Constraint ;
odrl:payAmount 50.00 ;
odrl:operator odrl:eq ;
odrl:unit <http://cvx.iptc.org/iso4217a:AUD>
] .
<http://example.com/sony:10> a odrl:Party .
<http://example.com/billie:888> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:9001"
type="https://www.w3.org/ns/odrl/2/Agreement">
<o:permission>
<o:asset uid="https://example.com/music:4545"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/play"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
<o:duty uid="d1">
<o:action name="https://www.w3.org/ns/odrl/2/pay"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/payAmount"
operator="https://www.w3.org/ns/odrl/2/eq" rightOperand="0.50"
dataType="https://www.w3.org/2001/XMLSchema:decimal"
unit="https://cvx.iptc.org/iso4217a:AUD"/>
</o:duty>
</o:permission>
<o:permission>
<o:asset uid="https://example.com/music:4545"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/copy"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/count"
operator="https://www.w3.org/ns/odrl/2/lteq" rightOperand="1"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
<o:duty uid="#d1"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Party rdf:about="https://example.com/billie:888"/>
<odrl:Agreement rdf:about="https://example.com/policy:9001">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/play"/>
<odrl:assignee rdf:resource="https://example.com/billie:888"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:duty rdf:nodeID="requirements"/>
<odrl:target rdf:resource="https://example.com/music:4545"/>
</odrl:Permission>
</odrl:permission>
<odrl:permission>
<rdf:Description>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/copy"/>
<odrl:assignee rdf:resource="https://example.com/billie:888"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:count rdf:datatype="https://www.w3.org/2001/XMLSchema#integer">1</odrl:count>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/lteq"/>
</odrl:Constraint>
</odrl:constraint>
<odrl:duty rdf:nodeID="requirements"/>
<odrl:target rdf:resource="https://example.com/music:4545"/>
</rdf:Description>
</odrl:permission>
</odrl:Agreement>
<odrl:Party rdf:about="https://example.com/sony:10"/>
<odrl:Duty rdf:nodeID="requirements">
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/pay"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
<odrl:payAmount rdf:datatype="https://www.w3.org/2001/XMLSchema#decimal">50.00</odrl:payAmount>
<odrl:unit rdf:resource="https://cvx.iptc.org/iso4217a:AUD"/>
</odrl:Constraint>
</odrl:constraint>
</odrl:Duty>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:4545> .
_:genid1 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid1 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/billie:888> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/play> .
_:genid1 <http://www.w3.org/ns/odrl/2/duty> _:requirements .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid2 <http://www.w3.org/ns/odrl/2/count> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
_:genid2 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/lteq> .
_:genid3 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:4545> .
_:genid3 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid3 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/billie:888> .
_:genid3 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/copy> .
_:genid3 <http://www.w3.org/ns/odrl/2/duty> _:requirements .
_:genid3 <http://www.w3.org/ns/odrl/2/constraint> _:genid2 .
<http://example.com/policy:9001> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Agreement> .
<http://example.com/policy:9001> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/policy:9001> <http://www.w3.org/ns/odrl/2/permission> _:genid3 .
_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid4 <http://www.w3.org/ns/odrl/2/payAmount> "50.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
_:genid4 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid4 <http://www.w3.org/ns/odrl/2/unit> <http://cvx.iptc.org/iso4217a:AUD> .
_:requirements <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Duty> .
_:requirements <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/pay> .
_:requirements <http://www.w3.org/ns/odrl/2/constraint> _:genid4 .
<http://example.com/sony:10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/billie:888> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.4 Request
The following shows the instance of a request
Policy
. The Party
http//example.com/guest:0589
has requested the Permission
to display
the target
Asset
http//example.com/news:0099
.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:04311>
a odrl:Request ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:display ;
odrl:assignee <http://example.com/guest:0589> ;
odrl:target <http://example.com/news:0099>
] .
<http://example.com/guest:0589> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:04311"
type="https://www.w3.org/ns/odrl/2/Request">
<o:permission>
<o:asset uid="https://example.com/news:0099"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/display"/>
<o:party uid="https://example.com/guest:0589"
function="https://www.w3.org/ns/odrl/2/assignee"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Party rdf:about="https://example.com/guest:0589"/>
<odrl:Request rdf:about="https://example.com/policy:04311">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/display"/>
<odrl:assignee rdf:resource="https://example.com/guest:0589"/>
<odrl:target rdf:resource="https://example.com/news:0099"/>
</odrl:Permission>
</odrl:permission>
</odrl:Request>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/display> .
_:genid1 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/guest:0589> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/news:0099> .
<http://example.com/policy:04311> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Request> .
<http://example.com/policy:04311> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/guest:0589> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.5 Ticket
The following shows the instance of a ticket
Policy
. The ticket
expresses the play
Permission
for the target
Asset
http//example.com/game:4589
. The Ticket
is valid until the end of the year 2010. Any valid holder of this ticket may exercise this Permission
.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/policy:0811>
a odrl:Ticket ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:play ;
odrl:target <http://example.com/game:4589> ;
odrl:constraint [
a odrl:Constraint ;
odrl:operator odrl:lteq ;
odrl:dateTime "2010-12-31"^^xsd:date
]
] .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:04311"
type="https://www.w3.org/ns/odrl/2/Ticket">
<o:permission>
<o:asset uid="https://example.com/game:4589"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/play"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/currentDate"
operator="https://www.w3.org/ns/odrl/2/lteq" rightOperand="2010-12-31"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="https://www.w3.org/2001/XMLSchema#">
<odrl:Ticket rdf:about="https://example.com/policy:0811">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/play"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:dateTime rdf:datatype="https://www.w3.org/2001/XMLSchema#date">2010-12-31</odrl:dateTime>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/lteq"/>
</odrl:Constraint>
</odrl:constraint>
<odrl:target rdf:resource="https://example.com/game:4589"/>
</odrl:Permission>
</odrl:permission>
</odrl:Ticket>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid1 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/lteq> .
_:genid1 <http://www.w3.org/ns/odrl/2/dateTime> "2010-12-31"^^<http://www.w3.org/2001/XMLSchema#date> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/play> .
_:genid2 <http://www.w3.org/ns/odrl/2/target> <http://example.com/game:4589> .
_:genid2 <http://www.w3.org/ns/odrl/2/constraint> _:genid1 .
<http://example.com/policy:0811> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Ticket> .
<http://example.com/policy:0811> <http://www.w3.org/ns/odrl/2/permission> _:genid2 .
6.6 Offer and next policy
The following shows the instance of an offer
Policy
showing the nextPolicy
structure. The party http//example.com/sony:99
assigns the Permission
distribute
directly to the potential buyer of the permission who will pay $EU1,000. The distribute
Permission
is also constrained to the country Italy. The potential assignee
may then distribute
the target
Asset
according to the nextPolicy
target
Asset
linked directly from this Duty
. In this case, the next Policy Asset
stipulates that the potential assignee
may only offer the display
Permission
to downstream consumers.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:5531>
a odrl:Offer ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:distribute ;
odrl:target <http://example.com/wallpaper:2321> ;
odrl:assigner <http://example.com/sony:99> ;
odrl:constraint [
a odrl:Constraint ;
odrl:operator odrl:eq ;
odrl:spatial <http://ontologi.es/place/IT>
] ;
odrl:duty <http://example.com/duty:01>, <https://example.com/duty:02>
] .
<http://example.com/duty:01>
a odrl:Duty ;
odrl:action odrl:pay ;
odrl:constraint [
a odrl:Constraint ;
odrl:payAmount 1000.00 ;
odrl:operator odrl:eq ;
odrl:unit <http://cvx.iptc.org/iso4217a:EUR>
] .
<http://example.com/duty:02>
a odrl:Duty ;
odrl:action odrl:nextPolicy ;
odrl:target <http://example.com/policy:7777> .
<http://example.com/policy:7777>
a odrl:Set ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:display ;
odrl:target <http://example.com/wallpaper:2321>
] .
<http://example.com/sony:99> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:5531"
type="https://www.w3.org/ns/odrl/2/Offer">
<o:permission>
<o:asset uid="https://example.com/wallpaper:2321"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/distribute"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/spatial"
operator="https://www.w3.org/ns/odrl/2/eq"
rightOperand="https://www.itu.int/tML/tML-ISO-3166:it"/>
<o:party uid="https://example.com/sony:99"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:duty uid="d1">
<o:action name="https://www.w3.org/ns/odrl/2/pay"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/payAmount"
operator="https://www.w3.org/ns/odrl/2/eq" rightOperand="1000.00"
dataType="https://www.w3.org/2001/XMLSchema:decimal"
unit="https://cvx.iptc.org/iso4217a:EUR"/>
</o:duty>
<o:duty uid="d2">
<o:action name="https://www.w3.org/ns/odrl/2/nextPolicy"/>
<o:asset uid="https://example.com/policy:7777"
relation="https://www.w3.org/ns/odrl/2/target"/>
</o:duty>
</o:permission>
</o:Policy>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:7777"
type="https://www.w3.org/ns/odrl/2/Set">
<o:permission>
<o:asset uid="https://example.com/wallpaper:2321"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/display"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Duty rdf:about="https://example.com/duty:01">
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/pay"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
<odrl:payAmount rdf:datatype="https://www.w3.org/2001/XMLSchema#decimal">1000.00</odrl:payAmount>
<odrl:unit rdf:resource="https://cvx.iptc.org/iso4217a:EUR"/>
</odrl:Constraint>
</odrl:constraint>
</odrl:Duty>
<odrl:Duty rdf:about="https://example.com/duty:02">
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/nextPolicy"/>
<odrl:target rdf:resource="https://example.com/policy:7777"/>
</odrl:Duty>
<odrl:Offer rdf:about="https://example.com/policy:5531">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/distribute"/>
<odrl:assigner rdf:resource="https://example.com/sony:99"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
<odrl:spatial rdf:resource="https://ontologi.es/place/IT"/>
</odrl:Constraint>
</odrl:constraint>
<odrl:duty rdf:resource="https://example.com/duty:01"/>
<odrl:duty rdf:resource="https://example.com/duty:02"/>
<odrl:target rdf:resource="https://example.com/wallpaper:2321"/>
</odrl:Permission>
</odrl:permission>
</odrl:Offer>
<odrl:Set rdf:about="https://example.com/policy:7777">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/display"/>
<odrl:target rdf:resource="https://example.com/wallpaper:2321"/>
</odrl:Permission>
</odrl:permission>
</odrl:Set>
<odrl:Party rdf:about="https://example.com/sony:99"/>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid1 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid1 <http://www.w3.org/ns/odrl/2/spatial> <http://ontologi.es/place/IT> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/distribute> .
_:genid2 <http://www.w3.org/ns/odrl/2/target> <http://example.com/wallpaper:2321> .
_:genid2 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:99> .
_:genid2 <http://www.w3.org/ns/odrl/2/constraint> _:genid1 .
_:genid2 <http://www.w3.org/ns/odrl/2/duty> <http://example.com/duty:01> .
_:genid2 <http://www.w3.org/ns/odrl/2/duty> <http://example.com/duty:02> .
<http://example.com/policy:5531> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Offer> .
<http://example.com/policy:5531> <http://www.w3.org/ns/odrl/2/permission> _:genid2 .
_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid3 <http://www.w3.org/ns/odrl/2/payAmount> "1000.00"^^<http://www.w3.org/2001/XMLSchema#decimal> .
_:genid3 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid3 <http://www.w3.org/ns/odrl/2/unit> <http://cvx.iptc.org/iso4217a:EUR> .
<http://example.com/duty:01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Duty> .
<http://example.com/duty:01> <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/pay> .
<http://example.com/duty:01> <http://www.w3.org/ns/odrl/2/constraint> _:genid3 .
<http://example.com/duty:02> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Duty> .
<http://example.com/duty:02> <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/nextPolicy> .
<http://example.com/duty:02> <http://www.w3.org/ns/odrl/2/target> <http://example.com/policy:7777> .
_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid4 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/display> .
_:genid4 <http://www.w3.org/ns/odrl/2/target> <http://example.com/wallpaper:2321> .
<http://example.com/policy:7777> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Set> .
<http://example.com/policy:7777> <http://www.w3.org/ns/odrl/2/permission> _:genid4 .
<http://example.com/sony:99> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.7 Privacy policy
The following shows the instance of an privacy
Policy
.
The target
Asset
is Personal Data and the assignee
is allowed to distribute
the Asset
only for the purpose
of contacting the subject of the Personal Data. The purpose value is taken from the P3P privacy purpose vocabulary.
Additionally, the assigner
(the Party
who the personal data is about) has stipulated that the assignee
must delete
the Asset
after a 30 day period (retention policy).
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix p3p: <http://www.w3.org/2002/01/p3prdfv1#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://example.com/policy:1111>
a odrl:Privacy ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:distribute ;
odrl:target <http://example.com/billie:888:personal-data> ;
odrl:assigner <http://example.com/billie:888> ;
odrl:assignee <http://example.com/gov:health:au> ;
odrl:duty [
a odrl:Duty ;
odrl:action odrl:delete ;
odrl:constraint [
a odrl:Constraint ;
odrl:operator odrl:eq ;
odrl:dateTime "P30D"^^xsd:dateTime
]
] ;
odrl:constraint [
a odrl:Constraint ;
odrl:operator odrl:eq ;
odrl:purpose p3p:contact
]
] .
<http://example.com/billie:888> a odrl:Party .
<http://example.com/gov:health:au> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:1111"
type="https://www.w3.org/ns/odrl/2/Privacy">
<o:permission>
<o:asset uid="https://example.com/billie:888:personal-data"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/distribute"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/purpose"
operator="https://www.w3.org/ns/odrl/2/eq"
rightOperand="https://www.w3.org/2002/01/P3Pv1:contact"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/gov:health:au"
function="https://www.w3.org/ns/odrl/2/assignee"/>
<o:duty>
<o:action name="https://www.w3.org/ns/odrl/2/delete"/>
<o:asset uid="https://example.com/billie:888:personal-data"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:constraint name="https://www.w3.org/ns/odrl/2/dateTime"
operator="https://www.w3.org/ns/odrl/2/eq" rightOperand="P30D"/>
</o:duty>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:p3p="https://www.w3.org/2002/01/p3prdfv1#"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="https://www.w3.org/2001/XMLSchema#">
<odrl:Party rdf:about="https://example.com/billie:888"/>
<odrl:Party rdf:about="https://example.com/gov:health:au"/>
<odrl:Privacy rdf:about="https://example.com/policy:1111">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/distribute"/>
<odrl:assignee rdf:resource="https://example.com/gov:health:au"/>
<odrl:assigner rdf:resource="https://example.com/billie:888"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
<odrl:purpose rdf:resource="https://www.w3.org/2002/01/p3prdfv1#contact"/>
</odrl:Constraint>
</odrl:constraint>
<odrl:duty>
<odrl:Duty>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/delete"/>
<odrl:constraint>
<odrl:Constraint>
<odrl:dateTime rdf:datatype="https://www.w3.org/2001/XMLSchema#dateTime">P30D</odrl:dateTime>
<odrl:operator rdf:resource="https://www.w3.org/ns/odrl/2/eq"/>
</odrl:Constraint>
</odrl:constraint>
</odrl:Duty>
</odrl:duty>
<odrl:target rdf:resource="https://example.com/billie:888:personal-data"/>
</odrl:Permission>
</odrl:permission>
</odrl:Privacy>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid1 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid1 <http://www.w3.org/ns/odrl/2/dateTime> "P30D"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Duty> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/delete> .
_:genid2 <http://www.w3.org/ns/odrl/2/constraint> _:genid1 .
_:genid3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Constraint> .
_:genid3 <http://www.w3.org/ns/odrl/2/operator> <http://www.w3.org/ns/odrl/2/eq> .
_:genid3 <http://www.w3.org/ns/odrl/2/purpose> <http://www.w3.org/2002/01/p3prdfv1#contact> .
_:genid4 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid4 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/distribute> .
_:genid4 <http://www.w3.org/ns/odrl/2/target> <http://example.com/billie:888:personal-data> .
_:genid4 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/billie:888> .
_:genid4 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/gov:health:au> .
_:genid4 <http://www.w3.org/ns/odrl/2/duty> _:genid2 .
_:genid4 <http://www.w3.org/ns/odrl/2/constraint> _:genid3 .
<http://example.com/policy:1111> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Privacy> .
<http://example.com/policy:1111> <http://www.w3.org/ns/odrl/2/permission> _:genid4 .
<http://example.com/billie:888> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/gov:health:au> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.8 Permission and prohibition
The following shows the instance of an agreement
Policy
with both a Permission
and a Prohibition
. The party http//example.com/sony:10
assigns the Permission
play
to the Party
http//example.com/billie:888
at the same time they are prohibited from utilising the target
Asset
as a mobile:ringtone
. Additionally, in case of any conflict, the conflict
attribute is set to perm
indicating that the Permission
entity will take precedence.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix mobile: <http://example.com/mobile#> .
<http://example.com/policy:3433>
a odrl:Agreement ;
odrl:conflict odrl:perm ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:play ;
odrl:assignee <http://example.com/billie:888> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:target <http://example.com/music:1234908>
] ;
odrl:prohibition [
a odrl:Prohibition ;
odrl:action mobile:ringtone ;
odrl:assignee </http://example.combillie:888> ;
odrl:assigner <http://example.com/sony:10> ;
odrl:target <http://example.com/music:1234908>
] .
<http://example.com/billie:888> a odrl:Party .
<http://example.com/sony:10> a odrl:Party .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:3433"
type="https://www.w3.org/ns/odrl/2/Agreement"
conflict="https://www.w3.org/ns/odrl/2/perm">
<o:permission>
<o:asset uid="https://example.com/music:1234908"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/play"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
</o:permission>
<o:prohibition>
<o:asset uid="https://example.com/music:1234908"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://oma.org/drm:ringtone"/>
<o:party uid="https://example.com/sony:10"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
</o:prohibition>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:mobile="https://example.com/mobile#"
xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Party rdf:about="https://example.com/billie:888"/>
<odrl:Agreement rdf:about="https://example.com/policy:3433">
<odrl:conflict rdf:resource="https://www.w3.org/ns/odrl/2/perm"/>
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/play"/>
<odrl:assignee rdf:resource="https://example.com/billie:888"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:target rdf:resource="https://example.com/music:1234908"/>
</odrl:Permission>
</odrl:permission>
<odrl:prohibition>
<odrl:Prohibition>
<odrl:action rdf:resource="https://example.com/mobile#ringtone"/>
<odrl:assignee rdf:resource="file:///https://example.combillie:888"/>
<odrl:assigner rdf:resource="https://example.com/sony:10"/>
<odrl:target rdf:resource="https://example.com/music:1234908"/>
</odrl:Prohibition>
</odrl:prohibition>
</odrl:Agreement>
<odrl:Party rdf:about="https://example.com/sony:10"/>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/play> .
_:genid1 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/billie:888> .
_:genid1 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:1234908> .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Prohibition> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://example.com/mobile#ringtone> .
_:genid2 <http://www.w3.org/ns/odrl/2/assignee> <file:///http://example.combillie:888> .
_:genid2 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/sony:10> .
_:genid2 <http://www.w3.org/ns/odrl/2/target> <http://example.com/music:1234908> .
<http://example.com/policy:3433> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Agreement> .
<http://example.com/policy:3433> <http://www.w3.org/ns/odrl/2/conflict> <http://www.w3.org/ns/odrl/2/perm> .
<http://example.com/policy:3433> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/policy:3433> <http://www.w3.org/ns/odrl/2/prohibition> _:genid2 .
<http://example.com/billie:888> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/sony:10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
6.9 Inheritance
The following shows the instance of a (child) Policy
http//example.com/policy:9999
inheriting from another (parent) Policy
http//example.com/policy:5531
. The inheritFrom
attribute of the (child) Policy
has the same identifier as the (parent) Policy
. In this inheritance example, the (parent) Policy
allows the Party
http//example.com/billie:888
to print
the (parent’s) target
Asset
. The (child) Policy
allows the Party
http//example.com/class:IT01
(a group of people) to display
the (child’s) target
Asset
. Since the (child) Policy
also inherits from the (parent) Policy
, then the Party
http//example.com/class:IT01
can also print
the (parent’s) target
Asset
.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:5531>
a odrl:Agreement ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:print ;
odrl:target <http://example.com/report:2321> ;
odrl:assigner <http://example.com/pub:88> ;
odrl:assignee <http://example.com/billie:888> ;
] .
<http://example.com/policy:9999>
a odrl:Agreement ;
odrl:inheritFrom <http://example.com/policy:5531> ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:display ;
odrl:target <http://example.com/report:2333> ;
odrl:assigner <http://example.com/pub:88> ;
odrl:assignee <http://example.com/class:IT01>
] .
<http://example.com/pub:88> a odrl:Party .
<http://example.com/billie:888> a odrl:Party .
<http://example.com/class:IT01> a odrl:Group .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:5531"
type="https://www.w3.org/ns/odrl/2/Agreement" inheritAllowed="true">
<o:permission>
<o:asset uid="https://example.com/report:2321"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/print"/>
<o:party uid="https://example.com/pub:88"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/billie:888"
function="https://www.w3.org/ns/odrl/2/assignee"/>
</o:permission>
</o:Policy>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:9999"
type="https://www.w3.org/ns/odrl/2/Agreement"
inheritFrom="https://example.com/policy:5531">
<o:permission>
<o:asset uid="https://example.com/report:2333"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/display"/>
<o:party uid="https://example.com/pub:88"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/class:IT01"
function="https://www.w3.org/ns/odrl/2/assignee"
scope="https://www.w3.org/ns/odrl/2/Group"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Party rdf:about="https://example.com/billie:888"/>
<odrl:Group rdf:about="https://example.com/class:IT01"/>
<odrl:Agreement rdf:about="https://example.com/policy:5531">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/print"/>
<odrl:assignee rdf:resource="https://example.com/billie:888"/>
<odrl:assigner rdf:resource="https://example.com/pub:88"/>
<odrl:target rdf:resource="https://example.com/report:2321"/>
</odrl:Permission>
</odrl:permission>
</odrl:Agreement>
<odrl:Agreement rdf:about="https://example.com/policy:9999">
<odrl:inheritFrom rdf:resource="https://example.com/policy:5531"/>
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/display"/>
<odrl:assignee rdf:resource="https://example.com/class:IT01"/>
<odrl:assigner rdf:resource="https://example.com/pub:88"/>
<odrl:target rdf:resource="https://example.com/report:2333"/>
</odrl:Permission>
</odrl:permission>
</odrl:Agreement>
<odrl:Party rdf:about="https://example.com/pub:88"/>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/print> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/report:2321> .
_:genid1 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/pub:88> .
_:genid1 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/billie:888> .
<http://example.com/policy:5531> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Agreement> .
<http://example.com/policy:5531> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
_:genid2 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid2 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/display> .
_:genid2 <http://www.w3.org/ns/odrl/2/target> <http://example.com/report:2333> .
_:genid2 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/pub:88> .
_:genid2 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/class:IT01> .
<http://example.com/policy:9999> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Agreement> .
<http://example.com/policy:9999> <http://www.w3.org/ns/odrl/2/inheritFrom> <http://example.com/policy:5531> .
<http://example.com/policy:9999> <http://www.w3.org/ns/odrl/2/permission> _:genid2 .
<http://example.com/pub:88> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/billie:888> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/class:IT01> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Group> .
6.10 Social network
The following shows the instance of an agreement
Policy
for a Social Network scenario.
The target
Asset
are photos posted to a Social Network site and the assigner
is the owner of the photos. The assignee
is a Party
group
and represents the football network members on the social network, who are each allowed to display
the photos.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<http://example.com/policy:5109>
a odrl:Agreement ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:display ;
odrl:target <http://example.com/myPlace:billie:photos:football2010> ;
odrl:assigner <http://example.com/myPlace:billie> ;
odrl:assignee <http://example.com/myPlace:network:football>
] .
<http://example.com/myPlace:billie> a odrl:Party .
<http://example.com/myPlace:network:football> a odrl:Group .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" uid="https://example.com/policy:5109"
type="https://www.w3.org/ns/odrl/2/Agreement">
<o:permission>
<o:asset uid="https://example.com/myPlace:billie:photos:football2010"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:action name="https://www.w3.org/ns/odrl/2/display"/>
<o:party uid="https://example.com/myPlace:billie"
function="https://www.w3.org/ns/odrl/2/assigner"/>
<o:party uid="https://example.com/myPlace:network:football"
function="https://www.w3.org/ns/odrl/2/assignee"
scope="https://www.w3.org/ns/odrl/2/Group"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#">
<odrl:Party rdf:about="https://example.com/myPlace:billie"/>
<odrl:Group rdf:about="https://example.com/myPlace:network:football"/>
<odrl:Agreement rdf:about="https://example.com/policy:5109">
<odrl:permission>
<odrl:Permission>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/display"/>
<odrl:assignee rdf:resource="https://example.com/myPlace:network:football"/>
<odrl:assigner rdf:resource="https://example.com/myPlace:billie"/>
<odrl:target rdf:resource="https://example.com/myPlace:billie:photos:football2010"/>
</odrl:Permission>
</odrl:permission>
</odrl:Agreement>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/display> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/myPlace:billie:photos:football2010> .
_:genid1 <http://www.w3.org/ns/odrl/2/assigner> <http://example.com/myPlace:billie> .
_:genid1 <http://www.w3.org/ns/odrl/2/assignee> <http://example.com/myPlace:network:football> .
<http://example.com/policy:5109> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Agreement> .
<http://example.com/policy:5109> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/myPlace:billie> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Party> .
<http://example.com/myPlace:network:football> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Group> .
6.11 Multiple assets
The following shows an instance of a set
Policy
utilising multiple Asset
entities.
The index
Permission
is granted to the target
Asset
. As well, the x:collection
Asset
specifies which database the index
outcome should be stored in.
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix x: <http://example.com/x#> .
<http://example.com/policy:881212>
a odrl:Set ;
odrl:permission [
a odrl:Permission ;
odrl:action odrl:index ;
odrl:target <http://example.com/archive/2010> ;
x:collection <http://example.com/x/database>
] .
x:collection
rdfs:subPropertyOf odrl:relation .
<?xml version="1.0" encoding="UTF-8"?>
<o:Policy xmlns:o="https://www.w3.org/ns/odrl/2/" xmlns:x="http:example.com"
type="https://www.w3.org/ns/odrl/2/Set" uid="https://example.com/policy:881212">
<o:permission>
<o:asset uid="https://example.com/archive2010"
relation="https://www.w3.org/ns/odrl/2/target"/>
<o:asset uid="https://example.com/x/database" relation="x:collection"/>
<o:action name="https://www.w3.org/ns/odrl/2/index"/>
</o:permission>
</o:Policy>
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:odrl="https://www.w3.org/ns/odrl/2/"
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="https://www.w3.org/2000/01/rdf-schema#"
xmlns:x="https://example.com/x#">
<odrl:Set rdf:about="https://example.com/policy:881212">
<odrl:permission>
<odrl:Permission>
<x:collection rdf:resource="https://example.com/x/database"/>
<odrl:action rdf:resource="https://www.w3.org/ns/odrl/2/index"/>
<odrl:target rdf:resource="https://example.com/archive/2010"/>
</odrl:Permission>
</odrl:permission>
</odrl:Set>
<rdf:Description rdf:about="https://example.com/x#collection">
<rdfs:subPropertyOf rdf:resource="https://www.w3.org/ns/odrl/2/relation"/>
</rdf:Description>
</rdf:RDF>
_:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Permission> .
_:genid1 <http://www.w3.org/ns/odrl/2/action> <http://www.w3.org/ns/odrl/2/index> .
_:genid1 <http://www.w3.org/ns/odrl/2/target> <http://example.com/archive/2010> .
_:genid1 <http://example.com/x#collection> <http://example.com/x/database> .
<http://example.com/policy:881212> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/odrl/2/Set> .
<http://example.com/policy:881212> <http://www.w3.org/ns/odrl/2/permission> _:genid1 .
<http://example.com/x#collection> <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> <http://www.w3.org/ns/odrl/2/relation> .
7. Privacy Considerations
An ODRL policy can be of type "Privacy".
Need to add this section for the W3C Horizontal Review on Privacy Considerations.
Need to address the W3C PING Privacy Questions
A. ODRL XML Schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:o="https://www.w3.org/ns/odrl/2/" version="2.2"
xmlns:xs="https://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3.org/ns/odrl/2/"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:annotation>
<xs:documentation>
This is the XML Schema for ODRL Version 2.2 Working Draft
Copyright © 2016 W3C (MIT, ERCIM, Keio, Beihang).
W3C liability, trademark and document use rules apply.
</xs:documentation>
</xs:annotation>
<xs:element name="Policy" type="o:Policy"/>
<xs:complexType name="Policy">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="o:permission" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:prohibition" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="uid" type="o:URIQnameQcode" use="required"/>
<xs:attribute name="type" type="o:URIQnameQcode" use="required"/>
<xs:attribute name="conflict" type="o:ConflictTerm"/>
<xs:attribute name="undefined" type="o:UndefinedTerm"/>
<xs:attribute name="inheritAllowed" type="xs:boolean"/>
<xs:attribute name="inheritFrom" type="o:URIQnameQcode"/>
<xs:attribute name="inheritRelation" type="o:URIQnameQcode"/>
<xs:attribute name="profile" type="o:URIQnameQcode"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
<xs:element name="permission" type="o:Permission"/>
<xs:complexType name="Permission">
<xs:sequence>
<xs:element ref="o:asset" maxOccurs="unbounded"/>
<xs:element ref="o:action" />
<xs:element ref="o:constraint" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:party" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:duty" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="prohibition" type="o:Prohibition"/>
<xs:complexType name="Prohibition">
<xs:sequence>
<xs:element ref="o:asset" maxOccurs="unbounded"/>
<xs:element ref="o:action" />
<xs:element ref="o:constraint" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:party" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="duty" type="o:Duty"/>
<xs:complexType name="Duty">
<xs:sequence>
<xs:element ref="o:action" minOccurs="0"/> <!--Required Element-->
<xs:element ref="o:asset" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:constraint" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="o:party" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="uid" type="o:URIQnameQcode"/>
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="asset" type="o:Asset"/>
<xs:complexType name="Asset">
<xs:attribute name="uid" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attribute name="relation" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="party" type="o:Party"/>
<xs:complexType name="Party">
<xs:attribute name="uid" type="o:URIQnameQcode"/> <!--Required Attribute-->
<xs:attribute name="function" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attribute name="scope" type="o:URIQnameQcode"/>
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="action" type="o:Action"/>
<xs:complexType name="Action">
<xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:element name="constraint" type="o:Constraint"/>
<xs:complexType name="Constraint">
<xs:attribute name="name" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attribute name="operator" type="o:URIQnameQcode" /> <!--Required Attribute-->
<xs:attribute name="rightOperand" type="o:listOfValues" /> <!--Required Attribute-->
<xs:attribute name="dataType" type="o:URIQnameQcode" />
<xs:attribute name="unit" type="o:URIQnameQcode" />
<xs:attribute name="status" type="xs:string" />
<xs:attributeGroup ref="o:idAttributes"/>
</xs:complexType>
<xs:simpleType name="listOfValues">
<xs:list itemType="xs:string"/>
</xs:simpleType>
<xs:simpleType name="ConflictTerm">
<xs:restriction base="xs:string">
<xs:enumeration value="https://www.w3.org/ns/odrl/2/perm"/>
<xs:enumeration value="https://www.w3.org/ns/odrl/2/prohibit"/>
<xs:enumeration value="https://www.w3.org/ns/odrl/2/invalid"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="UndefinedTerm">
<xs:restriction base="xs:string">
<xs:enumeration value="https://www.w3.org/ns/odrl/2/support"/>
<xs:enumeration value="https://www.w3.org/ns/odrl/2/ignore"/>
<xs:enumeration value="https://www.w3.org/ns/odrl/2/invalid"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="URIQnameQcode">
<xs:union memberTypes="xs:anyURI xs:QName o:QCode"/>
</xs:simpleType>
<xs:simpleType name="QCode">
<xs:restriction base="xs:string">
<xs:pattern value="[^\s:]+:[^\s]+"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="idAttributes">
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="idref" type="xs:IDREF"/>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:attributeGroup>
</xs:schema>
B. ODRL JSON Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft-04/schema#",
"title": "ODRL JSON Schema",
"description": "JSON Schema for ODRL Version 2.2 Working Draft.",
"id": "https://www.w3.org/ns/odrl/2/jsonschema#",
"definitions": {"prohibdutytype": {
"type": "array",
"items": {
"type": "object",
"required": ["action"],
"properties": {
"assigner": {
"type": "string",
"format": "uri"
},
"assignee": {
"type": "string",
"format": "uri"
},
"assignee_scope": {
"type": "string",
"format": "uri"
},
"target": {
"type": "string",
"format": "uri"
},
"output": {
"type": "string",
"format": "uri"
},
"action": {
"type": "string",
"format": "uri"
},
"constraints": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"operator",
"rightoperand"
],
"properties": {
"name": {
"type": "string",
"format": "uri"
},
"operator": {
"type": "string",
"format": "uri"
},
"rightoperand": {"type": "string"},
"rightoperanddatatype": {"type": "string"},
"rightoperandunit": {"type": "string"},
"status": {"type": "string"}
}
}
}
},
"patternProperties": {
"^[a-z]+party": {
"type": "string",
"format": "uri"
},
"^[a-z]+_scope": {
"type": "string",
"format": "uri"
}
}
}
}},
"required": [
"policyid",
"policytype"
],
"properties": {
"policyid": {
"type": "string",
"format": "uri"
},
"policytype": {
"type": "string",
"format": "uri"
},
"conflict": {
"type": "string",
"enum": [
"perm",
"prohibit",
"invalid"
]
},
"undefined": {
"type": "string",
"enum": [
"support",
"ignore",
"invalid"
]
},
"inheritallowed": {"type": "boolean"},
"inheritfrom": {
"type": "string",
"format": "uri"
},
"inheritrelation": {
"type": "string",
"format": "uri"
},
"policyprofile": {
"type": "string",
"format": "uri"
},
"permissions": {
"type": "array",
"items": {
"type": "object",
"required": ["action"],
"properties": {
"assigner": {
"type": "string",
"format": "uri"
},
"assigner_scope": {
"type": "string",
"format": "uri"
},
"assignee": {
"type": "string",
"format": "uri"
},
"assignee_scope": {
"type": "string",
"format": "uri"
},
"target": {
"type": "string",
"format": "uri"
},
"output": {
"type": "string",
"format": "uri"
},
"action": {
"type": "string",
"format": "uri"
},
"constraints": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"operator",
"rightoperand"
],
"properties": {
"name": {
"type": "string",
"format": "uri"
},
"operator": {
"type": "string",
"format": "uri"
},
"rightoperand": {"type": "string"},
"rightoperanddatatype": {"type": "string"},
"rightoperandunit": {"type": "string"},
"status": {"type": "string"}
}
}
},
"duties": {"$ref": "#/definitions/prohibdutytype"}
},
"patternProperties": {
"^[a-z]+party": {
"type": "string",
"format": "uri"
},
"^[a-z]+_scope": {
"type": "string",
"format": "uri"
}
}
}
},
"prohibitions": {"$ref": "#/definitions/prohibdutytype"}
}
}
C. Changes from the Community Group Reports
None.
D. References
D.1 Normative references
- [RFC2119]
- S. Bradner. IETF. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
- [odrl-w3c-model]
- Renato Iannella; Serena Villata. W3C Working Draft. ODRL Information Model. 21 July 2016. W3C. URL: https://www.w3.org/TR/2016/WD-odrl-model-20160721/
D.2 Informative references
- [dcterms]
- Dublin Core metadata initiative. DCMI Metadata Terms. 14 June 2012. DCMI Recommendation. URL: https://dublincore.org/documents/dcmi-terms/
- [foaf]
- Dan Brickley; Libby Miller. FOAF project. FOAF Vocabulary Specification 0.99 (Paddington Edition). 14 January 2014. URL: https://xmlns.com/foaf/spec
- [iso3166]
- ISO 3166: Codes for the representation of names of countries and their subdivisions. ISO.
- [json-ld]
- Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. JSON-LD 1.0. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/json-ld/
- [json-schema]
- K. Zyp. Internet Engineering Task Force (IETF). JSON Schema: core definitions and terminology. 31 January 2013. Internet-Draft. URL: https://tools.ietf.org/html/draft-zyp-json-schema
- [news-ml]
- International Press Telecommunications Council. IPTC. NewsML-G2 Implementation Guide. 2015. Public Release. URL: https://www.iptc.org/std/NewsML-G2/2.22/documentation/NewsML-G2-Implementation_Guide_8.0.pdf
- [odrl]
- Renato Iannella. W3C. Open Digital Rights Language (ODRL) Version 1.1. 19 September 2002. W3C Note. URL: https://www.w3.org/TR/odrl
- [odrl2-req]
- Susanne Guth; Renato Iannella. ODRL Initiative. ODRL Version 2 Requirements. 13 February 2005. Working Draft. URL: https://www.w3.org/2012/09/odrl/archive/odrl.net/2.0/v2req.html
- [odrl21-json]
- Jonas Öberg; Stuart Myles; Lu Ai. W3C. ODRL Version 2.1 JSON Encoding. 5 March 2015. W3C Community Group Final Specification. URL: https://www.w3.org/community/odrl/json/2.1/
- [odrl21-model]
- Renato Iannella; Susanne Guth; Daniel Paehler; Andreas Kasten. W3C. ODRL Version 2.1 Core Model. 5 March 2015. W3C Community Group Final Specification. URL: https://www.w3.org/community/odrl/model/2.1/
- [odrl21-onto]
- Mo McRoberts; Víctor Rodríguez Doncel. W3C. ODRL Version 2.1 Ontology. 5 March 2015. W3C Community Group Final Specification. URL: https://www.w3.org/ns/odrl/2/ODRL21
- [odrl21-vocab]
- Renato Iannella; Michael Steidl; Susanne Guth. W3C. ODRL Version 2.1 Common Vocabulary. 5 March 2015. W3C Community Group Final Specification. URL: https://www.w3.org/community/odrl/vocab/2.1/
- [odrl21-xml]
- Renato Iannella. W3C. ODRL Version 2.1 XML Encoding. 5 March 2015. W3C Community Group Final Specification. URL: https://www.w3.org/community/odrl/xml/2.1/
- [p3p]
- Massimo Marchiori. W3C. The Platform for Privacy Preferences 1.0 (P3P1.0) Specification. 16 April 2002. W3C Recommendation. URL: https://www.w3.org/TR/P3P/
- [plus]
- PLUS Coalition. PLUS. PLUS License Data Format . 2016. URL: https://www.useplus.com/useplus/license.asp
- [rfc4627]
- D. Crockford. IETF. The application/json Media Type for JavaScript Object Notation (JSON). July 2006. Informational. URL: https://tools.ietf.org/html/rfc4627
- [rights-ml]
- International Press Telecommunications Council. IPTC. RightsML. 2013. Version 1.1 Experimental Phase 2. URL: https://dev.iptc.org/RightsML
- [vcard-rdf]
- Renato Iannella; James McKinney. W3C. vCard Ontology - for describing People and Organizations. 22 May 2014. W3C Note. URL: https://www.w3.org/TR/vcard-rdf/
- [xml]
- Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau et al. W3C. Extensible Markup Language (XML) 1.0 (Fifth Edition). 26 November 2008. W3C Recommendation. URL: https://www.w3.org/TR/xml
- [xml-names]
- Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. Namespaces in XML 1.0 (Third Edition). 8 December 2009. W3C Recommendation. URL: https://www.w3.org/TR/xml-names
- [xmlschema11-1]
- Sandy Gao; Michael Sperberg-McQueen; Henry Thompson; Noah Mendelsohn; David Beech; Murray Maloney. W3C. W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures. 5 April 2012. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema11-1/
- [xmlschema11-2]
- David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. 5 April 2012. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema11-2/