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
1445ea58ef
Add ordering of predications to Turtle encoder
2017-08-11 15:23:54 +02:00
Marcel Otto
2017718000
Enable Turtle as an input format for vocabulary namespaces
2017-08-10 23:41:31 +02:00
Marcel Otto
1e802befca
Add Turtle encoder
2017-08-09 23:24:37 +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
c340a16f96
Don't use the RDF comments in test names of the W3C Turtle test suite
...
Because OTP < 20 doesn't support unicode characters in atoms the CI tests failed.
2017-07-10 02:19:20 +02:00
Marcel Otto
aa62bace10
Add W3C Turtle test suite
2017-07-10 01:46:33 +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
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
a0b18dcfa3
Group Turtle decoder tests
2017-07-07 17:56:48 +02:00
Marcel Otto
4c96499353
Separate N-Triples and N-Quads W3C test suites
2017-07-06 21:52:21 +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
5f207a82ee
Add test for RDF.Dataset.add with a list of graphs
2017-06-17 00:03:15 +02:00
Marcel Otto
c27c61b064
Don't support RDF.Graph. and RDF.Dataset.put with a list of descriptions
2017-06-16 23:19:49 +02:00
Marcel Otto
5805cfe34f
Add and revise documentation of RDF.Description
2017-06-16 23:03:44 +02:00
Marcel Otto
a160fa6517
Rename the app to rdf
2017-06-11 17:23:58 +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
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
7c34231bb5
core: clean up RDF.Vocabulary.Namespace tests
2017-06-10 03:43:51 +02:00
Marcel Otto
f5593aeef7
core: add RDF.Data.merge/2
2017-06-08 22:18:14 +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
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
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
377707f0ef
core: delete statements from a Graph
2017-06-02 16:24:15 +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
19c84b7ea2
core: detect and handle case-violations of vocabulary terms
2017-05-29 23:12:50 +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
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
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
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
34f6a0e28b
core: blank node sigil
2017-05-19 17:19:06 +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
74af0e95e5
json_ld: proper JSON-LD Data Round Tripping
2017-04-28 00:04:27 +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
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
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
443e43da6f
core: rename test groups to tested function
2017-03-31 16:27:34 +02:00
Marcel Otto
2e75b75c83
core: put statements from one graph into another
2017-03-31 16:22:16 +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
e5c8043cc2
core: RDF.Dataset
2017-02-18 21:35:27 +01:00
Marcel Otto
f35086cd7b
core: RDF.Test.Case with shared test helper functions
2017-02-13 01:21:32 +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
7c4218176b
core: TestData helper
2017-02-10 16:14:42 +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
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
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