replaced orignal backwards arrowrule with new rule

This commit is contained in:
Elias Papanikitas
2024-01-18 14:59:14 +01:00
parent 8b001b93c8
commit e414a9e086
2 changed files with 57 additions and 24 deletions

View File

@@ -67,6 +67,35 @@ PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
?s persoon:gebruikteVoornaam ?o
}.
# Test
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:bindingeinde ?eindeDate.
# use backward arrow rule defined below
?eindeDate :dateTimeFromDate ?eindeDateTime.
{
?s mandaat:bindingeinde ?eindeDate
} e:becomes {
?s mandaat:bindingeinde ?eindeDateTime
}.
} => {
?s mandaat:bindingeinde ?eindeDateTime
}.
{
?s mandaat:bindingstart ?startDate.
# use backward arrow rule defined below
?startDate :dateTimeFromDate ?startDateTime.
{
?s mandaat:bindingstart ?startDate
} e:becomes {
?s mandaat:bindingstart ?startDateTime
}.
} => {
?s mandaat:bindingstart ?startDateTime
}.
{
?s ch:startdatum ?startDate.
# use backward arrow rule defined below
@@ -119,17 +148,7 @@ PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
{
?dateTime :dateFromDateTime ?date
} <= {
(?dateTimeLiteral xsd:dateTime) log:dtlit ?dateTime.
(?dateTime "PT2H"^^xsd:dayTimeDuration) func:add-dayTimeDuration-to-dateTime ?localDateTime.
(?localDateTimeLiteral xsd:dateTime) log:dtlit ?localDateTime.
(?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 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
}.

View File

@@ -68,6 +68,32 @@ PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
# Test
# ex:s <http://data.vlaanderen.be/ns/mandaat#einde> "2019-02-01T10:32:52+00:00"^^xsd:dateTime.
{
?s mandaat:bindingeinde ?eindeDate.
# use backward arrow rule defined below
?eindeDate :dateTimeFromDate ?eindeDateTime.
{
?s mandaat:bindingeinde ?eindeDate
} e:becomes {
?s mandaat:bindingeinde ?eindeDateTime
}.
} => {
?s mandaat:bindingeinde ?eindeDateTime
}.
{
?s mandaat:bindingstart ?startDate.
# use backward arrow rule defined below
?startDate :dateTimeFromDate ?startDateTime.
{
?s mandaat:bindingstart ?startDate
} e:becomes {
?s mandaat:bindingstart ?startDateTime
}.
} => {
?s mandaat:bindingstart ?startDateTime
}.
{
?s ch:startdatum ?startDate.
@@ -107,25 +133,13 @@ PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
# So, the following rule adds 2 hours to the datetime, and then takes the date part of the UTC date time
# to come to the date that the DL user selected (in CE(S)T)
{
?dateTime :dateFromDateTime ?date
} <= {
(?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
?dateTime :dateTimeFromDate ?date
} <= {
?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 <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>.
{
{