Commit graph

484 commits

Author SHA1 Message Date
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