This document presents a model for describing the ways the rights and obligation conrtolling the use of an asset change over time.

Introduction

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:

Support audits

The model must support an account of history that both the data Provider and the data Consumer can agree upon through the audit process.

Ensure compliance as policies update

The model must continue to support provably-correct compliance decisions in the present as policies change and update over time.

Enable forecasting

The model must support an account of the future so actors in the supply chain can predict their capabilities and costs as and when updates are published.

The introduction of a temporal object to act as a container for the various versions of a relevant entity (like a Permission) allows us to satisfy these use cases while maintaining a stable identifier for these entities across time.

Document Conventions

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#

Temporal Objects

Temporal objects exist in time describing versions of themselves as they change. We're interested in tracking Policies, Rules, and Assets.

Temporal Object

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

Temporal Policy

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:Temporal Object

Temporal Agreement

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:Temporal Policy

The Temporal Agreement below offers one (temporal) permission prior to the first of January 2020 and two permissions hasBeginning.

					[]      a                       tpl:TemporalAgreement ;
					        tpl:version            :T1-V1 , :T1-V2 . 
					
:T1-V1 a odrl:Agreement ; tpl:effectiveInterval [ a time:ProperInterval ; time:hasEnd [ a time:Instant ; time:inXSDDate "2020-01-01T00:00:00Z"^^xsd:dateTime ] ; ] ; tpl:temporalPermission :P1 .
:T1-V2 a odrl:Agreement ; tpl:effectiveInterval [ a time:ProperInterval ; time:hasBeginning [ a time:Instant ; time:inXSDDate "2020-01-01T00:00:00Z"^^xsd:dateTime ] ; ] ; tpl:temporalPermission :P1 , :P2 .

Temporal Offer

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:Temporal Policy

Temporal Set

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:Temporal Policy

Temporal Rule

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

Temporal Permission

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:Temporal Rule

Temporal Prohibition

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:Temporal Rule

The Temporal Permission below offers both display and distrubute actions until 2020, but only a display action hasBeginningwards.

						[]      a                       tpl:TemporalPermission ;
						        tpl:version            :P1-V1 , :P1-V2 . 
						
:P1-V1 a odrl:Permission ; tpl:effectiveInterval [ a time:ProperInterval ; time:hasEnd [ a time:Instant ; time:inXSDDate "2020-01-01T00:00:00Z"^^xsd:dateTime ] ; ] ; odrl:action odrl:Display , odrl:Distribute ; ...
:P1-V2 a odrl:Permission ; tpl:effectiveInterval [ a time:ProperInterval ; time:hasBeginning [ a time:Instant ; time:inXSDDate "2020-01-01T00:00:00Z"^^xsd:dateTime ] ; ] ; ... odrl:action odrl:Display ; ...

Temporal Duty

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:Temporal Rule

Temporal Asset

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:Temporal Object

Properties Of Temporal Objects

A Temporal Objects use the version property to track its iterations through time.

version

Definition:A property that points from a temporal object to its time-limited versions.
Label:has version
Identifier:http://www.w3.org/ns/odrl/2/temporal/version
Domain:Temporal Object
Range:Policy, Rule, Asset

Properties Of Policies, Rules, and Assets

...

effective date

Definition:A property that specifies the intervel during which the temporal object is effective.
Label:has effective date
Identifier:http://www.w3.org/ns/odrl/2/temporal/effectiveInterval
Domain:Policy, Rule, Asset
Range:Proper Interval

has temporal permission

Definition:Links a Policy to a Temporal Permission
Label:has temporal permission
Identifier:http://www.w3.org/ns/odrl/2/temporal/temporalPermission
Domain:Policy
Range:Temporal Permission

has temporal duty

Definition:Links a Policy or Rule to a Temporal Duty.
Label:has temporal duty
Identifier:http://www.w3.org/ns/odrl/2/temporal/temporalDuty
Domain:Policy, Rule
Range:Temporal Duty

has temporal prohibition

Definition:Links a Policy or Rule to a Temporal Prohibition.
Label:has temporal prohibition
Identifier:http://www.w3.org/ns/odrl/2/temporal/temporalProhibition
Domain:Policy, Rule
Range:Temporal Duty

has temporal target

Definition:Links a Rule to a Temporal Asset.
Label:has temporal target
Identifier:http://www.w3.org/ns/odrl/2/temporal/temporalTarget
Domain:Rule
Range:Temporal Asset