Commit graph

529 commits

Author SHA1 Message Date
Marcel Otto 1aa2f22b92 Add RDF.Query.BGP builder 2020-06-10 01:13:01 +02:00
Marcel Otto f9e451f006 Change BGP matching query results to return variable keys as atoms 2020-06-08 21:56:50 +02:00
Marcel Otto 9cd4478574 Add RDF.Query.BGP struct 2020-06-08 11:36:22 +02:00
Marcel Otto 2fca23209b Rename BGP matcher algorithm behaviour 2020-06-08 10:16:22 +02:00
Marcel Otto 1ca082cbb2 Add and improve existing typespecs on BGP behaviour 2020-06-08 10:08:09 +02:00
Marcel Otto 49bcb27bb0 Add streaming version of the BGP matching algorithm 2020-06-08 00:58:39 +02:00
Marcel Otto cbc525d982 Move BGP query planner and bnode handler to dedicated files 2020-06-07 23:30:34 +02:00
Marcel Otto 335d4cc66d Make simple BGP more comprehensible 2020-06-07 22:50:24 +02:00
Marcel Otto ed1b9c80a1 Extract BGP bnode handling 2020-06-06 02:46:03 +02:00
Marcel Otto f4bda2ef00 Only traverse the solution set to remove blank nodes when necessary
Also add an option remove_bnode_query_variables to skip the removal
generally.
2020-06-05 12:33:04 +02:00
Marcel Otto ef218a3a90 Extract BGP query planner 2020-06-05 11:10:15 +02:00
Marcel Otto 1de3a7fa6f Add BGP matching algorithm behaviour with a simple implementation
This simple implementation was just extracted unchanged from SPARQL.ex
2020-06-04 21:39:13 +02:00
Marcel Otto 8813ab9384 Prepare release 0.8.0 2020-06-01 21:33:07 +02:00
Marcel Otto 83c8b49bc5 Update links to new repo URL under the rdf-elixir organization 2020-06-01 17:34:49 +02:00
Marcel Otto b82aeb67d2 Update README 2020-06-01 16:44:06 +02:00
Marcel Otto 4ad7287edf Update CHANGELOG 2020-06-01 16:43:25 +02:00
Marcel Otto fab63e6a0d Update API documentation 2020-06-01 15:43:38 +02:00
Marcel Otto 21924315cc Update year in license file 2020-05-31 23:49:18 +02:00
Marcel Otto f18ea36e79 Add RDF.XSD alias to .iex.exs 2020-05-31 23:48:50 +02:00
Marcel Otto 0ae2e6eded Add OTP 23 to CI and temporarily disable OTP 20 2020-05-29 12:22:29 +02:00
Marcel Otto 36cb30ee77 Remove Inch from CI 2020-05-29 11:49:53 +02:00
Marcel Otto 164396d12f Remove obsolete benchmarks 2020-05-29 11:21:49 +02:00
Marcel Otto 8106f89ca0 Optimize canonical_lexical/1 implementation on RDF.XSD.Datatypes 2020-05-29 01:33:40 +02:00
Marcel Otto 1b213d3d80 Update dependencies 2020-05-28 02:03:26 +02:00
Marcel Otto df9a928802 Fix dialyzer warnings 2020-05-28 02:00:01 +02:00
Marcel Otto 3743b0e406 Add RDF.Literal.is_a?/2 2020-05-27 23:55:43 +02:00
Marcel Otto 98adbaf878 Handle derived datatypes on RDF.Literal.Datatype.compare/2 properly 2020-05-27 00:56:44 +02:00
Marcel Otto 162e82ed47 Handle derived datatypes on RDF.Literal.Datatype.equal_value?/2 properly 2020-05-25 23:10:50 +02:00
Marcel Otto d247e1bf4f Support derived datatypes on RDF.Literal.Datatype.value/1 and valid?/2 2020-05-24 21:13:04 +02:00
Marcel Otto 7daf494fb9 Restore ability to cast RDF.IRIs to XSD.Strings and XSD.AnyURIs
This is needed for SPARQL.
2020-05-23 00:31:15 +02:00
Marcel Otto ffebf86505 Remove redundant tests 2020-05-22 10:21:29 +02:00
Marcel Otto e755c1d0ff Fix dialyzer warning 2020-05-22 01:07:28 +02:00
Marcel Otto 6c102c7ec8 Add explicitTimezone XSD datatype facet 2020-05-22 01:01:08 +02:00
Marcel Otto 486a64b4d7 Add totalDigits and fractionDigits XSD datatype facets 2020-05-21 22:57:03 +02:00
Marcel Otto 0a27c3a928 More strict type for length XSD datatype facets
as defined in the XSD spec
2020-05-21 22:24:44 +02:00
Marcel Otto c2a28b3eb4 Add pattern XSD datatype facet 2020-05-21 17:54:38 +02:00
Marcel Otto 80b1382fa9 Add length facets to XSD.AnyURI 2020-05-21 17:50:53 +02:00
Marcel Otto dbaac77dbb Handle derived types in RDF.Literal.Datatype.cast/1 implementations 2020-05-21 15:42:02 +02:00
Marcel Otto c1a61c58e8 Remove coercion on RDF.Literal.Datatype.cast/1
It's not worth the effort and more explicit to do the coercion step

manually.
2020-05-21 01:58:07 +02:00
Marcel Otto accf66d75f Fix failing of numeric operations with invalid literals 2020-05-20 00:32:20 +02:00
Marcel Otto fa130bf14e Fix type promotion on numeric operations with derived datatypes 2020-05-19 03:09:29 +02:00
Marcel Otto 22c2aaa1af Add length, minLength and maxLength XSD datatype facets 2020-05-17 22:54:07 +02:00
Marcel Otto 2c4b5f604a Add minExclusive and maxExclusive XSD datatype facets 2020-05-17 21:51:03 +02:00
Marcel Otto 09dceb0e35 Add proper handling for derived datatypes on numeric operations
with type promotion
2020-05-17 21:49:07 +02:00
Marcel Otto bf932be26d Add min- and max-inclusive facet implementations to decimal and double 2020-05-17 20:21:00 +02:00
Marcel Otto 5daf32446d Fix regression in RDF.LangString.match_language?/2 2020-05-17 02:47:48 +02:00
Marcel Otto 47a19c0a67 Add proper handling of vocabulary terms at various places
- in the coerce and value functions of the RDF.Term protocol for atoms
- allow them as XSD.AnyURI values
- RDF.Literal.coerce produces XSD.AnyURI literals from them
- allow them in equal_value comparisons with RDF.IRIs and XSD.AnyURIs
2020-05-17 00:53:36 +02:00
Marcel Otto 76b6f69613 Fix raised BEAM error warning when namespace resolving top-level modules 2020-05-17 00:01:18 +02:00
Marcel Otto 4d3d60a5f4 Fix regression in handling of vocabulary terms as generic datatypes 2020-05-16 14:42:12 +02:00
Marcel Otto 6873ba4da1 Fix dialyzer warnings 2020-05-16 03:51:54 +02:00