Commit graph

346 commits

Author SHA1 Message Date
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
rustra
83f62335b3 Fix type specs for structs 2020-02-28 18:51:48 +01:00
Marcel Otto
ef55979f31 Fix incorrect handling of 24h overflows with an offset on RDF.XSD.Time 2020-02-14 08:56:14 +01:00
Marcel Otto
092a9c60d1 Change write_file functions to no longer use :utf8 file mode option 2019-11-21 22:06:09 +01:00
Marcel Otto
a77fe7c56e Add RDF.Diff.empty?/1 2019-11-20 01:56:43 +01:00
Marcel Otto
a1cbbd24b6 Add RDF.Diff.apply/2 2019-11-20 01:45:34 +01:00
Marcel Otto
4e38080774 Add RDF.Diff 2019-11-19 22:49:00 +01:00
Marcel Otto
30bde1acc2 Add RDF.Graph.clear/1 2019-11-02 01:35:09 +01:00
Marcel Otto
02131efc15 Add RDF.Graph.update/4 2019-10-24 22:03:05 +02:00
Marcel Otto
623577b35e Add RDF.Description.update/4 2019-10-23 17:31:21 +02:00
Marcel Otto
2cfa89125f Add RDF.Graph.take/3 2019-10-15 17:29:46 +02:00
Marcel Otto
cf568dd06e Add RDF.Description.take/2 2019-10-14 09:13:56 +02:00
Marcel Otto
9e81f69636 Remove RDF.IRI.empty_fragment_shim/2
This is no longer needed, since we don't support Elixir versions < 1.6
anymore.
2019-09-24 00:50:34 +02:00
Marcel Otto
18ae910bd7 Fix vocabulary namespace detection 2019-09-06 15:05:40 +02:00
Marcel Otto
3f1afa190f Use new RDF.IRI.coerce_base/1 for RDF.Graph.set_base_iri/2 2019-08-08 22:32:21 +02:00
Marcel Otto
fe49c0e431 Move base IRI coercion from PrefixMap into new RDF.IRI.coerce_base/1
- and extend it to also support terms from vocabulary namespaces
2019-08-08 22:26:07 +02:00
Marcel Otto
65374303d4 Fix docs 2019-08-05 02:23:29 +02:00
Marcel Otto
5f855de58c Use RDF.default_base_iri in Turtle encoder and decoder 2019-08-04 00:13:13 +02:00
Marcel Otto
58d21a3405 Add alias base_iri for the base option of the RDF.Turtle.Encoder 2019-08-03 01:33:47 +02:00
Marcel Otto
14b1dc5825 Let RDF.Turtle.Encoder use base IRI from the graph when none provided 2019-08-03 01:02:32 +02:00
Marcel Otto
19e12909ca Change RDF.Turtle.Decoder to save the base IRI in the graph 2019-08-03 00:41:06 +02:00
Marcel Otto
b28e5e4744 Add RDF.Graph.base_iri field and functions to handle it 2019-08-03 00:36:25 +02:00
Marcel Otto
22ec671da7 Improve error messages of Turtle, N-Triples and N-Quads decoder 2019-07-06 02:32:31 +02: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
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
5b10ccd58b Fix RDF.Literal.new/1 to handle decimals correctly 2019-05-04 14:59:33 +02:00
Marcel Otto
f89b34ed4b Add RDF.IRI.to_string/1 2019-05-01 03:06:35 +02:00
Marcel Otto
9587b1fd08 Fix warning 2019-04-29 20:45:06 +02:00
Marcel Otto
a1e4049cba Fix missing unescaping of language literals during Turtle parsing 2019-04-28 00:35:23 +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
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
95d5d01217 Fix RDF.Dataset.equal?/2 to ignore prefixes 2019-04-04 21:19:33 +02:00
Marcel Otto
731b168ef4 Add RDF.Data.equal?/2 2019-04-04 01:55:34 +02:00
Marcel Otto
158decc16b Add equal?/2 on RDF.Description, RDF.Graph and RDF.Dataset 2019-04-03 00:15:25 +02:00
Marcel Otto
2e49f8b73a Let RDF.Turtle.Encoder use other prefixes when none provided 2019-04-02 00:34:19 +02:00
Marcel Otto
eb71b26f08 Remove unnecessary whitespace 2019-04-01 02:04:51 +02:00
Marcel Otto
74490c96c9 Change RDF.Turtle.Decoder to save the prefixes in the graph 2019-03-31 05:07:34 +02:00
Marcel Otto
195b967b93 Add prefix management to RDF.Graph 2019-03-31 01:15:56 +01:00
Marcel Otto
8bffff7c76 Rename the conflict resolver function for RDF.PrefixMap merges 2019-03-30 22:18:10 +01:00
Marcel Otto
c2e6ffdebb Optimize RDF.PrefixMap.new/1 creation from another PrefixMap 2019-03-30 22:11:04 +01:00
Marcel Otto
6c9f580cab Add RDF.PrefixMap.drop/2 2019-03-30 20:29:48 +01:00
Marcel Otto
ec33614880 Fix RDF.PrefixMap.merge/3 when the merged prefixes are not a PrefixMap 2019-03-30 20:12:39 +01:00
Marcel Otto
15961b8fef Fix detection of vocabulary namespaces 2019-03-30 02:01:30 +01:00
Marcel Otto
bee98f3e75 Add RDF.PrefixMap.merge/3 and RDF.PrefixMap.merge!/3 2019-03-30 00:01:46 +01:00
Marcel Otto
b75024baf5 Let RDF.PrefixMap.merge/2 return the list conflicts in the error case 2019-03-29 21:05:46 +01:00
Marcel Otto
1801ad186c Change RDF.Dataset.new to take the dataset name as an option 2019-03-29 01:57:49 +01:00
Marcel Otto
1793c842bb Change RDF.Graph.new to take the graph name as an option 2019-03-29 01:26:50 +01:00
Marcel Otto
2644570521 Fix some typos 2019-03-27 23:47:23 +01:00
Marcel Otto
4da3a12011 Add RDF.PrefixMap.merge!/2 2019-03-26 23:00:00 +01:00
Marcel Otto
14f7bb5693 Allow namespaces to be given as RDF.Vocabulary.Namespaces in PrefixMaps 2019-03-26 22:31:05 +01:00
Marcel Otto
86ca2a866c Fix RDF.PrefixMap.normalize/1 2019-03-26 21:53:57 +01:00
Marcel Otto
4f71d14377 Add RDF.PrefixMap 2019-03-26 00:31:43 +01:00
Marcel Otto
a68cf0dc6a Fix deprecation warning with Elixir 1.8
warning: Inspect.Algebra.surround/3 is deprecated. Use a combination of concat/2 and nest/2 instead
2019-02-15 02:30:59 +01: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
8979cfd001 Fix Kernel function conflict under Elixir 1.8 2019-01-17 18:08:07 +01:00
Marcel Otto
77f9ad491a Fix typos 2018-11-17 02:51:14 +01:00
Marcel Otto
036de6e66c Add valid?/1 on RDF.Triple, RDF.Quad and RDF.Statement 2018-11-11 13:14:48 +01:00
Marcel Otto
d1532d7022 Fix typo in docs 2018-11-11 02:28:38 +01:00
Marcel Otto
4336602dcc Add a values/2 variant with a custom mapping function 2018-11-04 22:27:25 +01:00
Marcel Otto
535e5b3713 Allow value equality comparisons between XSD dates and datetimes
This is required to make date-2 of the SPARQL 1.0 open-world test pass.
Strangely enough, ordering comparisons are nevertheless disallowed
according to date-3 of the same test suite. An implementation which
would allow order comparison is included but uncommented.
2018-11-04 17:27:45 +01:00
Marcel Otto
b7291c7d93 Proper handling of comparisons between date literals 2018-11-04 15:54:49 +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
1907e22c62 Add literal comparison functions 2018-11-02 22:00:48 +01:00
Marcel Otto
52933b5297 Add RDF.Data.values/1 2018-10-28 03:50:48 +01:00
Marcel Otto
defd1857e5 Add values/1 on RDF.Description, RDF.Graph and RDF.Dataset 2018-10-27 16:30:19 +02:00
Marcel Otto
9e06cea7ca Fix RDF.Date.equal_value?/2 to handle timezones correctly 2018-10-26 01:08:21 +02:00
Marcel Otto
1276f252c5 Add values/1 on RDF.Triple, RDF.Quad and RDF.Statement 2018-10-22 00:52:22 +02:00
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
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
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