View Source Changelog
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and Keep a CHANGELOG.
v0-3-4-2022-11-03
v0.3.4 - 2022-11-03
This version is upgrades to RDF.ex 1.0.
Elixir versions < 1.11 are no longer supported
fixed
Fixed
- a bug when reading the counter of a
Grax.Id.Counter.TextFile/2
under Elixir 1.14
v0-3-3-2022-06-29
v0.3.3 - 2022-06-29
added
Added
fixed-1
Fixed
to_rdf/2
failed when an inverse property was not a list (#1)
v0-3-2-2022-01-28
v0.3.2 - 2022-01-28
added-1
Added
on_load/3
andon_to_rdf/3
callbacks onGrax.Schema
sGrax.Schema
s now have an__additional_statements__
field, which holds additional statements about the resource, which are not mapped to schema fields, but should be mapped back to RDFGrax.to_rdf!/2
bang variant ofGrax.to_rdf/2
v0-3-1-2021-07-16
v0.3.1 - 2021-07-16
added-2
Added
- support for counter-based Grax ids
- support for blank nodes as Grax ids
optimized
Optimized
- improved Grax id schema lookup performance
v0-3-0-2021-05-26
v0.3.0 - 2021-05-26
added-3
Added
- Grax ids - see the new chapter in the Grax guide for more on this bigger feature
changed
Changed
- not loaded links are no longer represented with
Grax.Link.NotLoaded
structs, but withRDF.IRI
orRDF.BlankNode
s instead - the value of link properties can be given as plain
RDF.IRI
,RDF.BlankNode
values or as vocabulary namespace terms onGrax.new
andGrax.build
- the value of properties with type
:iri
can be given as vocabulary namespace terms onGrax.new
andGrax.build
v0-2-0-2021-03-16
v0.2.0 - 2021-03-16
added-4
Added
- heterogeneous link properties which can link different types of resources to different schemas
- schema inheritance
- support for cardinality constraints on properties
- support for
:required
on link properties - support for custom
:from_rdf
mappings on custom fields - support for custom mappings in separate modules
- the
build
functions can now be called with a single map when the map contains an id an:__id__
field :context
field onGrax.ValidationError
exception with more context specific information
changed-1
Changed
- the way in which list types are defined in a schema has been changed from putting the
base type in square bracket to using one of the new
list_of/1
orlist/0
type builder functions - the default value of link properties has been changed to
nil
respective the empty list (previously it was aGrax.Link.NotLoaded
struct, which is now set explicitly during loading) - in the
Grax.build
andGrax.put
functions duplicates in the given values are ignored - in the
Grax.build
andGrax.put
functions a single value in a list for a non-list property will now be extracted, instead of leading to a validation error - failing
:required
requirements result in aGrax.Schema.CardinalityError
instead of aGrax.Schema.RequiredPropertyMissing
exception - the opts on
Grax.to_rdf/2
are now passed-through to theRDF.Graph.new/2
constructor allowing to set the name of the graph, prefixes etc.
v0-1-0-2021-01-06
v0.1.0 - 2021-01-06
Initial release