Marcel Otto
4336602dcc
Add a values/2 variant with a custom mapping function
2018-11-04 22:27:25 +01:00
Marcel Otto
535e5b3713
Allow value equality comparisons between XSD dates and datetimes
...
This is required to make date-2 of the SPARQL 1.0 open-world test pass.
Strangely enough, ordering comparisons are nevertheless disallowed
according to date-3 of the same test suite. An implementation which
would allow order comparison is included but uncommented.
2018-11-04 17:27:45 +01:00
Marcel Otto
b7291c7d93
Proper handling of comparisons between date literals
2018-11-04 15:54:49 +01:00
Marcel Otto
10dc249531
Accept "-00:00" as a valid timezone offset on RDF.DateTime literals
2018-11-04 04:02:36 +01:00
Marcel Otto
1907e22c62
Add literal comparison functions
2018-11-02 22:00:48 +01:00
Marcel Otto
52933b5297
Add RDF.Data.values/1
2018-10-28 03:50:48 +01:00
Marcel Otto
defd1857e5
Add values/1 on RDF.Description, RDF.Graph and RDF.Dataset
2018-10-27 16:30:19 +02:00
Marcel Otto
9e06cea7ca
Fix RDF.Date.equal_value?/2 to handle timezones correctly
2018-10-26 01:08:21 +02:00
Marcel Otto
1276f252c5
Add values/1 on RDF.Triple, RDF.Quad and RDF.Statement
2018-10-22 00:52:22 +02:00
Marcel Otto
7766a4a820
Add RDF.Term.value/1
2018-10-05 01:15:36 +02:00
Marcel Otto
04f6420962
Remove references to RDF.Vocab package temporarily
...
In its current form it is not recommended to use this package since it
brings a huge baggage as a dependency into your application. A major
rewrite is planned.
2018-09-27 00:46:34 +02:00
Marcel Otto
3268d2d08e
Hide some internal functions
2018-09-17 02:08:42 +02:00
Marcel Otto
9c6beeac13
Add @impl annotations
2018-09-17 02:08:16 +02:00
Marcel Otto
dfb88ac65e
Fix RDF.resource?/1 to not fail when called with unresolvable atoms
2018-09-16 22:28:46 +02:00
Marcel Otto
f4877bbc65
Fix some issues with RDF.Term coercion in various contexts
2018-09-16 22:21:53 +02:00
Marcel Otto
1cd3a0c342
Support RDF.Term coercion on all arithmetic operations in RDF.Numeric
2018-09-16 15:11:51 +02:00
Marcel Otto
d72c5ebd1f
Add Decimal implementation of RDF.Term protocol
2018-09-16 15:07:41 +02:00
Marcel Otto
edfdb186d0
Add RDF.Term.coerce/1
2018-09-16 04:02:53 +02:00
Marcel Otto
7e7f6e7189
Add RDF.term?/1
2018-09-16 03:52:07 +02:00
Marcel Otto
b6db74e686
Add top-level aliases for some ambiguous cases
2018-09-15 00:34:09 +02:00
Marcel Otto
fa7e214985
Fix RDF.Time to store microseconds
2018-09-14 23:08:36 +02:00
Marcel Otto
c746706a10
Fix equality comparison of invalid literals
2018-09-14 21:31:16 +02:00
Marcel Otto
7847c76fc9
Change RDF.Datatype.cast implementations to return nil when not castable
2018-09-14 18:00:43 +02:00
Marcel Otto
a51e2a0dec
Fix RDF.Datatype.cast/1 implementations when casting from strings
2018-09-14 17:02:04 +02:00
Marcel Otto
584d87a49c
Add dayTimeDuration and yearMonthDuration to RDF.Datatype.NS
2018-09-14 14:12:12 +02:00
Marcel Otto
97b1cec4aa
Various fixes of RDF.Datatype.cast/1 implementations
2018-09-13 00:57:57 +02:00
Marcel Otto
e0635b42ad
Add implementation of RDF.Datatype.cast/1 on all time-related datatypes
2018-09-12 01:10:50 +02:00
Marcel Otto
60281a0379
Add is_xsd_date/1 and is_xsd_time/1 guards
2018-09-11 03:16:10 +02:00
Marcel Otto
45866fe30b
Add implementation of RDF.Datatype.cast/1 on RDF.String
2018-09-11 03:12:58 +02:00
Marcel Otto
de25b5399b
Add various utility functions on RDF.Time and RDF.DateTime
2018-09-11 03:12:15 +02:00
Marcel Otto
1fa369197e
Add RDF.DateTime.tz/1 optimization for naive datetimes
2018-09-11 00:04:39 +02:00
Marcel Otto
b0bfd7fe62
Specify enforced keys for structs
2018-09-10 00:27:40 +02:00
Marcel Otto
56c153198f
Add implementation of RDF.Datatype.cast/1 on numeric datatypes
2018-09-09 15:28:35 +02:00
Marcel Otto
1e94842bc0
Add implementation of RDF.Datatype.cast/1 on RDF.Boolean
2018-09-09 15:27:27 +02:00
Marcel Otto
b0e4e5327e
Add RDF.Datatype.cast/1
2018-09-09 15:26:32 +02:00
Marcel Otto
f4b9b0f434
Add RDF.DateTime.now/0
2018-09-08 21:50:42 +02:00
Marcel Otto
93b932620c
Add RDF.Literal.Guards
2018-09-07 21:42:38 +02:00
Marcel Otto
e393bff9ef
Add RDF.Term.t type
2018-09-02 05:25:20 +02:00
Marcel Otto
be390adaea
Add missing defoverridable for Reader.encode!/1
2018-08-31 01:14:11 +02:00
Marcel Otto
598fd731e6
RDF.BlankNode.Generate can generate blank nodes for every value
...
- not just strings
2018-08-29 21:26:13 +02:00
Marcel Otto
adc1d953dc
Add RDF.BlankNode.Generator
2018-08-28 01:14:44 +02:00
Marcel Otto
315828a1d6
Fix warning
2018-08-27 00:31:02 +02:00
Marcel Otto
3549a67a12
Fix new and new! on RDF.Literal and RDF.String when language nil given
2018-08-26 05:46:18 +02:00
Marcel Otto
6bafb41cf9
Change RDF.IRI.absolute/2 to return nil if the base is not absolute
2018-08-24 01:32:54 +02:00
Marcel Otto
1c7cad39be
Fix datatype and lexical form of result of various numeric functions
...
- to match SPARQL semantics
2018-08-21 03:27:48 +02:00
Marcel Otto
81cfcff5d7
Add default_base_iri configuration and use it for serialization readers
2018-08-17 01:31:08 +02:00
Marcel Otto
87b34f8464
Fix warnings raised on Elixir 1.7
2018-08-16 23:46:05 +02:00
Marcel Otto
ec55b3758f
Add RDF.DateTime.tz/1
2018-08-10 23:51:04 +02:00
Marcel Otto
a51e518c26
Fix RDF.DateTime to store microseconds
2018-07-20 01:49:59 +02:00
Marcel Otto
d00fa6e914
Fix typos
2018-07-18 00:08:37 +02:00