Commit graph

510 commits

Author SHA1 Message Date
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
Marcel Otto
20a69964c7 Change RDF.Description.new/2 to take initial data via the :init option 2020-09-25 16:07:37 +02:00
Marcel Otto
bcf024647e Merge branch 'master' into rdf-star 2020-09-24 12:05:41 +02:00
Marcel Otto
a4b71b3f9d Add prefixed_name/2 and prefixed_name_to_iri/2 to RDF.PrefixMap 2020-09-16 00:38:56 +02:00
Marcel Otto
081a78c692 Use prefixes of the graphs of a RDF.Dataset when serializing to Turtle 2020-09-14 16:41:41 +02:00
Marcel Otto
6e9889c1bd Add atoms for most common conflict resolvers on RDF.PrefixMap.merge/3 2020-09-14 15:50:32 +02:00
Marcel Otto
092db587b6 Add :only option to Turtle encoder for partial documents 2020-09-14 01:09:46 +02:00
Marcel Otto
d9ab8b5804 Add :directive_style option to Turtle encoder 2020-09-13 22:16:12 +02:00
Marcel Otto
58c5772011 Add RDF.Description.subject/1 and RDF.Description.change_subject/2 2020-07-28 14:45:12 +02:00
Marcel Otto
e9432ef556 Limit the forms of input on RDF.Description functions 2020-07-27 23:09:23 +02:00
Marcel Otto
3f6393a191 Improve RDF.Description.pop/1 2020-07-26 23:01:43 +02:00
Marcel Otto
909e2bde18 Rename the :id field of RDF.BlankNode to :value for consistency reasons 2020-07-08 22:02:58 +02:00
pukkamustard
2d68a352ed
Fix non-empty RDF.Graph when adding empty RDF.Description (#8) 2020-07-03 23:49:06 +02:00
Marcel Otto
0e81f4c02c Apply mix formatter 2020-06-29 10:37:42 +02:00
Marcel Otto
c880026224 Remove references to current module names by using __MODULE__ 2020-06-28 23:40:03 +02:00
Marcel Otto
520a6ba58d Add API documentation for BGP querying and some fixes for the API 2020-06-16 12:05:44 +02:00
Marcel Otto
7d3473abd0 RDF graph query API 2020-06-13 16:16:52 +02:00
Marcel Otto
8d68e925ad Add path query builder 2020-06-12 02:53:29 +02:00
Marcel Otto
b6aafccc7d Move query builder into own module 2020-06-12 00:19:31 +02:00
Marcel Otto
1aa2f22b92 Add RDF.Query.BGP builder 2020-06-10 01:13:01 +02:00
Marcel Otto
f9e451f006 Change BGP matching query results to return variable keys as atoms 2020-06-08 21:56:50 +02:00
Marcel Otto
9cd4478574 Add RDF.Query.BGP struct 2020-06-08 11:36:22 +02:00
Marcel Otto
2fca23209b Rename BGP matcher algorithm behaviour 2020-06-08 10:16:22 +02:00
Marcel Otto
1ca082cbb2 Add and improve existing typespecs on BGP behaviour 2020-06-08 10:08:09 +02:00
Marcel Otto
49bcb27bb0 Add streaming version of the BGP matching algorithm 2020-06-08 00:58:39 +02:00
Marcel Otto
cbc525d982 Move BGP query planner and bnode handler to dedicated files 2020-06-07 23:30:34 +02:00
Marcel Otto
335d4cc66d Make simple BGP more comprehensible 2020-06-07 22:50:24 +02:00
Marcel Otto
ed1b9c80a1 Extract BGP bnode handling 2020-06-06 02:46:03 +02:00
Marcel Otto
f4bda2ef00 Only traverse the solution set to remove blank nodes when necessary
Also add an option remove_bnode_query_variables to skip the removal
generally.
2020-06-05 12:33:04 +02:00
Marcel Otto
ef218a3a90 Extract BGP query planner 2020-06-05 11:10:15 +02:00
Marcel Otto
1de3a7fa6f Add BGP matching algorithm behaviour with a simple implementation
This simple implementation was just extracted unchanged from SPARQL.ex
2020-06-04 21:39:13 +02:00
Marcel Otto
fab63e6a0d Update API documentation 2020-06-01 15:43:38 +02:00
Marcel Otto
8106f89ca0 Optimize canonical_lexical/1 implementation on RDF.XSD.Datatypes 2020-05-29 01:33:40 +02:00
Marcel Otto
df9a928802 Fix dialyzer warnings 2020-05-28 02:00:01 +02:00
Marcel Otto
3743b0e406 Add RDF.Literal.is_a?/2 2020-05-27 23:55:43 +02:00
Marcel Otto
98adbaf878 Handle derived datatypes on RDF.Literal.Datatype.compare/2 properly 2020-05-27 00:56:44 +02:00
Marcel Otto
162e82ed47 Handle derived datatypes on RDF.Literal.Datatype.equal_value?/2 properly 2020-05-25 23:10:50 +02:00
Marcel Otto
d247e1bf4f Support derived datatypes on RDF.Literal.Datatype.value/1 and valid?/2 2020-05-24 21:13:04 +02:00
Marcel Otto
7daf494fb9 Restore ability to cast RDF.IRIs to XSD.Strings and XSD.AnyURIs
This is needed for SPARQL.
2020-05-23 00:31:15 +02:00
Marcel Otto
e755c1d0ff Fix dialyzer warning 2020-05-22 01:07:28 +02:00