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
Marcel Otto
31331b7388
core: N-Triples reader
...
and just enough more supported Literals to pass the W3C RDF N-Triples test suite
2016-10-30 19:36:46 +01:00