- Expose shared examples for LDP interaction models in
lib/rdf/ldp/spec
.
- Reduce memory allocation for URIs by using
RDF::URI#intern
. - Make interaction models pluggable via
InteractionModel#register
.
- Add support for relative IRIs in SPARQL Update PATCH requests.
- Change membership resource handling to accept memberhip resources from outside the server;
- Fixes a typo in
describedby
header keys.
- Deletes on NonRDFSources now leave the file on disk if deleting the metadata fails, making deletes atomic from the client's perspective.
- Changes the NonRDFSource interface to allow configuration of storage adapters via dependency injection.
- Ends support for Ruby versions earlier than 2.2.2.
- Changes handling of input streams to be compliant with Rack. Allows
the server to run with
Rack::Lint
middleware. In the process, theRDFSource
andNonRDFSource
interfaces are changed to accept only IO-like objects conforming to Rack's input expectations.String
objects are no longer handled.
- Upgrades to RDF.rb 2.0
- Adds true transaction scopes for POST & PUT requests
- Changes behavior of direct & indirect containers to add default required triples on creation if none are supplied in the request.
- Fixes inserted content relation interpretations.
- Uses RDF::Graph#query for better perfomance on Direct & Indirect Containers
- Fixes error that caused resources to be misidentified when trailing slashes are present.
- Returns a 500 error and a useful message when
last_modified
is missing.
- Adds Last-Modified and updates ETag strategy to weak etags based on that date.
- Destroys resources with an internal
prov:invalidatedAtTime
. - Adds conditional GET support.
- Handles RDFSource responses more efficiently, avoiding loading the graph for HEAD & OPTIONS requests.
- More efficient update/delete with RDF::Transactions.
- Uses default prefixes from RDF.rb in responses.
- Adds LDP-NR support with basic file storage
- Moves
Lamprey
toRDF::Lamprey
- Adds server executable (
./bin/lamprey
) - Adds support for IndirectContainer
- Develops HTTP PATCH support with LDPatch and SPARQL Update formats
- Allows new resource creation with PUT in Lamprey
- Improves handling of Rack input (avoids calling off-SPEC
#eof?
)
- Initial release
- Supports LDP-RS, BasicContainer, and DirectContainer
- Ships with a limited server "Lamprey"
- Note: 0.1.0 was a gem containing only an
RDF::Vocabulary
, this has been moved tordf-vocab
- Deprecates Ruby < 2.6, supports Ruby 3.
- Updated dependencies.