- From: Renato Iannella <r@iannel.la>
- Date: Fri, 16 Apr 2021 23:20:11 +1000
- To: "public-odrl@w3.org" <public-odrl@w3.org>
- Message-Id: <E7858EDF-8A11-457C-AFE8-C75DFBAED2DA@iannel.la>
Another approach maybe to define an event (in your Profile) for the "first publication of the article” (since the objective is an instant licence).
Then this can be combined with a logical constraint (andSequence to enforce the order) and followed by a 12 month delay.
"permission": [{
"action": "distribute",
"constraint": {
"andSequence": {
"@list": [
{ "leftOperand": "event",
"operator": "eq",
"rightOperand": { "@id": "asf:firstPublication" } },
{ "leftOperand": "delayPeriod",
"operator": “gteq",
"rightOperand": { "@value": "P12M", "@type": "xsd:duration" } } ]
}
}
}]
Cheers - Renato
> On 14 Apr 2021, at 03:39, Benedict Whittam Smith <ben@deonticdata.com> wrote:
>
> Hi Vincent,
>
> I’ve been working on an ODRL profile for market data. In that domain, timeliness of delivery is critical and embargoes common.
>
> I use the OWL time ontology and the timelinessOfDelivery constraint (defined in the profile here: https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#timeliness-of-delivery <https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#timeliness-of-delivery>) to specify embargoes.
>
> The following describes “end-of-day” data – data embargoed until market close (10:30pm CET):
>
> {
> "@graph": [{
> "@id": "cmere:S1-R1",
> "@type": ["dcat:Dataset", "md:Resource"],
> "contentNature": "rbim:staticEOD",
> "description": "End-of-day Eurodollar Futures Contract embargoed until 10:30pm CET",
> "title": "End-of-day Eurodollar Futures Contract traded on Globex",
> "timelinessOfDelivery": {
> "@type": ["md:Embargo", "time:ProperInterval"],
> "description": "End-of-day",
> "after": {
> "@type": ["time:Instant", “md:MarketClose”],
> "inDateTime": {
> "@type": "time::DateTimeDescription",
> "description": "10:30pm CET",
> "timeZone": "https://www.wikidata.org/wiki/Q2086913 <https://www.wikidata.org/wiki/Q2086913>",
> "hour": "22",
> "minutes": "30"
> }
> }
> }
> }],
> "@context": {
> "inDateTime": {
> "@id": "http://www.w3.org/2006/time#inDateTime <http://www.w3.org/2006/time#inDateTime>",
> "@type": "@id"
> },
> "timelinessOfDelivery": {
> "@id": "http://www.w3.org/md-odrl-profile/timelinessOfDelivery <http://www.w3.org/md-odrl-profile/timelinessOfDelivery>",
> "@type": "@id"
> },
> "contentNature": {
> "@id": "http://example.org/refinitiv/rbim/contentNature <http://example.org/refinitiv/rbim/contentNature>",
> "@type": "@id"
> },
> "description": "http://purl.org/dc/terms/description <http://purl.org/dc/terms/description>",
> "title": "http://purl.org/dc/terms/title <http://purl.org/dc/terms/title>",
> "after": {
> "@id": "http://www.w3.org/2006/time#after <http://www.w3.org/2006/time#after>",
> "@type": "@id"
> },
> "timeZone": {
> "@id": "http://www.w3.org/2006/time#:timeZone <http://www.w3.org/2006/time#:timeZone>",
> "@type": "@id"
> },
> "minutes": {
> "@id": "http://www.w3.org/2006/time#minutes <http://www.w3.org/2006/time#minutes>",
> "@type": "http://www.w3.org/2001/XMLSchema#int <http://www.w3.org/2001/XMLSchema#int>"
> },
> "hour": {
> "@id": "http://www.w3.org/2006/time#hour <http://www.w3.org/2006/time#hour>",
> "@type": "http://www.w3.org/2001/XMLSchema#int <http://www.w3.org/2001/XMLSchema#int>"
> }
> }
> }
>
> I’ve applied some syntactic sugar to the constraint syntax, but timelinessOfDelivery is the left operand and interval defined by the time:after property is the right operand.
>
> Ben
Received on Friday, 16 April 2021 13:20:40 UTC