Marcel Otto
c1a61c58e8
Remove coercion on RDF.Literal.Datatype.cast/1
...
It's not worth the effort and more explicit to do the coercion step
manually.
2020-05-21 01:58:07 +02:00
Marcel Otto
accf66d75f
Fix failing of numeric operations with invalid literals
2020-05-20 00:32:20 +02:00
Marcel Otto
fa130bf14e
Fix type promotion on numeric operations with derived datatypes
2020-05-19 03:09:29 +02:00
Marcel Otto
22c2aaa1af
Add length, minLength and maxLength XSD datatype facets
2020-05-17 22:54:07 +02:00
Marcel Otto
2c4b5f604a
Add minExclusive and maxExclusive XSD datatype facets
2020-05-17 21:51:03 +02:00
Marcel Otto
09dceb0e35
Add proper handling for derived datatypes on numeric operations
...
with type promotion
2020-05-17 21:49:07 +02:00
Marcel Otto
bf932be26d
Add min- and max-inclusive facet implementations to decimal and double
2020-05-17 20:21:00 +02:00
Marcel Otto
5daf32446d
Fix regression in RDF.LangString.match_language?/2
2020-05-17 02:47:48 +02:00
Marcel Otto
47a19c0a67
Add proper handling of vocabulary terms at various places
...
- in the coerce and value functions of the RDF.Term protocol for atoms
- allow them as XSD.AnyURI values
- RDF.Literal.coerce produces XSD.AnyURI literals from them
- allow them in equal_value comparisons with RDF.IRIs and XSD.AnyURIs
2020-05-17 00:53:36 +02:00
Marcel Otto
76b6f69613
Fix raised BEAM error warning when namespace resolving top-level modules
2020-05-17 00:01:18 +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
6873ba4da1
Fix dialyzer warnings
2020-05-16 03:51:54 +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
b53d09d4f5
Add RDF.Literal.Datatype.Registry.xsd_datatype/1
2020-05-10 01:37:01 +02:00
Marcel Otto
d18c7ed475
Refactor datatype registry
2020-05-10 01:35:07 +02:00
Marcel Otto
afc6f28cf4
Always resolve datatype IRIs through the registration protocol
...
It's actually faster (although just slightly) than the map access!
2020-05-09 00:54:35 +02:00
Marcel Otto
c22bab6c74
Change Namespace.resolve_term to return ok tuples and add resolve_term!
2020-05-09 00:26:29 +02:00
Marcel Otto
d112561fa9
Fix filename of the datatype registration protocol
2020-05-08 12:27:12 +02:00
Marcel Otto
2b46bb8f23
Restore casting of IRIs to strings
2020-05-07 21:18:05 +02:00
Marcel Otto
faaebb2de2
Add ProtocolEx-based custom datatype registration
2020-05-07 15:37:21 +02:00
Marcel Otto
24051c6153
Add RDF.Guards.maybe_ns_term/1
2020-05-06 18:04:19 +02:00
Marcel Otto
00a6103e56
Interop between RDF.IRI and XSD.AnyURI in terms of cast and equal_value?
2020-05-06 16:48:31 +02:00
Marcel Otto
6057749d2a
Move XSD.Datatype.canonical_lexical/1 up to RDF.Literal.Datatype
2020-05-06 15:19:32 +02:00
Marcel Otto
6e557a8bee
Remove some higher-level functions from the datatypes
...
Higher-level datatype functions should be implemented on RDF.Literal only
2020-05-06 15:17:43 +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
66cc9292c9
Remove canonical/1 calls in RDF.Literal.Generic.compare/2
...
since generic literals don't have a canonical form
2020-04-17 23:03:13 +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
060fac4675
Add update/2 functions to RDF.Literal and the datatypes
2020-04-16 20:57:10 +02:00
Marcel Otto
238c9310be
Add some XSD datatype specific delegation functions
2020-04-16 20:55:30 +02:00
Marcel Otto
2907d817ee
Optimize critical RDF.Literal.Datatype.Registry.rdf_datatype/1 function
2020-04-14 02:39:09 +02:00
Marcel Otto
2be689b2a1
Various datatype fixes
2020-04-12 23:55:34 +02:00
Marcel Otto
6049798b37
Add and fix some Dialyzer typespecs
2020-04-12 21:52:25 +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
611ada00a2
Don't print "Compiling vocabulary namespace" message during tests
2020-04-05 01:29:24 +02:00
Marcel Otto
7858ff77c4
Minor changes on RDF.Boolean specs
2020-03-11 00:39:18 +01:00
rustra
8115554847
Minor changes in specs
2020-03-10 22:44:54 +01:00
rustra
91dc078763
Improve specs for serialization
2020-03-10 01:37:53 +01:00
rustra
bd52920e7c
Improve specs for datatypes
2020-03-10 01:37:14 +01:00
Marcel Otto
2244c36b78
Fix warning
2020-03-04 01:31:48 +01:00
Marcel Otto
a047697f70
Fix deprecation warning for Code.ensure_compiled?/1 on Elixir 1.10
2020-03-04 01:30:19 +01:00
rustra
08b4a44b13
Add value type specs for RDF.Datatype
2020-03-03 22:36:11 +01:00
rustra
3da72f9e6a
Specs improvements and fixes
2020-03-03 22:02:35 +01:00
rustra
8345e101d3
Add function signatures
2020-03-02 18:23:34 +01:00