Commit graph

199 commits

Author SHA1 Message Date
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
6d4c0b2a37 Add tests of equality comparison of literals with unknown datatypes 2018-09-14 21:30:48 +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
a2cd1adeeb Fix broken test 2018-09-14 17:07:37 +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
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
65a08c7754 Add Elixir version conditional for test with negative year 2018-09-11 03:21:51 +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
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
Marcel Otto
9c78ebeba7 Minor refactorings 2018-08-31 01:51:31 +02:00
Marcel Otto
598fd731e6 RDF.BlankNode.Generate can generate blank nodes for every value
- not just strings
2018-08-29 21:26:13 +02:00
Marcel Otto
adc1d953dc Add RDF.BlankNode.Generator 2018-08-28 01:14:44 +02:00
Marcel Otto
3549a67a12 Fix new and new! on RDF.Literal and RDF.String when language nil given 2018-08-26 05:46:18 +02:00
Marcel Otto
fbbd52d1b0 Add version-dependent tests for negative years in Dates and DateTimes 2018-08-25 00:53:37 +02:00
Marcel Otto
6bafb41cf9 Change RDF.IRI.absolute/2 to return nil if the base is not absolute 2018-08-24 01:32:54 +02:00
Marcel Otto
1c7cad39be Fix datatype and lexical form of result of various numeric functions
- to match SPARQL semantics
2018-08-21 03:27:48 +02:00
Marcel Otto
ec55b3758f Add RDF.DateTime.tz/1 2018-08-10 23:51:04 +02:00
Marcel Otto
a51e518c26 Fix RDF.DateTime to store microseconds 2018-07-20 01:49:59 +02:00
Marcel Otto
974b2c8360 Add RDF.Numeric.ceil/1 and RDF.Numeric.floor/1 2018-07-14 01:18:13 +02:00
Marcel Otto
cb9585d87a Add RDF.Numeric.round/1 and RDF.Numeric.round/2 2018-07-13 23:14:20 +02:00
Marcel Otto
ae54a8bfe2 Add RDF.Numeric.abs/1 2018-07-13 01:34:12 +02:00
Marcel Otto
34898cd696 Add RDF.LangString.match_language?/2 2018-07-10 00:18:16 +02:00
Marcel Otto
4cea91e52f Change RDF.String.new/2 to produce language strings when language given 2018-07-09 23:04:25 +02:00
Marcel Otto
978ed89164 Fix RDF.LangString to produce invalid literals when invalid languages given 2018-07-09 21:49:25 +02:00
Marcel Otto
7ad3c0acc1 Add arithmetic operations on RDF.Numeric 2018-06-22 22:03:23 +02:00
Marcel Otto
ca3c4a0104 Fix RDF.Decimal
- the canonical representation of given Decimals was not always correct,
  we now store always the canonical decimal as the Literal.value
2018-06-17 23:40:07 +02:00
Marcel Otto
2313e001fd Support value equality checks on RDF.Decimals 2018-06-16 01:48:10 +02:00
Marcel Otto
d06dcacb04 Add typed literal creation test for xsd:decimal 2018-06-16 01:42:08 +02:00
Marcel Otto
6a357229b2 Enable support for decimal literals in Turtle encoder 2018-06-15 21:35:29 +02:00
Marcel Otto
f5684262e7 Add RDF.Decimal datatype 2018-06-15 21:19:22 +02:00
Marcel Otto
0b45e06cf3 Add forgotten equality tests for string literals 2018-06-08 19:45:57 +02:00
Marcel Otto
d838424478 Add RDF.Term.equal?/2 and RDF.Term.equal_value?/2 2018-06-08 12:26:52 +02:00
Marcel Otto
cae8e183e0 Fix RDF.DateTime to support 24:00:00 as valid time 2018-06-03 23:21:14 +02:00
Marcel Otto
71dc3d5acc Add functions for the basic logical operations to RDF.Boolean 2018-05-29 22:40:11 +02:00
Marcel Otto
a8cc834616 Enable DocTests on all RDF.Datatype tests 2018-05-29 22:37:38 +02:00
Marcel Otto
f3cc9ccf7e Add Effective Boolean Value (EBV) algorithm and RDF.Numeric 2018-05-27 22:19:08 +02:00
Marcel Otto
3e5db97ce4 Add top-level functions for the two boolean RDF.Literal values 2018-05-26 02:51:28 +02:00
Marcel Otto
df05445733 Add top-level alias functions for constructors of the basic datatypes 2018-04-07 22:59:03 +02:00
Marcel Otto
e80488d601 Don't fail when creating a rdf:langString literal without a language tag 2018-03-14 10:42:41 +01:00
Marcel Otto
24aabc389b Add general RDF.Serialization.read_* and write_* functions 2018-03-09 21:15:43 +01:00
Marcel Otto
4f5b06c830 Add RDF.Serialization with functions to access available formats 2018-03-08 01:57:38 +01:00
Marcel Otto
7314f2d643 Rename RDF.Serialization behaviour to RDF.Serialization.Format 2018-03-07 10:33:09 +01:00
Marcel Otto
b445f2e31c Add Collectable implementations for all RDF data structures 2017-10-30 12:15:16 +01:00
Marcel Otto
dfb42f7eaf Fix a warning 2017-10-30 11:37:28 +01:00
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