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
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
708e46384a
Fix RDF.Double on OTP 21
2018-06-30 12:14:30 +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
2313e001fd
Support value equality checks on RDF.Decimals
2018-06-16 01:48:10 +02:00
Marcel Otto
6a357229b2
Enable support for decimal literals in Turtle encoder
2018-06-15 21:35:29 +02:00
Marcel Otto
f5684262e7
Add RDF.Decimal datatype
2018-06-15 21:19:22 +02:00
Marcel Otto
9193dd916f
Small refactoring
2018-06-15 20:56:40 +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
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
Marcel Otto
f3cc9ccf7e
Add Effective Boolean Value (EBV) algorithm and RDF.Numeric
2018-05-27 22:19:08 +02:00
Marcel Otto
3e5db97ce4
Add top-level functions for the two boolean RDF.Literal values
2018-05-26 02:51:28 +02:00
Marcel Otto
b4c3dc8d98
Use function body rescue where possible
2018-05-16 01:59:46 +02:00
Marcel Otto
df05445733
Add top-level alias functions for constructors of the basic datatypes
2018-04-07 22:59:03 +02:00
Marcel Otto
0e913fce81
Fix some typos in the documentation
2018-03-19 01:50:05 +01:00
Marcel Otto
733ee44749
Add RDF.Literal.new!/2
2018-03-14 11:46:11 +01:00
Marcel Otto
e80488d601
Don't fail when creating a rdf:langString literal without a language tag
2018-03-14 10:42:41 +01:00
Marcel Otto
c179185cfd
Fix some warnings
2018-03-09 23:57:20 +01:00
Marcel Otto
56436f85af
Provide fallback implementations for Enumerable.slice/1
2018-03-09 23:18:08 +01:00
Marcel Otto
5aaf15bbcd
Use RDF.read_file/1 in RDF.Vocabulary.Namespace
2018-03-09 21:26:15 +01:00
Marcel Otto
24aabc389b
Add general RDF.Serialization.read_* and write_* functions
2018-03-09 21:15:43 +01:00
Marcel Otto
54d9eff014
Move RDF.Reader and RDF.Writer into RDF.Serialization module
2018-03-08 17:33:20 +01:00
Marcel Otto
eb6ede55b9
Rename RDF.Serialization.Format.content_type/0 to media_type/0
2018-03-08 02:14:49 +01:00
Marcel Otto
4f5b06c830
Add RDF.Serialization with functions to access available formats
2018-03-08 01:57:38 +01:00
Marcel Otto
7314f2d643
Rename RDF.Serialization behaviour to RDF.Serialization.Format
2018-03-07 10:33:09 +01:00
Marcel Otto
7753d0d6f7
Add name to RDF.Serialization formats
2018-03-07 10:16:00 +01:00
Marcel Otto
6832176904
Fix some warnings
2018-03-02 01:14:50 +01:00
Marcel Otto
bb0f8e12aa
Fix typos and RDF.Serialization.Decoder callback spec
2018-03-01 13:31:06 +01:00
Marcel Otto
57d59d9783
Make RDF.Turtle.Decoder.tokenize public
2018-02-28 01:20:18 +01:00
Adam Keys
e9cd2bf711
Fix unescape_map in parse_helper for elixir 1.6
2018-01-19 10:24:20 -06:00
Marcel Otto
b445f2e31c
Add Collectable implementations for all RDF data structures
2017-10-30 12:15:16 +01:00
Marcel Otto
102db58c3b
Show always the compilation message of vocabulary namespaces
2017-08-22 00:43:31 +02:00
Marcel Otto
d098fee62a
Cover more term resolving cases in the RDF.IRI functions
2017-08-21 21:09:35 +02:00
Marcel Otto
19457d61b9
Handle resolving of terms from undefined modules consistently
2017-08-21 21:06:57 +02: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
89d75270aa
Rename RDF.Statement.convert* functions to RDF.Statement.coerce*
2017-08-11 22:22:27 +02:00
Marcel Otto
75b84254f4
Add ordering of descriptions to Turtle encoder
2017-08-11 18:34:26 +02:00
Marcel Otto
eeffceb16d
Fix some warnings
2017-08-11 18:33:12 +02:00
Marcel Otto
6d00346dcd
Add RDF.__base_uri__/0 delegator function
2017-08-11 15:43:40 +02:00
Marcel Otto
1445ea58ef
Add ordering of predications to Turtle encoder
2017-08-11 15:23:54 +02:00
Marcel Otto
0410c3ac0a
Use Turtle files for the predefined vocabulary namespaces
2017-08-10 23:45:28 +02:00
Marcel Otto
2017718000
Enable Turtle as an input format for vocabulary namespaces
2017-08-10 23:41:31 +02:00
Marcel Otto
de4b526e9a
Remove use Agent
from RDF.Turtle.Encoder.State
...
it's a Elixir 1.5 feature, which we actually don't require
2017-08-09 23:35:12 +02:00
Marcel Otto
1e802befca
Add Turtle encoder
2017-08-09 23:24:37 +02:00
Marcel Otto
bb138f7e90
Another fix of URI.parse not preserving empty fragments
2017-08-01 01:38:54 +02:00
Marcel Otto
2f6fa6fe34
Revise RDF.List
2017-07-31 23:21:09 +02:00
Marcel Otto
be36ae085d
RDF.List module with functions for working with RDF lists
2017-07-27 21:49:35 +02:00
Marcel Otto
dc7dce7dbc
Add describes?/1 to RDF.Data protocol and all RDF data structures
2017-07-24 03:14:31 +02:00
Marcel Otto
a6db9723ca
Add RDF.bnode?/1
2017-07-22 00:21:28 +02:00
Marcel Otto
df766972c2
Add RDF.Description.objects/2 with custom filter function
2017-07-22 00:18:22 +02:00
Marcel Otto
44b527038d
RDF.uri/1 preserves empty fragments
2017-07-16 23:59:28 +02:00
Marcel Otto
529714ec1c
Use base URI in URIs of @prefix and @base directives
2017-07-10 01:41:36 +02:00
Marcel Otto
d1ef0d1fb3
Proper implementation of N-Triples, N-Quads and Turtle escaping rules
2017-07-09 22:22:35 +02:00