@@ -5,8 +5,8 @@ strings("Hello", "World").
5
5
doubles(2.0E0, 1.5E0, 0.5E0).
6
6
integers(1, 2, 3).
7
7
tagged("test"@en).
8
- iri (constant).
9
- null(!V) :- iri (?X).
8
+ constant (constant).
9
+ null(!V) :- constant (?X).
10
10
@import uri_strings :- csv{resource="sources/uri_strings.csv"}.
11
11
12
12
% Datatype check
@@ -15,7 +15,7 @@ result(isint, ?R) :- integers(?A, _, _), ?R = isInteger(?A).
15
15
result(isfloat, ?R) :- doubles(?A, _, _), ?R = isFloat(?A).
16
16
result(isdouble, ?R) :- doubles(?A, _, _), ?R = isDouble(?A).
17
17
result(isnumeric, ?R) :- integers(?A, _, _), ?R = isNumeric(?A).
18
- result(isiri, ?R) :- iri (?A), ?R = isIri(?A).
18
+ result(isiri, ?R) :- constant (?A), ?R = isIri(?A).
19
19
result(isnull, ?R) :- null(?A), ?R = isNull(?A).
20
20
21
21
% String representation
@@ -31,17 +31,19 @@ result(fullstring, ?R) :- tagged(?A), ?R = fullStr(?A).
31
31
% Get language tag
32
32
result(tag, ?R) :- tagged(?L), ?R = LANG(?L).
33
33
34
- % Numeric casts
34
+ % Casts
35
35
cast(3.0).
36
36
cast(4.2).
37
37
cast(5).
38
38
cast(test).
39
39
cast("2023"^^xsd:gYear).
40
40
cast("40").
41
+ cast("https://example.org").
41
42
42
43
result(int, ?R) :- cast(?A), ?R = INT(?A).
43
44
result(float, ?R) :- cast(?A), ?R = FLOAT(?A).
44
45
result(double, ?R) :- cast(?A), ?R = DOUBLE(?A).
46
+ result(iri, ?R) :- cast(?A), ?R = IRI(?A).
45
47
46
48
% Cast within numeric operations
47
49
0 commit comments