diff --git a/config/migrations/2023/20231205094322-mandaat-date-to-datetime.sparql b/config/migrations/2023/20231205094322-mandaat-date-to-datetime.sparql deleted file mode 100644 index 0db4d31..0000000 --- a/config/migrations/2023/20231205094322-mandaat-date-to-datetime.sparql +++ /dev/null @@ -1,110 +0,0 @@ -PREFIX mandaat: -PREFIX ch: -PREFIX ere: -PREFIX xsd: -DELETE { - GRAPH ?g { - ?s mandaat:start ?o . - } -} -INSERT { - GRAPH ?g { - ?s mandaat:start ?converteddate . - } -} -WHERE { - GRAPH ?g { - ?s mandaat:start ?o . - } - VALUES ?g { - - - } - BIND(xsd:dateTime(?o) AS ?converteddate). -} -; -DELETE { - GRAPH ?g { - ?s mandaat:einde ?o . - } - } - INSERT { - GRAPH ?g { - ?s mandaat:einde ?converteddate . - } - } - WHERE { - GRAPH ?g { - ?s mandaat:einde ?o . - } - VALUES ?g { - - - } - BIND(xsd:dateTime(?o) AS ?converteddate). - } - -; -DELETE { - GRAPH ?g { - ?s ch:startdatum ?o . - } -} -INSERT { - GRAPH ?g { - ?s ch:startdatum ?converteddate . - } -} -WHERE { - GRAPH ?g { - ?s ch:startdatum ?o . - } - VALUES ?g { - - - } - BIND(xsd:dateTime(?o) AS ?converteddate). -} -; -DELETE { - GRAPH ?g { - ?s ch:eindedatum ?o . - } - } - INSERT { - GRAPH ?g { - ?s ch:eindedatum ?converteddate . - } - } - WHERE { - GRAPH ?g { - ?s ch:eindedatum ?o . - } - VALUES ?g { - - - } - BIND(xsd:dateTime(?o) AS ?converteddate). - } -; - DELETE { - GRAPH ?g { - ?s ere:geplandeEinddatumAanstelling ?o . - } - } - INSERT { - GRAPH ?g { - ?s ere:geplandeEinddatumAanstelling ?converteddate . - } - } - WHERE { - GRAPH ?g { - ?s ere:geplandeEinddatumAanstelling ?o . - } - VALUES ?g { - - - } - BIND(xsd:dateTime(?o) AS ?converteddate). - } - ; \ No newline at end of file diff --git a/config/migrations/2023/20231205094320-mandaat-date-to-datetime.sparql b/config/migrations/2023/20231205094323-mandaat-date-to-datetime.sparql similarity index 100% rename from config/migrations/2023/20231205094320-mandaat-date-to-datetime.sparql rename to config/migrations/2023/20231205094323-mandaat-date-to-datetime.sparql diff --git a/config/reasoner/dl2op/main-info/mapping.n3 b/config/reasoner/dl2op/main-info/mapping.n3 index 4d7158b..201724c 100644 --- a/config/reasoner/dl2op/main-info/mapping.n3 +++ b/config/reasoner/dl2op/main-info/mapping.n3 @@ -68,6 +68,84 @@ PREFIX ere: }. # Test +# ex:s "2019-02-01T10:32:52+00:00"^^xsd:dateTime. +{ + ?s mandaat:einde ?eindeDateTime. + # use backward arrow rule defined below + ?eindeDateTime :dateFromDateTime ?eindeDate. + { + ?s mandaat:einde ?eindeDateTime + } e:becomes { + ?s mandaat:einde ?eindeDate + }. +} => { + ?s mandaat:einde ?eindeDate +}. + +{ + ?s mandaat:bindingStart ?bindingStartDateTime. + # use backward arrow rule defined below + ?bindingStartDateTime :dateFromDateTime ?bindingStartDate. + { + ?s mandaat:bindingStart ?bindingStartDateTime + } e:becomes { + ?s mandaat:bindingStart ?bindingStartDate + }. +} => { + ?s mandaat:bindingStart ?bindingStartDate +}. + +{ + ?s mandaat:bindingEinde ?bindingEindeDateTime. + # use backward arrow rule defined below + ?bindingEindeDateTime :dateFromDateTime ?bindingEindeDate. + { + ?s mandaat:bindingEinde ?bindingEindeDateTime + } e:becomes { + ?s mandaat:bindingEinde ?bindingEindeDate + }. +} => { + ?s mandaat:bindingEinde ?bindingEindeDate +}. + +{ + ?s ch:startdatum ?startDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ch:startdatum ?startDate + } e:becomes { + ?s ch:startdatum ?startDateTime + }. +} => { + ?s ch:startdatum ?startDateTime +}. + +{ + ?s ch:eindedatum ?startDDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ch:eindedatum ?startDate + } e:becomes { + ?s ch:eindedatum ?startDateTime + }. +} => { + ?s ch:eindedatum ?startDateTime +}. + +{ + ?s ere:geplandeEinddatumAanstelling ?startDDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ere:geplandeEinddatumAanstelling ?startDate + } e:becomes { + ?s ere:geplandeEinddatumAanstelling ?startDateTime + }. +} => { + ?s ere:geplandeEinddatumAanstelling ?startDateTime +}. # Backward arrow rule is like a function call. # Removes time info in the returned date @@ -85,10 +163,19 @@ PREFIX ere: (?dateTimeLiteral xsd:dateTime) log:dtlit ?dateTime. (?dateTime "PT2H"^^xsd:dayTimeDuration) func:add-dayTimeDuration-to-dateTime ?localDateTime. (?localDateTimeLiteral xsd:dateTime) log:dtlit ?localDateTime. - (?localDateTimeLiteral 0 11) func:substring ?dateLiteral. (?dateLiteral xsd:date) log:dtlit ?date. }. +#backwards arrow rule for converting date to datetime +{ + ?date :dateTimeFromDate ?dateTime +} <= { + ?date string:notMatches """^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}).*""" . + (?date "T00:00:00") string:concatenation ?datePlusTime. + (?datePlusTime xsd:dateTime) log:dtlit ?dateTime +}. + + # ex:orgA besluit:classificatie . { diff --git a/config/reasoner/dl2op/main/mapping.n3 b/config/reasoner/dl2op/main/mapping.n3 index f280bf8..2b506ca 100644 --- a/config/reasoner/dl2op/main/mapping.n3 +++ b/config/reasoner/dl2op/main/mapping.n3 @@ -67,6 +67,85 @@ PREFIX lblodlg: }. # Test +# ex:s "2019-02-01T10:32:52+00:00"^^xsd:dateTime. +{ + ?s mandaat:einde ?eindeDateTime. + # use backward arrow rule defined below + ?eindeDateTime :dateFromDateTime ?eindeDate. + { + ?s mandaat:einde ?eindeDateTime + } e:becomes { + ?s mandaat:einde ?eindeDate + }. +} => { + ?s mandaat:einde ?eindeDate +}. + +{ + ?s mandaat:bindingStart ?bindingStartDateTime. + # use backward arrow rule defined below + ?bindingStartDateTime :dateFromDateTime ?bindingStartDate. + { + ?s mandaat:bindingStart ?bindingStartDateTime + } e:becomes { + ?s mandaat:bindingStart ?bindingStartDate + }. +} => { + ?s mandaat:bindingStart ?bindingStartDate +}. + +{ + ?s mandaat:bindingEinde ?bindingEindeDateTime. + # use backward arrow rule defined below + ?bindingEindeDateTime :dateFromDateTime ?bindingEindeDate. + { + ?s mandaat:bindingEinde ?bindingEindeDateTime + } e:becomes { + ?s mandaat:bindingEinde ?bindingEindeDate + }. +} => { + ?s mandaat:bindingEinde ?bindingEindeDate +}. + +{ + ?s ch:startdatum ?startDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ch:startdatum ?startDate + } e:becomes { + ?s ch:startdatum ?startDateTime + }. +} => { + ?s ch:startdatum ?startDateTime +}. + +{ + ?s ch:eindedatum ?startDDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ch:eindedatum ?startDate + } e:becomes { + ?s ch:eindedatum ?startDateTime + }. +} => { + ?s ch:eindedatum ?startDateTime +}. + +{ + ?s ere:geplandeEinddatumAanstelling ?startDDate. + # use backward arrow rule defined below + ?startDate :dateFromDateTime ?startDateTime. + { + ?s ere:geplandeEinddatumAanstelling ?startDate + } e:becomes { + ?s ere:geplandeEinddatumAanstelling ?startDateTime + }. +} => { + ?s ere:geplandeEinddatumAanstelling ?startDateTime +}. + # Backward arrow rule is like a function call. # Removes time info in the returned date @@ -88,6 +167,15 @@ PREFIX lblodlg: (?dateLiteral xsd:date) log:dtlit ?date. }. +#backwards arrow rule for converting date to datetime +{ + ?date :dateTimeFromDate ?dateTime +} <= { + ?date string:notMatches """^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}).*""" . + (?date "T00:00:00") string:concatenation ?datePlusTime. + (?datePlusTime xsd:dateTime) log:dtlit ?dateTime +}. + # ex:orgA besluit:classificatie . {