Skip to content

Commit

Permalink
adding extra func:add-duration-to-dateTime built-in (obs from Wout Sl…
Browse files Browse the repository at this point in the history
…abbinck)
  • Loading branch information
josd committed Sep 14, 2023
1 parent c275e24 commit ca895f4
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 3 deletions.
1 change: 1 addition & 0 deletions RELEASE
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
EYE release

v4.16.2 (2023-09-15) adding extra func:add-duration-to-dateTime built-in (obs from Wout Slabbinck)
v4.16.1 (2023-09-14) improving || graffiti
v4.16.0 (2023-09-14) introducing graffiti terms | bnodes |
v4.15.9 (2023-09-07) fixing surface detection with regex
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.16.1
4.16.2
1 change: 1 addition & 0 deletions eye-builtins.n3
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,7 @@ func:divide-dayTimeDuration-by-dayTimeDuration a e:Builtin.
func:add-yearMonthDuration-to-dateTime a e:Builtin.
func:add-yearMonthDuration-to-date a e:Builtin.
func:add-dayTimeDuration-to-dateTime a e:Builtin.
func:add-duration-to-dateTime a e:Builtin.
func:add-dayTimeDuration-to-date a e:Builtin.
func:add-dayTimeDuration-to-time a e:Builtin.
func:subtract-yearMonthDuration-from-dateTime a e:Builtin.
Expand Down
34 changes: 33 additions & 1 deletion eye.pl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
:- use_module(library(pcre)).
:- catch(use_module(library(http/http_open)), _, true).

version_info('EYE v4.16.1 (2023-09-14)').
version_info('EYE v4.16.2 (2023-09-15)').

license_info('MIT License

Expand Down Expand Up @@ -9397,6 +9397,38 @@
)
).

% extra func:add-duration-to-dateTime
'<http://www.w3.org/2007/rif-builtin-function#add-duration-to-dateTime>'([literal(A, type('<http://www.w3.org/2001/XMLSchema#dateTime>')), literal(B, type('<http://www.w3.org/2001/XMLSchema#duration>'))], literal(C, type('<http://www.w3.org/2001/XMLSchema#dateTime>'))) :-
\+flag(restricted),
when(
( ground([A, B])
),
( atom_codes(A, U),
atom_codes(B, V),
datetime(D, E, F, G, H, I, J, U, []),
yearmonthduration(K, V, V2),
L is E+K-1,
Q is D+integer(floor(L/12)),
R is L-integer(floor(L/12))*12+1,
memotime(datime(Q, R, F, G, H, 0), M),
memotime(datime(1971, 1, 1, 0, 0, 0), N),
O is M+I+31536000-N-J,
daytimeduration(K2, [0'P|V2], []),
L2 is I+K2,
O2 is O+L2+31536000-N-J,
( ground(C)
-> atom_codes(C, W),
datetime(P, W, []),
O2 =:= P
; Offset is -J,
stamp_date_time(O2, date(Year, Month, Day, Hour, Minute, Second, _, _, _), Offset),
fmsec(0, Second, Sec),
datetime(Year, Month, Day, Hour, Minute, Sec, Offset, S),
atom_codes(C, S)
)
)
).

% 4.8.1.38 func:add-dayTimeDuration-to-date

'<http://www.w3.org/2007/rif-builtin-function#add-dayTimeDuration-to-date>'([literal(A, type('<http://www.w3.org/2001/XMLSchema#date>')), literal(B, type('<http://www.w3.org/2001/XMLSchema#dayTimeDuration>'))], literal(C, type('<http://www.w3.org/2001/XMLSchema#date>'))) :-
Expand Down
Binary file modified eye.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion logic/version.n3s.out
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@prefix log: <http://www.w3.org/2000/10/swap/log#>.

() log:version "EYE v4.16.1 (2023-09-14)".
() log:version "EYE v4.16.2 (2023-09-15)".

0 comments on commit ca895f4

Please sign in to comment.