- 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