Commit graph

549 commits

Author SHA1 Message Date
Marcel Otto
e95c5c685d Add support for Turtle-star decoding 2021-10-01 23:33:00 +02:00
Marcel Otto
0aa0128434 Fix bug in error handling of Inspect impl when subject is quoted triple 2021-09-30 22:36:25 +02:00
Marcel Otto
8b609233fa Add support for N-Triples-star encoding 2021-09-29 22:43:01 +02:00
Marcel Otto
2819092586 Add RDF-star support on RDF.Description and RDF.Graph 2021-09-27 20:57:17 +02:00
Marcel Otto
4f57fda00f Add RDF.Star.Triple, RDF.Star.Quad and RDF.Star.Statement 2021-09-04 19:12:00 +02:00
Marcel Otto
737b67095d Add support for PropertyMap on RDF.Statement.new/2 and coerce/2 2021-09-04 17:44:10 +02:00
Marcel Otto
266ca1f159 Don't rescue from FunctionClauseErrors in readers and writers 2021-09-03 14:15:04 +02:00
Marcel Otto
611868cbeb Fix recognition of DateTimes with a plus before the year as invalid
Since Elixir 1.12 this seems to be allowed.
2021-05-23 00:07:46 +02:00
Marcel Otto
3b16a76ccd Format code with Elixir 1.12 2021-05-22 16:08:19 +02:00
Marcel Otto
0a0ed07bf2 Allow {mod, fun} tuples on :default_base_iri configuration option 2021-05-19 22:59:13 +02:00
Marcel Otto
9b9cf7dffd Allow {mod, fun} tuples on :default_prefixes configuration option 2021-05-18 23:52:09 +02:00
Marcel Otto
6d1a139c9a Add RDF.statement constructor functions 2021-05-10 21:41:48 +02:00
Marcel Otto
2afc2edda8 Add missing escaping of literals in N-Triples and N-Quads encoder 2021-05-09 21:43:10 +02:00
Marcel Otto
3480c254c3 Add missing escaping of language-tagged literals in Turtle encoder 2021-05-09 11:58:36 +02:00
Marcel Otto
967f81ad5a Don't Turtle-encode IRIs as prefixed names when they will be non-conform 2021-05-09 03:06:20 +02:00
Marcel Otto
589d2939b5 Fix bug in Inspect protocol implementation of RDF.Diff 2021-03-15 20:06:02 +01:00
Marcel Otto
84b71d2b50 Fix failing CI on Elixir 1.9 2021-03-06 02:38:20 +01:00
Marcel Otto
e1680ffa95 Improve performance of the Enumerable impls of the RDF data structures 2021-03-05 23:23:06 +01:00
Marcel Otto
bb29582695 Add Enumerable.slice/1 implementations on PropertyMap and PrefixMap 2021-03-05 23:11:28 +01:00
Marcel Otto
f9bd3b9476 Handle base URIs without trailing slash or hash in Turtle encoder properly 2021-03-04 15:07:28 +01:00
Marcel Otto
b86392763e Improvements of the Inspect form of the RDF data structures 2021-02-28 13:29:10 +01:00
Marcel Otto
32a59916f6 Add :indent option on RDF.Turtle.Encoder 2021-02-28 13:02:05 +01:00
Marcel Otto
f9a39288aa Use Enum.map_join/2 2021-02-27 22:25:44 +01:00
Marcel Otto
e04b960557 Fix recognition of float and double literals of the form ".0" and "0." 2021-02-26 16:26:22 +01:00
Marcel Otto
386e2c1e29 Fix typo 2021-01-13 16:55:24 +01:00
Marcel Otto
ed403d9175 Allow initialization of dates and times with timezones from tuples 2020-12-20 02:55:24 +01:00
Marcel Otto
ec04345da2 Add RDF.Utils.lazy_map_update/3 2020-12-08 22:40:46 +01:00
pukkamustard
e143a960e0 Add XSD.Base64Binary 2020-12-06 18:07:57 +01:00
Marcel Otto
d07db98436 Add :as_value opt for XSD.Datatype.new/2 implementations
This is for datatypes where both the value space and the lexical space
consists of strings, which makes it impossible to differentiate if the
given value should be interpreted as one from the lexical space or the
value space.
2020-12-06 14:27:55 +01:00
Marcel Otto
889f2e5db1 Add top-level alias functions for read_stream and write_stream 2020-11-16 13:23:43 +01:00
Marcel Otto
76bf042ae5 Fix docs 2020-11-16 13:22:07 +01:00
Marcel Otto
96f3e46638 Handle conflicts of RDF.Vocabulary.Namespace terms with Kernel functions 2020-11-13 22:51:41 +01:00
Marcel Otto
ebb1aeb25e Change inspect form of RDF.Diffs 2020-11-12 22:22:04 +01:00
Marcel Otto
e53b951519 Add API documentation for serialization encoders and decoders 2020-11-12 16:34:21 +01:00
Marcel Otto
bafaf6332e Add RDF.IRI.in_namespace?/2 examples 2020-11-12 15:06:01 +01:00
Marcel Otto
b65d4b6bb7 Fix misleading function name 2020-11-11 11:17:13 +01:00
Marcel Otto
2b0296fd32 Fix formatting 2020-11-11 11:16:38 +01:00
Marcel Otto
42d5dfc5a6 Add RDF.IRI.in_namespace?/2 2020-11-10 10:56:38 +01:00
Marcel Otto
3806269d3e Add read_stream!/2 functions 2020-11-06 13:03:01 +01:00
Marcel Otto
8b8c3feef7 Allow setting the stream mode via the new :stream opt on file writers 2020-11-05 22:06:10 +01:00
Marcel Otto
41a299e122 Add :gzip opt on all read and write file serialization functions 2020-11-05 21:09:36 +01:00
Marcel Otto
d3f66bd5d9 Support for streaming on file read and write serialization functions 2020-11-05 15:41:06 +01:00
Marcel Otto
a361a018a0 Add RDF.NQuads.Encoder.stream/2 2020-11-04 21:21:08 +01:00
Marcel Otto
426b6d832c Add RDF.NTriples.Encoder.stream/2 2020-11-04 20:43:19 +01:00
Marcel Otto
25b7239843 Add RDF.NQuads.Decoder.decode_from_stream/2 2020-11-04 16:51:24 +01:00
Marcel Otto
b4f0ae074c Add RDF.NTriples.Decoder.decode_from_stream/2 2020-11-04 16:32:17 +01:00
Marcel Otto
6ad8d0da72 Extend serialization API with functions for reading from streams 2020-11-04 12:18:04 +01:00
Marcel Otto
ff40022f6d Extend serialization API with functions for writing to streams 2020-11-04 11:37:52 +01:00
Marcel Otto
3d28ec9085 Clean up serialization API, code and documentation 2020-11-04 09:56:22 +01:00
Marcel Otto
0dc8e383ce Add RDF.Data.t type for the RDF data structures 2020-11-03 11:53:03 +01:00
Marcel Otto
1cf84a0e84 Remove unused RDF.Serialization.Format.options/0 callback 2020-11-03 11:15:45 +01:00
Marcel Otto
e3454f73ce Fix dialyzer warning 2020-11-02 15:59:14 +01:00
Marcel Otto
8d98461e0b Change Inspect form for RDF data structures to be Turtle-based 2020-11-02 15:17:18 +01:00
Marcel Otto
929e2a8c81 Use RDF.PrefixMap.prefixed_name/2 in Turtle encoder 2020-11-02 02:05:23 +01:00
Marcel Otto
27a4c177e2 Change RDF.BlankNode.new/0 to create integer-based blank nodes 2020-11-01 13:48:17 +01:00
Marcel Otto
8e74e9a9d2 Fix some of the BlankNode representations to be Turtle-serializable 2020-11-01 04:14:30 +01:00
Marcel Otto
3041204ff7 Add RDF.BlankNode.value/1 2020-11-01 02:26:18 +01:00
Marcel Otto
c17cf8297c Improve performance of RDF.PrefixMap.prefixed_name_to_iri/2 2020-10-30 11:42:07 +01:00
Marcel Otto
15002a0bbb Add RDF.Dataset.prefixes/1 2020-10-28 11:51:00 +01:00
Marcel Otto
29a860d969 Allow vocabulary namespace modules as base for Turtle encoder 2020-10-28 11:36:43 +01:00
Marcel Otto
4f095b8d47 Add RDF.PrefixMap.put/3 2020-10-21 12:59:20 +02:00
Marcel Otto
217139deae Shorten the Inspect form of RDF.PrefixMap 2020-10-15 09:05:43 +02:00
Marcel Otto
f4c15d6930 Add missing typespec 2020-10-13 15:54:43 +02:00
Marcel Otto
692aeed834 Update API documentation 2020-10-13 15:28:40 +02:00
Marcel Otto
352b8ef1a8 Use also the :context opt and implicit PropertyMap formats in values/2 2020-10-13 11:50:02 +02:00
Marcel Otto
cafba9f61f Add support for RDF.PropertyMaps in BGP and path queries 2020-10-13 10:43:05 +02:00
Marcel Otto
d3c6336782 Fix bug with BGP queries provided as maps 2020-10-12 23:02:56 +02:00
Marcel Otto
9ecc59b542 Change naming of statement count functions to be consistent
Previous names are provided as delegation functions.
2020-10-11 13:11:18 +02:00
Marcel Otto
eef64b9253 Add support for adding terms of a vocab namespace to RDF.PropertyMap
For now only with RDF.PropertyMap.add/2 on purpose, since we want to
enforce a conscious usage of this feature, as put/2 would silently
overwrite terms.
2020-10-11 11:42:30 +02:00
Marcel Otto
875908eb39 Handle conflicting terms for the same IRI in a PropertyMap 2020-10-11 02:35:58 +02:00
Marcel Otto
95a69d9007 Add Enumerable protocol implementation for RDF.PropertyMap 2020-10-11 01:07:53 +02:00
Marcel Otto
c1495a5f39 Add Inspect protocol implementation for RDF.PropertyMap 2020-10-11 00:57:29 +02:00
Marcel Otto
3e111ff22b Add some aliases to RDF.Data 2020-10-10 22:23:01 +02:00
Marcel Otto
e99ff455ae Add opts for contexts on RDF.Data functions 2020-10-10 22:09:29 +02:00
Marcel Otto
a49229384e Extract map/2 function from values/2 on all RDF data structures
and add support for RDF.PropertyMaps on values/2 instead
2020-10-10 15:45:25 +02:00
Marcel Otto
1befb382da Fix dialyzer fail 2020-10-09 22:20:52 +02:00
Marcel Otto
1adfb697b1 Add missing PropertyMap alias 2020-10-09 21:37:28 +02:00
Marcel Otto
d0e5b625fd Support for RDF.PropertyMaps as :context opt on functions with input data 2020-10-09 16:32:24 +02:00
Marcel Otto
e681733652 Add RDF.PropertyMap 2020-10-08 22:49:45 +02:00
Marcel Otto
ec0e60e3c8 Add RDF.IRI.append/2 2020-10-08 11:45:34 +02:00
Marcel Otto
71292b721c Add :init option to RDF.Graph.new/2 and RDF.Dataset.new/2 2020-10-07 16:08:22 +02:00
Marcel Otto
8325ba9988 Allow the base_iri of RDF.Vocabulary.Namespaces to end with a dot 2020-10-07 16:02:03 +02:00
Marcel Otto
51e6712d69 Stylistic cleanup of RDF data structures 2020-10-05 14:32:18 +02:00
Marcel Otto
9880fd7be3 Handle structs in the input of RDF data structure functions properly 2020-10-05 12:41:55 +02:00
Marcel Otto
d815200b4a Optimize handling of descriptions in RDF.Description.include?/2 2020-10-05 11:13:28 +02:00
Marcel Otto
08a97ff2dc Add support for quads in input data of RDF.Description functions 2020-10-05 01:28:24 +02:00
Marcel Otto
1a7ffe58c4 Change behaviour of put and add put_properties on RDF.Graph and Dataset 2020-10-04 16:31:41 +02:00
Marcel Otto
4408a04103 Adapt RDF.Dataset.put/3 to new forms of input 2020-10-04 13:25:24 +02:00
Marcel Otto
42f787836f Improve implementation of RDF.Graph.put/3
- fixes bugs with some combinations of possible inputs
- simplify implementation
- add opts
2020-10-04 03:07:27 +02:00
Marcel Otto
9b1600c863 Fix bug in RDF.Graph.put/2 with quad input 2020-10-01 15:53:44 +02:00
Marcel Otto
7fda16a40e Change format for BGP queries to be inline with the common input formats 2020-10-01 15:50:52 +02:00
Marcel Otto
aed8e5bae6 Copy Enum while_ok utils from SPARQL.Client 2020-09-30 14:41:19 +02:00
Marcel Otto
96bb678ffc Fix RDF.Graph.put/2 to ignore empty RDF.Descriptions 2020-09-30 10:47:02 +02:00
Marcel Otto
f83ac494fc Rename RDF.Graph.delete_subjects/2 to RDF.Graph.delete_descriptions/2 2020-09-30 10:20:13 +02:00
Marcel Otto
6315b85edf Add RDF.Dataset.name/1 and RDF.Dataset.change_name/2 2020-09-28 20:48:10 +02:00
Marcel Otto
8b723286c5 Limit and unify the forms of input on RDF.Dataset functions 2020-09-28 17:39:31 +02:00
Marcel Otto
2a44765631 Add support for list of descriptions to RDF.Graph.put/2 2020-09-28 12:36:25 +02:00
Marcel Otto
69fbdd60b3 Add RDF.Graph.base_iri/1 and RDF.Graph.prefixes/1 2020-09-28 11:22:46 +02:00
Marcel Otto
c306700991 Add RDF.Graph.name/1 and RDF.Graph.change_name/2 2020-09-28 11:09:35 +02:00
Marcel Otto
a8c71df20b Limit and unify the forms of input on RDF.Graph functions 2020-09-28 02:49:41 +02:00