Marcel Otto
6049798b37
Add and fix some Dialyzer typespecs
2020-04-12 21:52:25 +02:00
Marcel Otto
fa4bfdff1a
Change constructor interface of RDF.LangString and RDF.Generic
2020-04-12 04:34:04 +02:00
Marcel Otto
f6146c51b0
Revision of the literal system with extracted XSD datatypes
2020-04-10 23:56:35 +02:00
Marcel Otto
611ada00a2
Don't print "Compiling vocabulary namespace" message during tests
2020-04-05 01:29:24 +02:00
Marcel Otto
7858ff77c4
Minor changes on RDF.Boolean specs
2020-03-11 00:39:18 +01:00
rustra
8115554847
Minor changes in specs
2020-03-10 22:44:54 +01:00
rustra
91dc078763
Improve specs for serialization
2020-03-10 01:37:53 +01:00
rustra
bd52920e7c
Improve specs for datatypes
2020-03-10 01:37:14 +01:00
Marcel Otto
2244c36b78
Fix warning
2020-03-04 01:31:48 +01:00
Marcel Otto
a047697f70
Fix deprecation warning for Code.ensure_compiled?/1 on Elixir 1.10
2020-03-04 01:30:19 +01:00
rustra
08b4a44b13
Add value type specs for RDF.Datatype
2020-03-03 22:36:11 +01:00
rustra
3da72f9e6a
Specs improvements and fixes
2020-03-03 22:02:35 +01:00
rustra
8345e101d3
Add function signatures
2020-03-02 18:23:34 +01:00
rustra
83f62335b3
Fix type specs for structs
2020-02-28 18:51:48 +01:00
Marcel Otto
ef55979f31
Fix incorrect handling of 24h overflows with an offset on RDF.XSD.Time
2020-02-14 08:56:14 +01:00
Marcel Otto
0f42c462ab
Add RDF.Diff to module overview
2019-11-27 09:10:57 +01:00
Marcel Otto
092a9c60d1
Change write_file functions to no longer use :utf8 file mode option
2019-11-21 22:06:09 +01:00
Marcel Otto
a77fe7c56e
Add RDF.Diff.empty?/1
2019-11-20 01:56:43 +01:00
Marcel Otto
a1cbbd24b6
Add RDF.Diff.apply/2
2019-11-20 01:45:34 +01:00
Marcel Otto
b6438b1c41
Add RDF.diff/2 alias
2019-11-20 01:45:18 +01:00
Marcel Otto
4e38080774
Add RDF.Diff
2019-11-19 22:49:00 +01:00
Marcel Otto
30bde1acc2
Add RDF.Graph.clear/1
2019-11-02 01:35:09 +01:00
Marcel Otto
02131efc15
Add RDF.Graph.update/4
2019-10-24 22:03:05 +02:00
Marcel Otto
623577b35e
Add RDF.Description.update/4
2019-10-23 17:31:21 +02:00
Marcel Otto
2cfa89125f
Add RDF.Graph.take/3
2019-10-15 17:29:46 +02:00
Marcel Otto
cf568dd06e
Add RDF.Description.take/2
2019-10-14 09:13:56 +02:00
Marcel Otto
9e81f69636
Remove RDF.IRI.empty_fragment_shim/2
...
This is no longer needed, since we don't support Elixir versions < 1.6
anymore.
2019-09-24 00:50:34 +02:00
Marcel Otto
18ae910bd7
Fix vocabulary namespace detection
2019-09-06 15:05:40 +02:00
Marcel Otto
3f1afa190f
Use new RDF.IRI.coerce_base/1
for RDF.Graph.set_base_iri/2
2019-08-08 22:32:21 +02:00
Marcel Otto
fe49c0e431
Move base IRI coercion from PrefixMap into new RDF.IRI.coerce_base/1
...
- and extend it to also support terms from vocabulary namespaces
2019-08-08 22:26:07 +02:00
Marcel Otto
65374303d4
Fix docs
2019-08-05 02:23:29 +02:00
Marcel Otto
5f855de58c
Use RDF.default_base_iri in Turtle encoder and decoder
2019-08-04 00:13:13 +02:00
Marcel Otto
58d21a3405
Add alias base_iri for the base option of the RDF.Turtle.Encoder
2019-08-03 01:33:47 +02:00
Marcel Otto
14b1dc5825
Let RDF.Turtle.Encoder use base IRI from the graph when none provided
2019-08-03 01:02:32 +02:00
Marcel Otto
19e12909ca
Change RDF.Turtle.Decoder to save the base IRI in the graph
2019-08-03 00:41:06 +02:00
Marcel Otto
b28e5e4744
Add RDF.Graph.base_iri field and functions to handle it
2019-08-03 00:36:25 +02:00
Marcel Otto
22ec671da7
Improve error messages of Turtle, N-Triples and N-Quads decoder
2019-07-06 02:32:31 +02:00
Marcel Otto
1f07377cae
Fix unicode escaping issue in RDF.Literal.matches
2019-07-06 01:59:03 +02:00
Marcel Otto
49a897d79b
Fix UTF-16 character handling in regex patterns
2019-06-23 15:47:18 +02:00
Marcel Otto
dc2b070e05
Fix RDF.Double to not accept +INF as a valid value
2019-06-23 15:45:23 +02:00
Marcel Otto
34eaacdf37
true and false with capital letters are no longer valid RDF.Booleans
2019-06-08 22:56:22 +02:00
Marcel Otto
5b10ccd58b
Fix RDF.Literal.new/1 to handle decimals correctly
2019-05-04 14:59:33 +02:00
Marcel Otto
f89b34ed4b
Add RDF.IRI.to_string/1
2019-05-01 03:06:35 +02:00
Marcel Otto
9587b1fd08
Fix warning
2019-04-29 20:45:06 +02:00
Marcel Otto
a1e4049cba
Fix missing unescaping of language literals during Turtle parsing
2019-04-28 00:35:23 +02:00
Marcel Otto
568190e327
Add digit_count and fraction_digit_count to RDF.Decimal
2019-04-22 11:17:16 +02:00
Marcel Otto
3de7d700d3
Make RDF.Literal.xpath_pattern/2 public
2019-04-21 03:59:38 +02:00
Marcel Otto
489e964c6d
Add RDF.Literal.matches?/3
2019-04-20 23:33:09 +02:00
Marcel Otto
68c91b6894
Add links to website
2019-04-06 02:24:22 +02:00
Marcel Otto
95d5d01217
Fix RDF.Dataset.equal?/2 to ignore prefixes
2019-04-04 21:19:33 +02:00
Marcel Otto
731b168ef4
Add RDF.Data.equal?/2
2019-04-04 01:55:34 +02:00
Marcel Otto
158decc16b
Add equal?/2 on RDF.Description, RDF.Graph and RDF.Dataset
2019-04-03 00:15:25 +02:00
Marcel Otto
2e49f8b73a
Let RDF.Turtle.Encoder use other prefixes when none provided
2019-04-02 00:34:19 +02:00
Marcel Otto
eb71b26f08
Remove unnecessary whitespace
2019-04-01 02:04:51 +02:00
Marcel Otto
74490c96c9
Change RDF.Turtle.Decoder to save the prefixes in the graph
2019-03-31 05:07:34 +02:00
Marcel Otto
195b967b93
Add prefix management to RDF.Graph
2019-03-31 01:15:56 +01:00
Marcel Otto
8bffff7c76
Rename the conflict resolver function for RDF.PrefixMap merges
2019-03-30 22:18:10 +01:00
Marcel Otto
c2e6ffdebb
Optimize RDF.PrefixMap.new/1 creation from another PrefixMap
2019-03-30 22:11:04 +01:00
Marcel Otto
6c9f580cab
Add RDF.PrefixMap.drop/2
2019-03-30 20:29:48 +01:00
Marcel Otto
ec33614880
Fix RDF.PrefixMap.merge/3 when the merged prefixes are not a PrefixMap
2019-03-30 20:12:39 +01:00
Marcel Otto
15961b8fef
Fix detection of vocabulary namespaces
2019-03-30 02:01:30 +01:00
Marcel Otto
bee98f3e75
Add RDF.PrefixMap.merge/3 and RDF.PrefixMap.merge!/3
2019-03-30 00:01:46 +01:00
Marcel Otto
b75024baf5
Let RDF.PrefixMap.merge/2 return the list conflicts in the error case
2019-03-29 21:05:46 +01:00
Marcel Otto
1801ad186c
Change RDF.Dataset.new to take the dataset name as an option
2019-03-29 01:57:49 +01:00
Marcel Otto
1793c842bb
Change RDF.Graph.new to take the graph name as an option
2019-03-29 01:26:50 +01:00
Marcel Otto
6bd42a9c39
Add configurable RDF.default_prefixes
2019-03-28 00:12:14 +01:00
Marcel Otto
2644570521
Fix some typos
2019-03-27 23:47:23 +01:00
Marcel Otto
4da3a12011
Add RDF.PrefixMap.merge!/2
2019-03-26 23:00:00 +01:00
Marcel Otto
14f7bb5693
Allow namespaces to be given as RDF.Vocabulary.Namespaces in PrefixMaps
2019-03-26 22:31:05 +01:00
Marcel Otto
86ca2a866c
Fix RDF.PrefixMap.normalize/1
2019-03-26 21:53:57 +01:00
Marcel Otto
4f71d14377
Add RDF.PrefixMap
2019-03-26 00:31:43 +01:00
Marcel Otto
a68cf0dc6a
Fix deprecation warning with Elixir 1.8
...
warning: Inspect.Algebra.surround/3 is deprecated. Use a combination of concat/2 and nest/2 instead
2019-02-15 02:30:59 +01:00
Marcel Otto
3086374a0d
Fix deprecation warning with Decimal 1.6
...
warning: passing float to Decimal.new/1 is deprecated, use Decimal.from_float/1 instead
2019-02-15 02:30:41 +01:00
Marcel Otto
8979cfd001
Fix Kernel function conflict under Elixir 1.8
2019-01-17 18:08:07 +01:00
Marcel Otto
c5c43caceb
Fix wrong signatures of RDF.write_file and RDF.write_file! delegators
2018-11-18 21:19:11 +01:00
Marcel Otto
77f9ad491a
Fix typos
2018-11-17 02:51:14 +01:00
Marcel Otto
036de6e66c
Add valid?/1 on RDF.Triple, RDF.Quad and RDF.Statement
2018-11-11 13:14:48 +01:00
Marcel Otto
d1532d7022
Fix typo in docs
2018-11-11 02:28:38 +01:00
Marcel Otto
4336602dcc
Add a values/2 variant with a custom mapping function
2018-11-04 22:27:25 +01:00
Marcel Otto
535e5b3713
Allow value equality comparisons between XSD dates and datetimes
...
This is required to make date-2 of the SPARQL 1.0 open-world test pass.
Strangely enough, ordering comparisons are nevertheless disallowed
according to date-3 of the same test suite. An implementation which
would allow order comparison is included but uncommented.
2018-11-04 17:27:45 +01:00
Marcel Otto
b7291c7d93
Proper handling of comparisons between date literals
2018-11-04 15:54:49 +01:00
Marcel Otto
10dc249531
Accept "-00:00" as a valid timezone offset on RDF.DateTime literals
2018-11-04 04:02:36 +01:00
Marcel Otto
1907e22c62
Add literal comparison functions
2018-11-02 22:00:48 +01:00
Marcel Otto
52933b5297
Add RDF.Data.values/1
2018-10-28 03:50:48 +01:00
Marcel Otto
defd1857e5
Add values/1 on RDF.Description, RDF.Graph and RDF.Dataset
2018-10-27 16:30:19 +02:00
Marcel Otto
9e06cea7ca
Fix RDF.Date.equal_value?/2 to handle timezones correctly
2018-10-26 01:08:21 +02:00
Marcel Otto
1276f252c5
Add values/1 on RDF.Triple, RDF.Quad and RDF.Statement
2018-10-22 00:52:22 +02:00
Marcel Otto
7766a4a820
Add RDF.Term.value/1
2018-10-05 01:15:36 +02:00
Marcel Otto
04f6420962
Remove references to RDF.Vocab package temporarily
...
In its current form it is not recommended to use this package since it
brings a huge baggage as a dependency into your application. A major
rewrite is planned.
2018-09-27 00:46:34 +02:00
Marcel Otto
3268d2d08e
Hide some internal functions
2018-09-17 02:08:42 +02:00
Marcel Otto
9c6beeac13
Add @impl annotations
2018-09-17 02:08:16 +02:00
Marcel Otto
dfb88ac65e
Fix RDF.resource?/1 to not fail when called with unresolvable atoms
2018-09-16 22:28:46 +02:00
Marcel Otto
f4877bbc65
Fix some issues with RDF.Term coercion in various contexts
2018-09-16 22:21:53 +02:00
Marcel Otto
1cd3a0c342
Support RDF.Term coercion on all arithmetic operations in RDF.Numeric
2018-09-16 15:11:51 +02:00
Marcel Otto
d72c5ebd1f
Add Decimal implementation of RDF.Term protocol
2018-09-16 15:07:41 +02:00
Marcel Otto
edfdb186d0
Add RDF.Term.coerce/1
2018-09-16 04:02:53 +02:00
Marcel Otto
7e7f6e7189
Add RDF.term?/1
2018-09-16 03:52:07 +02:00
Marcel Otto
b6db74e686
Add top-level aliases for some ambiguous cases
2018-09-15 00:34:09 +02:00
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
7847c76fc9
Change RDF.Datatype.cast implementations to return nil when not castable
2018-09-14 18:00:43 +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
584d87a49c
Add dayTimeDuration and yearMonthDuration to RDF.Datatype.NS
2018-09-14 14:12:12 +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
60281a0379
Add is_xsd_date/1 and is_xsd_time/1 guards
2018-09-11 03:16:10 +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
1fa369197e
Add RDF.DateTime.tz/1 optimization for naive datetimes
2018-09-11 00:04:39 +02:00
Marcel Otto
b0bfd7fe62
Specify enforced keys for structs
2018-09-10 00:27:40 +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
b0e4e5327e
Add RDF.Datatype.cast/1
2018-09-09 15:26:32 +02:00
Marcel Otto
f4b9b0f434
Add RDF.DateTime.now/0
2018-09-08 21:50:42 +02:00
Marcel Otto
93b932620c
Add RDF.Literal.Guards
2018-09-07 21:42:38 +02:00
Marcel Otto
e393bff9ef
Add RDF.Term.t type
2018-09-02 05:25:20 +02:00
Marcel Otto
be390adaea
Add missing defoverridable for Reader.encode!/1
2018-08-31 01:14:11 +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
315828a1d6
Fix warning
2018-08-27 00:31:02 +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
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
81cfcff5d7
Add default_base_iri configuration and use it for serialization readers
2018-08-17 01:31:08 +02:00
Marcel Otto
87b34f8464
Fix warnings raised on Elixir 1.7
2018-08-16 23:46:05 +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
d00fa6e914
Fix typos
2018-07-18 00:08:37 +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
708e46384a
Fix RDF.Double on OTP 21
2018-06-30 12:14:30 +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
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
9193dd916f
Small refactoring
2018-06-15 20:56:40 +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
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
b4c3dc8d98
Use function body rescue where possible
2018-05-16 01:59:46 +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
0e913fce81
Fix some typos in the documentation
2018-03-19 01:50:05 +01:00
Marcel Otto
733ee44749
Add RDF.Literal.new!/2
2018-03-14 11:46:11 +01: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
c179185cfd
Fix some warnings
2018-03-09 23:57:20 +01:00
Marcel Otto
56436f85af
Provide fallback implementations for Enumerable.slice/1
2018-03-09 23:18:08 +01:00
Marcel Otto
5aaf15bbcd
Use RDF.read_file/1 in RDF.Vocabulary.Namespace
2018-03-09 21:26:15 +01:00
Marcel Otto
24aabc389b
Add general RDF.Serialization.read_* and write_* functions
2018-03-09 21:15:43 +01:00
Marcel Otto
54d9eff014
Move RDF.Reader and RDF.Writer into RDF.Serialization module
2018-03-08 17:33:20 +01:00
Marcel Otto
eb6ede55b9
Rename RDF.Serialization.Format.content_type/0 to media_type/0
2018-03-08 02:14:49 +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
7753d0d6f7
Add name to RDF.Serialization formats
2018-03-07 10:16:00 +01:00
Marcel Otto
6832176904
Fix some warnings
2018-03-02 01:14:50 +01:00
Marcel Otto
bb0f8e12aa
Fix typos and RDF.Serialization.Decoder callback spec
2018-03-01 13:31:06 +01:00
Marcel Otto
57d59d9783
Make RDF.Turtle.Decoder.tokenize public
2018-02-28 01:20:18 +01:00
Adam Keys
e9cd2bf711
Fix unescape_map in parse_helper for elixir 1.6
2018-01-19 10:24:20 -06:00
Marcel Otto
b445f2e31c
Add Collectable implementations for all RDF data structures
2017-10-30 12:15:16 +01:00
Marcel Otto
102db58c3b
Show always the compilation message of vocabulary namespaces
2017-08-22 00:43:31 +02: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
eeffceb16d
Fix some warnings
2017-08-11 18:33:12 +02:00
Marcel Otto
6d00346dcd
Add RDF.__base_uri__/0 delegator function
2017-08-11 15:43:40 +02:00
Marcel Otto
1445ea58ef
Add ordering of predications to Turtle encoder
2017-08-11 15:23:54 +02:00
Marcel Otto
0410c3ac0a
Use Turtle files for the predefined vocabulary namespaces
2017-08-10 23:45:28 +02:00
Marcel Otto
2017718000
Enable Turtle as an input format for vocabulary namespaces
2017-08-10 23:41:31 +02:00
Marcel Otto
de4b526e9a
Remove use Agent
from RDF.Turtle.Encoder.State
...
it's a Elixir 1.5 feature, which we actually don't require
2017-08-09 23:35:12 +02:00
Marcel Otto
1e802befca
Add Turtle encoder
2017-08-09 23:24:37 +02:00
Marcel Otto
bb138f7e90
Another fix of URI.parse not preserving empty fragments
2017-08-01 01:38:54 +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
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
44b527038d
RDF.uri/1 preserves empty fragments
2017-07-16 23:59:28 +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
1ce89e7ad4
Add documentation for the top-level RDF module
2017-06-18 23:04:58 +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
be2f10f5cd
Add RDF.quad constructor function for RDF.Quads
2017-06-11 22:54:41 +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
e9820ab554
core: fix doctest
2017-05-19 18:08:59 +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
4e00396a64
json_ld: JSON-LD toRdf test suite and various fixes
2017-04-14 16:24:19 +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
daba9d9667
json_ld: JSON-LD compaction test suite and various compaction fixes
...
but still 13 tests failing
2017-03-25 22:16:59 +01: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