Commit graph

52 commits

Author SHA1 Message Date
Marcel Otto
0e81f4c02c Apply mix formatter 2020-06-29 10:37:42 +02:00
Marcel Otto
fab63e6a0d Update API documentation 2020-06-01 15:43:38 +02:00
Marcel Otto
3743b0e406 Add RDF.Literal.is_a?/2 2020-05-27 23:55:43 +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
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
d18c7ed475 Refactor datatype registry 2020-05-10 01:35:07 +02:00
Marcel Otto
faaebb2de2 Add ProtocolEx-based custom datatype registration 2020-05-07 15:37:21 +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
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
060fac4675 Add update/2 functions to RDF.Literal and the datatypes 2020-04-16 20:57:10 +02:00
Marcel Otto
6049798b37 Add and fix some Dialyzer typespecs 2020-04-12 21:52:25 +02:00
Marcel Otto
f6146c51b0 Revision of the literal system with extracted XSD datatypes 2020-04-10 23:56:35 +02: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
rustra
83f62335b3 Fix type specs for structs 2020-02-28 18:51:48 +01:00
Marcel Otto
1f07377cae Fix unicode escaping issue in RDF.Literal.matches 2019-07-06 01:59:03 +02:00
Marcel Otto
49a897d79b Fix UTF-16 character handling in regex patterns 2019-06-23 15:47:18 +02:00
Marcel Otto
5b10ccd58b Fix RDF.Literal.new/1 to handle decimals correctly 2019-05-04 14:59:33 +02:00
Marcel Otto
3de7d700d3 Make RDF.Literal.xpath_pattern/2 public 2019-04-21 03:59:38 +02:00
Marcel Otto
489e964c6d Add RDF.Literal.matches?/3 2019-04-20 23:33:09 +02:00
Marcel Otto
b7291c7d93 Proper handling of comparisons between date literals 2018-11-04 15:54:49 +01:00
Marcel Otto
1907e22c62 Add literal comparison functions 2018-11-02 22:00:48 +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
edfdb186d0 Add RDF.Term.coerce/1 2018-09-16 04:02:53 +02:00
Marcel Otto
93b932620c Add RDF.Literal.Guards 2018-09-07 21:42:38 +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
d838424478 Add RDF.Term.equal?/2 and RDF.Term.equal_value?/2 2018-06-08 12:26:52 +02:00
Marcel Otto
733ee44749 Add RDF.Literal.new!/2 2018-03-14 11:46:11 +01:00
Marcel Otto
5c7efe4cbd Add RDF.IRI, use it instead of URI and use the term IRI consistently
Closes #1
2017-08-20 22:35:14 +02:00
Marcel Otto
b3365d2f55 Clean up the top-level RDF module and some other files 2017-06-17 00:51:42 +02:00
Marcel Otto
ad1acfffc1 Change header level of examples 2017-06-17 00:27:05 +02:00
Marcel Otto
d83a0c508d core: terms from the RDF.NS.RDF namespace are directly accessible from the top-level RDF module 2017-06-10 23:08:49 +02:00
Marcel Otto
2a8cf08c8e core: add documentation for RDF.Literal and RDF.Datatypes 2017-06-10 00:18:39 +02:00
Marcel Otto
8eb15b581b core: RDF.Date datatype
- negative years not yet supported
2017-05-01 18:06:53 +02:00
Marcel Otto
354ead9d80 core: RDF.Time datatype 2017-05-01 18:01:06 +02:00
Marcel Otto
4105a3e59b core: RDF.DateTime datatype
- negative years not yet supported
2017-04-30 16:53:23 +02:00
Marcel Otto
53e590dc14 core: RDF.Double datatype 2017-04-26 03:10:35 +02:00
Marcel Otto
2b9aa62d69 core: yet another approach for RDF.Literal
- we now only the store the lexical form when it's non-canonical
- Literal validation and canonicalization
- a general RDF.Datatype.Test.Case
- also tested datatype implementations for booleans, integers, string and langStrings
- use literal sigils in Inspect implementation of Literals when possible
2017-04-23 23:41:29 +02:00
Marcel Otto
d812998fb0 core: add lexical form to RDF.Literal 2017-04-20 23:09:55 +02:00
Marcel Otto
06854efbd8 core: more elaborated RDF.Literals (WIP) 2017-04-16 23:13:39 +02:00
Marcel Otto
f586acb8b5 core: a different approach for the serialization API 2017-04-11 00:12:29 +02:00
Marcel Otto
425546349d core: Literal.new takes datatype and language in a map 2017-04-02 23:15:07 +02:00
Marcel Otto
e141841e78 core: vocabulary namespace rewrite
- ability to create vocabulary namespaces from RDF data
- XSD, RDF, RDFS, OWL and SKOS vocabulary namespaces
2017-03-12 14:30:59 +01:00
Marcel Otto
4ebc3e63c4 core: collect all exceptions in a dedicated file 2016-11-04 22:13:06 +01:00