Commit graph

281 commits

Author SHA1 Message Date
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 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
Marcel Otto 7f5012dc0e Various fixes of the Turtle decoder 2017-07-09 19:27:21 +02:00
Marcel Otto b27db58856 Add RDF.Description.first/2 2017-07-08 20:55:34 +02:00
Marcel Otto 49842af90f Add RDF.Data.descriptions/1 2017-07-07 19:03:01 +02:00
Marcel Otto cbc2b0f122 Add base URI handling to Turtle decoder 2017-07-07 18:00:09 +02:00
Marcel Otto 06dbddaf3f Add Turtle decoder 2017-07-05 23:27:55 +02:00
Marcel Otto 306b2013d5 Recognize booleans as convertible literals on object position 2017-07-02 19:48:38 +02:00
Marcel Otto 206bc1cbd9 Prevent vocabulary terms conflicting with Elixir semantics 2017-06-23 17:25:27 +02:00
Marcel Otto 8ab2ab1e15 Fix handling of vocabulary terms starting with an underscore 2017-06-23 17:23:14 +02:00
Marcel Otto 02202b49a7 terms in a vocabulary namespace can be ignored 2017-06-21 23:29:24 +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 da24657a07 Move RDF.Dataset.reduce into Enumerable implementation 2017-06-17 00:17:34 +02:00
Marcel Otto 28e84b1432 Add and revise documentation of RDF.Graph 2017-06-16 23:42:32 +02:00
Marcel Otto 5805cfe34f Add and revise documentation of RDF.Description 2017-06-16 23:03:44 +02:00
Marcel Otto a1e08bc831 Revise some module docs 2017-06-16 23:01:08 +02:00
Marcel Otto b489b2de0f Add module documentation for RDF.Sigils 2017-06-16 18:45:52 +02:00
Marcel Otto 93a8a2c40b Exclude NTriples and NQuads decoders and encoders from documentation 2017-06-16 18:45:30 +02:00
Marcel Otto f3168e1682 Add RDF.Writer and corresponding write functions on RDF.Serialization 2017-06-16 18:32:41 +02:00
Marcel Otto 1fdb64c646 Add documentation to RDF.Serialization, RDF.Reader, RDF.Decoder and RDF.Encoder 2017-06-16 18:13:53 +02:00
Marcel Otto 31851d3630 Remove general read and read! functions from RDF.Serializations 2017-06-16 17:31:52 +02:00
Marcel Otto de0e656458 Rename RDF.Serialization.Reader to RDF.Reader 2017-06-16 14:21:12 +02:00
Marcel Otto 5600f8c1ce Add documentation to RDF.BlankNode 2017-06-16 13:13:56 +02:00
Marcel Otto f62316d833 RDF.Description.new can handle a property-value tuple when subject is given separately 2017-06-15 17:51:55 +02:00
Marcel Otto f475f910d4 Print a message before the compilation of bigger vocabulary namespaces 2017-06-14 05:19:18 +02:00
Marcel Otto a9c039dea7 core: remove module docs for internal RDF.Utils.ResourceClassifier 2017-06-11 14:24:29 +02:00
Marcel Otto 8bc4963e39 core: remove URI precompiling workaround 2017-06-11 14:23:17 +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 f3d0ce35f5 core: add documentation for RDF.Namespace and RDF.Vocabulary.Namespace 2017-06-10 22:23:39 +02:00
Marcel Otto 7b794e77fd core: remove unused exception 2017-06-10 21:50:49 +02:00
Marcel Otto 7904476321 core: RDF.Vocabulary.Namespaces can be constructed from NQuad files 2017-06-10 18:02:51 +02:00
Marcel Otto fd45a9ed6c core: add error handling for RDF.Namespace term resolution 2017-06-10 04:26:11 +02:00
Marcel Otto 2a8cf08c8e core: add documentation for RDF.Literal and RDF.Datatypes 2017-06-10 00:18:39 +02:00
Marcel Otto f5593aeef7 core: add RDF.Data.merge/2 2017-06-08 22:18:14 +02:00
Marcel Otto 06fb5a4044 core: fix Inspect implementation of RDF.Dataset 2017-06-08 21:11:56 +02:00
Marcel Otto 38ee0ca44b core: fix and improve behaviour of overwriting the default contexts with add, put and delete of RDF.Dataset 2017-06-07 00:48:08 +02:00
Marcel Otto cd5636528f core: RDF.Dataset.add, .put and .new support another dataset as input 2017-06-06 23:40:48 +02:00
Marcel Otto 232e2ac765 core: add, put and delete of Description and Graph can handle quads
by just ignoring the graph context
2017-06-05 15:50:31 +02:00
Marcel Otto e1e8769fb2 core: add RDF.Statement.convert/1 2017-06-05 03:01:23 +02:00
Marcel Otto b72bf17d9c core: a RDF.Vocabulary.Namespace can be built from any RDF.Data structure 2017-06-05 02:58:49 +02:00
Marcel Otto 96447ec258 core: add RDF.Data.description/2 2017-06-05 02:48:39 +02:00
Marcel Otto 9a128858b6 core: RDF.Dataset.graphs returns a list of graphs
instead of the map from graph names to graphs
2017-06-05 02:41:44 +02:00
Marcel Otto 0271181bca core: RDF.Data protocol implementation for RDF.Dataset 2017-06-04 22:19:21 +02:00
Marcel Otto 371020360f core: RDF.Data protocol implementation for RDF.Graph 2017-06-04 04:51:06 +02:00
Marcel Otto 70e78ee326 core: move RDF.Data implementation 2017-06-04 04:20:08 +02:00
Marcel Otto 25a2d963f6 core: add RDF.Dataset.delete 2017-06-04 04:06:22 +02:00
Marcel Otto 3f403d6f64 core: add RDF.Dataset.delete_graph/2 and RDF.Dataset.delete_default_graph/1 2017-06-03 13:00:58 +02:00
Marcel Otto 7b7c4af243 core: add RDF.Graph.delete_subjects/2 2017-06-02 18:22:58 +02:00
Marcel Otto 6fe4867e18 core: add RDF.Description.delete_predicates/2 2017-06-02 18:06:22 +02:00
Marcel Otto 460d4eef17 core: remove add and put from RDF.Data protocol
We will introduce RDF.Data.merge instead, which can be implemented more consistently
over all structures.
2017-06-02 17:35:34 +02:00
Marcel Otto e666d9d143 core: RDF.Data.deleting a Description with a different subject does nothing 2017-06-02 17:27:03 +02:00
Marcel Otto 81ffadbc53 core: add Description.new(%Description{}) which allows some simplifications 2017-06-02 17:09:10 +02:00
Marcel Otto 377707f0ef core: delete statements from a Graph 2017-06-02 16:24:15 +02:00
Marcel Otto 5575260aee core: remove unnecessary Graph.add function clause 2017-06-02 16:23:07 +02:00
Marcel Otto 88900b0966 core: Description.delete with another, possibly not matching subject description 2017-06-02 16:18:37 +02:00
Marcel Otto d772d8f1ed core: add owl:inverseOf as a property property 2017-05-30 22:06:28 +02:00
Marcel Otto 19c84b7ea2 core: detect and handle case-violations of vocabulary terms 2017-05-29 23:12:50 +02:00
Marcel Otto 0581a45820 core: fix bug in Inspect implementation for RDF.Literal 2017-05-27 21:38:18 +02:00
Marcel Otto 4e523b1bf1 core: add __uris__ to vocabulary namespaces which returns all URIs of the vocabulary 2017-05-26 22:24:44 +02:00
Marcel Otto 44cb4b0815 core: configurable handling of invalid characters in terms 2017-05-26 21:22:26 +02:00
Marcel Otto af751dd2bb core: aliases for terms of RDF.Vocabulary.Namespaces
and some refactorings
2017-05-26 13:54:04 +02:00
Marcel Otto 385183169d core: disable documentation of description builder functions for multi-argument objects 2017-05-25 16:56:29 +02:00
Marcel Otto c82e76cb9e core: simplify implementation of Description DSL by supporting descriptions as subject in Description.new 2017-05-25 15:29:39 +02:00
Marcel Otto 88d260ac1e core: Description DSL 2017-05-25 13:34:42 +02:00
Marcel Otto 9105ef3a49 core: RDF.Data protocol implementation for RDF.Description 2017-05-24 23:38:46 +02:00
Marcel Otto deeed3224f core: RDF.Data protocol 2017-05-24 23:37:09 +02:00
Marcel Otto 5a911a9cce core: delete statements from a Description 2017-05-23 02:03:41 +02:00
Marcel Otto ef5b5985dd core: fix pending base_uri validation on vocabulary namespaces 2017-05-21 23:28:34 +02:00
Marcel Otto e01d641290 json_ld: RDF to JSON-LD serialization 2017-05-20 16:35:56 +02:00
Marcel Otto 7a2c165bbb core: NQuads encoder 2017-05-19 18:56:40 +02:00
Marcel Otto ec7f4b3e7e core: NTriples encoder 2017-05-19 18:56:01 +02:00
Marcel Otto cd7e91ec9d core: RDF.Serialization.Encoder behaviour 2017-05-19 18:10:32 +02:00
Marcel Otto 229f42ee3c core: Inspect protocol implementation for RDF.BlankNode 2017-05-19 17:23:54 +02:00
Marcel Otto 34f6a0e28b core: blank node sigil 2017-05-19 17:19:06 +02:00
Marcel Otto b713361065 core: String.Chars protocol implementation for RDF.BlankNode 2017-05-19 17:17:41 +02:00
Marcel Otto e96060d117 core: normalize internal blank node representation 2017-05-19 17:16:43 +02:00
Marcel Otto 1978749c18 core: URIs don't require a path 2017-05-16 01:47:12 +02:00
Marcel Otto a5fc5aa607 core: fix read_file! to propagate parsing errors properly 2017-05-15 22:48:55 +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 d0b511c771 core: plain Literal sigil 2017-04-18 03:27:28 +02:00
Marcel Otto 06854efbd8 core: more elaborated RDF.Literals (WIP) 2017-04-16 23:13:39 +02:00
Marcel Otto 87a3125632 core: extract general Statement module from Triple and Quad 2017-04-12 21:31:42 +02:00
Marcel Otto 888ac4d69b core: Inspect protocol implementations 2017-04-12 11:15:53 +02:00
Marcel Otto fdead7a90f core: N-Quads serialization decoder 2017-04-11 02:09:35 +02:00
Marcel Otto 08f276ee41 core: graph names can be blank nodes 2017-04-11 02:05:57 +02:00
Marcel Otto f586acb8b5 core: a different approach for the serialization API 2017-04-11 00:12:29 +02:00
Marcel Otto d56e9b03fc use the IRI sigil 2017-04-10 03:06:20 +02:00
Marcel Otto b167cd7e8e core: IRI sigil 2017-04-10 02:38:30 +02:00
Marcel Otto e09714158c core: allow blank nodes as predicates
since JSON-LD supports them when producing generalized RDF
2017-04-07 15:44:36 +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 ccc8b94ade core: put statements of a Graph to a Dataset 2017-04-01 02:17:59 +02:00
Marcel Otto 87ba61eeb2 core: initializing a new Dataset with a Graph 2017-04-01 01:55:35 +02:00
Marcel Otto 186756bf81 core: add statements of a Graph to a Dataset 2017-04-01 01:19:54 +02:00
Marcel Otto 7b659d5ddf core: some refactorings of RDF.Graph 2017-04-01 01:13:18 +02:00
Marcel Otto 2e75b75c83 core: put statements from one graph into another 2017-03-31 16:22:16 +02:00
Marcel Otto a28f27133e core: creating a description from another description just copies the predications 2017-03-31 16:08:06 +02:00
Marcel Otto fd3a20116b core: creating a new graph from another graph 2017-03-31 16:04:39 +02:00
Marcel Otto f49828b76b core: add statements from one graph to another 2017-03-31 15:55:56 +02:00
Marcel Otto a1dcc4cc8f core: clean up unused vocabulary namespace stuff 2017-03-12 14:34:12 +01: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 012f01ae14 core: proper exception when read_file fails 2017-03-11 18:28:46 +01:00
Marcel Otto c466b0b645 core: remove unused alias 2017-03-08 00:37:20 +01:00
Marcel Otto d2019eef58 core: RDF.Dataset.graph/2 and RDF.Graph.description/2
and other minor refactorings
2017-02-19 01:34:01 +01:00
Marcel Otto e5c8043cc2 core: RDF.Dataset 2017-02-18 21:35:27 +01:00
Marcel Otto a32ca93f4c add more empty parentheses to bareword function calls for Elixir 1.4 2017-02-13 01:51:26 +01:00
Marcel Otto 7304037d47 add empty parentheses to bareword function calls for Elixir 1.4 2017-02-12 15:42:27 +01:00
Marcel Otto 1222a0d728 core: Graph.new, .add and .put accept Descriptions as data to be added
Graph.put with a list of Descriptions remains to be done
2016-12-09 14:52:21 +01:00
Marcel Otto e82669248f core: get rid of unused opts warning 2016-12-09 14:50:37 +01:00
Marcel Otto 9764a01753 core: Description.triples and Graph.triples 2016-12-01 00:06:45 +01:00
Marcel Otto 6a9daa30e6 core: Access behaviour for Graph 2016-11-27 13:49:42 +01:00
Marcel Otto ebd751827f core: Description.put 2016-11-26 23:45:41 +01:00
Marcel Otto 012daff14d core: Graph.add and .new accept triple elements directly, with possibly multiple objects 2016-11-25 01:17:07 +01:00
Marcel Otto 838fdf4b9e core: add and fix documentation 2016-11-24 21:36:13 +01:00
Marcel Otto 0644711a31 core: Description.new, .add and .put accept a Map with convertible RDF terms 2016-11-24 08:44:07 +01:00
Marcel Otto 33feb647ff core: Description.new, .add and .put accept another Description as data to be added 2016-11-15 01:26:57 +01:00
Marcel Otto 6da502edf4 core: Access behaviour and put function for Description 2016-11-11 16:42:10 +01:00
Marcel Otto 4ebc3e63c4 core: collect all exceptions in a dedicated file 2016-11-04 22:13:06 +01:00
Marcel Otto c192b49bfd core: functions to get the sets of all subjects, predicates, objects and resources of Descriptions and Graphs 2016-11-02 03:19:19 +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
Marcel Otto 499714285b core: basics of the RDF model 2016-10-16 21:42:03 +02:00