Commit graph

58 commits

Author SHA1 Message Date
Marcel Otto 3b16a76ccd Format code with Elixir 1.12 2021-05-22 16:08:19 +02:00
Marcel Otto 0e81f4c02c Apply mix formatter 2020-06-29 10:37:42 +02:00
Marcel Otto 5daf32446d Fix regression in RDF.LangString.match_language?/2 2020-05-17 02:47:48 +02:00
Marcel Otto 4d3d60a5f4 Fix regression in handling of vocabulary terms as generic datatypes 2020-05-16 14:42:12 +02:00
Marcel Otto 0509e4cb2f Store datatype in a RDF.Literal.Generic internally as string
Besides being a bit more memory efficient this allows for
pattern matching on the datatype of generic literals.
2020-05-16 00:06:45 +02:00
Marcel Otto 25a0f7443c Rename RDF.Literal.datatype/1 and similar functions to datatype_id/1 2020-05-15 22:59:05 +02:00
Marcel Otto fa35b65d9f Redesign datatype reflection API 2020-05-15 17:13:31 +02:00
Marcel Otto 5819eec0cf Re-integrate XSD.ex
It turned out that the costs of separating the XSD datatypes are too high
and probably not worth the effort, since with its limited scope
probably nobody would want to use XSD.ex outside of the RDF.ex context
anyway.
2020-05-05 23:58:44 +02:00
Marcel Otto aed10650d8 Finish back to previous equal_value?/2 behaviour 2020-04-18 21:31:42 +02:00
Marcel Otto 733f01e6a9 Revert "Add comparable?/2 functions to RDF.Literal and RDF.Literal.Datatypes"
This reverts commit 287839740c.
2020-04-18 16:39:43 +02:00
Marcel Otto 287839740c Add comparable?/2 functions to RDF.Literal and RDF.Literal.Datatypes 2020-04-18 00:31:03 +02:00
Marcel Otto 9e3fbde380 Add missing validity check to cast/1 functions 2020-04-17 00:50:06 +02:00
Marcel Otto 44a3ecb57a Don't support cast/1 on RDF.Literal.Generic 2020-04-16 23:42:55 +02:00
Marcel Otto 238c9310be Add some XSD datatype specific delegation functions 2020-04-16 20:55:30 +02:00
Marcel Otto fa4bfdff1a Change constructor interface of RDF.LangString and RDF.Generic 2020-04-12 04:34:04 +02:00
Marcel Otto f6146c51b0 Revision of the literal system with extracted XSD datatypes 2020-04-10 23:56:35 +02:00
Marcel Otto dc2b070e05 Fix RDF.Double to not accept +INF as a valid value 2019-06-23 15:45:23 +02:00
Marcel Otto 34eaacdf37 true and false with capital letters are no longer valid RDF.Booleans 2019-06-08 22:56:22 +02:00
Marcel Otto 568190e327 Add digit_count and fraction_digit_count to RDF.Decimal 2019-04-22 11:17:16 +02:00
Marcel Otto 3086374a0d Fix deprecation warning with Decimal 1.6
warning: passing float to Decimal.new/1 is deprecated, use Decimal.from_float/1 instead
2019-02-15 02:30:41 +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 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 fa7e214985 Fix RDF.Time to store microseconds 2018-09-14 23:08:36 +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 a2cd1adeeb Fix broken test 2018-09-14 17:07:37 +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 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 65a08c7754 Add Elixir version conditional for test with negative year 2018-09-11 03:21:51 +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 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 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 fbbd52d1b0 Add version-dependent tests for negative years in Dates and DateTimes 2018-08-25 00:53:37 +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 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 974b2c8360 Add RDF.Numeric.ceil/1 and RDF.Numeric.floor/1 2018-07-14 01:18:13 +02:00
Marcel Otto cb9585d87a Add RDF.Numeric.round/1 and RDF.Numeric.round/2 2018-07-13 23:14:20 +02:00
Marcel Otto ae54a8bfe2 Add RDF.Numeric.abs/1 2018-07-13 01:34:12 +02:00
Marcel Otto 34898cd696 Add RDF.LangString.match_language?/2 2018-07-10 00:18:16 +02:00
Marcel Otto 4cea91e52f Change RDF.String.new/2 to produce language strings when language given 2018-07-09 23:04:25 +02:00
Marcel Otto 978ed89164 Fix RDF.LangString to produce invalid literals when invalid languages given 2018-07-09 21:49:25 +02:00
Marcel Otto 7ad3c0acc1 Add arithmetic operations on RDF.Numeric 2018-06-22 22:03:23 +02:00
Marcel Otto ca3c4a0104 Fix RDF.Decimal
- the canonical representation of given Decimals was not always correct,
  we now store always the canonical decimal as the Literal.value
2018-06-17 23:40:07 +02:00
Marcel Otto f5684262e7 Add RDF.Decimal datatype 2018-06-15 21:19:22 +02:00
Marcel Otto cae8e183e0 Fix RDF.DateTime to support 24:00:00 as valid time 2018-06-03 23:21:14 +02:00
Marcel Otto 71dc3d5acc Add functions for the basic logical operations to RDF.Boolean 2018-05-29 22:40:11 +02:00