This working draft is being actively developed. The model presented for temporal conditions may be used for ODRL Policies. Feedback from the community is welcome.
This document presents a ODRL profile for describing the ways the core entities defined in the ODRL Information Model change over time.
It does so by extending the ODRL and Provenance, Authoring and Versioning (PAV) ontologies by adding two new concepts:
This model provides temporal objects for ODRL Policies, Rules, and Assets, allowing them to be tracked over time under a stable identifier.
So, the changes in an entity over time are captured by versioning the temporal object and specifying the effective intervals of these versions. Using these extensions, we can describe how an entity as it is now, once was, and will be.
Leaving the temporal object to take the temporal strain, the versions are simple ODRL entities but with effective from and/or effective to values.
The profile also provides temporal analogues of ODRL's permission, prohibition, and duty properties pointing not to the ODRL entities themselves but to their temporal objects.
Things change. The rights and obligations controlling the use of data develop as time passes. By providing a temporal model for ODRL, we can ensure that parties in a supply chain share the same view of the past, the present, and the future.
Such a model enables us, for example, to:
The introduction of a temporal object to act as a light-weight container for the various versions of a relevant entity allows us to satisfy these use cases while maintaining a stable identifier for these entities across time.
For example, we might not want to mint a new permission with a new identifier every time the permission's price changes, especially if that identifier is stored in multiple systems. Instead, we store the temporal permission ID and version it - or, more likely in this case, version the payment duty to which it points.
Temporal objects exist through time describing versions of themselves as they change. We're interested in tracking Policies, Rules, and Assets.
The only property that a temporal object is required to provide is the has version property from the Provenance, Authoring and Versioning ontology (PAV). The use of further terms from the PAV ontology is optional.
Definition: | Something that exists in time and is versioned over time as it changes. |
---|---|
Label: | Temporal Object |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalObject |
Sub-class Of: | prov:Entity |
Each type of ODRL Policy - Agreement, Offer, and Set - has an associated temporal object.
Definition: | An enduring container for the various iterations of a Policy through time. |
---|---|
Label: | Temporal Policy |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalPolicy |
Sub-class Of: | tpl:TemporalObject |
Definition: | An enduring container for the various iterations of an Agreement through time. |
---|---|
Label: | Temporal Agreement |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalAgreement |
Sub-class Of: | tpl:TemporalPolicy |
The Temporal Agreement below offers one (temporal) permission prior to the first of January 2020; then two until January 2024; and then three permissions.
:T1 a tpl:TemporalAgreement ; pav:hasVersion :T1-V1 , :T1-V2 , :T1-V3 .
:T1-V1 a odrl:Agreement ; tpl:effectiveTo "2020-01-01T00:00:00Z"^^xsd:dateTime tpl:permission :T-P1 .
:T1-V2 a odrl:Agreement ; tpl:effectiveFrom "2020-01-01T00:00:00Z"^^xsd:dateTime tpl:effectiveTo "2024-01-01T00:00:00Z"^^xsd:dateTime tpl:permission :T-P1 , :T-P2 .
:T1-V3 a odrl:Agreement ; tpl:effectiveFrom "2024-01-01T00:00:00Z"^^xsd:dateTime tpl:permission :T-P1 , :T-P2 , :T-P3 .
Definition: | An enduring container for the various iterations of an Offer through time. |
---|---|
Label: | Temporal Offer |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalOffer |
Sub-class Of: | tpl:TemporalPolicy |
Definition: | An enduring container for the various iterations of a Set through time. |
---|---|
Label: | Temporal Set |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalSet |
Sub-class Of: | tpl:TemporalPolicy |
Each type of ODRL rule - Permission, Prohibition, and Duty - has an associated temporal object.
Definition: | An abstract concept that represents the common characteristics of Temporal Permissions, Temporal Prohibitions, and Temporal Duties. |
---|---|
Label: | Temporal Rule |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalRule |
Sub-class Of: | tpl:TemporalObject |
Definition: | An enduring container for the various iterations of a Permission through time. |
---|---|
Label: | Temporal Permission |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalPermission |
Sub-class Of: | tpl:TemporalRule |
The Temporal Permission below offers both display and distrubute actions until 2020 but only a display action afterwards.
:TP-1 a tpl:TemporalPermission ; tpl:version :P1-V1 , :P1-V2 .
:P1-V1 a odrl:Permission ; tpl:effectiveTo "2020-01-01T00:00:00Z"^^xsd:dateTime ... odrl:action odrl:display , odrl:distribute ; ...
:P1-V2 a odrl:Permission ; tpl:effectiveFrom "2020-01-01T00:00:00Z"^^xsd:dateTime ... odrl:action odrl:display ; ...
Definition: | An enduring container for the various iterations of a Prohibition through time. |
---|---|
Label: | Temporal Prohibition |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalProhibition |
Sub-class Of: | tpl:TemporalRule |
Definition: | An enduring container for the various iterations of a Duty through time. |
---|---|
Label: | Temporal Duty |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalDuty |
Sub-class Of: | tpl:TemporalRule |
Assets too have an associated temporal object that allows us to track their evolution over time.
Definition: | An enduring container for the various iterations of an Asset through time. |
---|---|
Label: | Temporal Asset |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/TemporalAsset |
Sub-class Of: | tpl:TemporalObject |
The following properties are additional properties of the versions describing the ODRL entities themselves.
By specifying effective from and/or effective to instants, we can express a version's window of validity.
Definition: | The instant from which the version is valid |
---|---|
Label: | is effective from |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/effectiveFrom |
Domain: | odrl:Policy, odrl:Rule, odrl:Asset |
Range: | xsd:DateTime |
Definition: | The instant at which the version ceases to be valid |
---|---|
Label: | is effective to |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/effectiveTo |
Domain: | odrl:Policy, odrl:Rule, odrl:Asset |
Range: | xsd:DateTime |
In this temporal model, when ODRL entities reference other ODRL entities, they do so by pointing to their temporal objects.
Definition: | Links a Policy to a Temporal Permission |
---|---|
Label: | has temporal permission |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/permission |
Domain: | Policy |
Range: | Temporal Permission |
Definition: | Links a Policy or Rule to a Temporal Duty. |
---|---|
Label: | has temporal duty |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/duty |
Domain: | Policy, Rule |
Range: | Temporal Duty |
Definition: | Links a Policy or Rule to a Temporal Prohibition. |
---|---|
Label: | has temporal prohibition |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/prohibition |
Domain: | Policy, Rule |
Range: | Temporal Duty |
Definition: | Links a Rule to a Temporal Asset. |
---|---|
Label: | has temporal target |
Identifier: | http://www.w3.org/ns/odrl/2/temporal/target |
Domain: | Rule |
Range: | Temporal Asset |
Prefix | Namespace | Description |
---|---|---|
odrl | http://www.w3.org/ns/odrl/2/ | [[odrl-vocab]] [[odrl-model]] |
rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# | [[rdf11-concepts]] |
rdfs | http://www.w3.org/2000/01/rdf-schema# | [[rdf-schema]] |
owl | http://www.w3.org/2002/07/owl# | [[owl2-overview]] |
xsd | http://www.w3.org/2001/XMLSchema# | [[xmlschema11-2]] |
skos | http://www.w3.org/2004/02/skos/core# | [[skos-reference]] |
dcterms | http://purl.org/dc/terms/ | [[dcterms]] |
vcard | http://www.w3.org/2006/vcard/ns# | [[vcard-rdf]] |
foaf | http://xmlns.com/foaf/0.1/ | [[foaf]] |
schema | http://schema.org/ | schema.org |
cc | https://creativecommons.org/ns# | creativecommons.org |
ex | http://example.com/ns# |