Releases: ruby-rdf/rdf
Releases · ruby-rdf/rdf
Release 3.0.5
- Verify that vocabulary terms defined in snake_case are not automatically converted to camelCase.
- Remove the ability to set the external encoding when writing N-Triples, as N-Triples requires UTF-8.
- "Fix" syntax in vocabulary.rb that Ruby versions < 2.2.5 don't parse properly. Set Travis to test on 2.2.2, not just 2.2, which defaulted to 2.2.7 at the time of this fix.
Release 3.0.4
- Tighten up rules on what makes an RDF::List valid.
- Be more forgiving on rdf:type values within a list.
- Fix issue when logging multiple invalid statements to $stderr. (@jperville)
- Cache
NTriples::Writerinstance used inNTriples::Writer.serializeso that it does not re-instantiate each time it is called. - Reduce object allocations in
RDF::NTriples::Reader(@jperville) - Use Regexp.match? on Ruby >= 2.4, with fallback for earlier Ruby versions (@jperville)
- Use the same DelegateClass(IO) each time we instanciate a logger (@jperville)
Release 3.0.3
- Validate datatype IRIs and language form.
- Require rdf/vocab/xsd explicitly in model/literal to avoid race with rdf/xsd gem.
- Avoid uses of RDF::XSD.xxx to avoid race conditions from rdf/xsd gem.
- Make a literal with rdf:langString but no language be invalid, but not raise an error on creation.
Release 3.0.2
Improvements to vocabulary generation:
- Only use english or plain terms, as Ruby serialization does not preserve language.
- Use lists for top-level values as well as embedded.
- Order embedded property values.
In Reader.open, ignore content_type if it is 'text/plain'. This allows us to fall back on file_name and/or sampling.
Update documentation on URI#join and URI#/ to clarify how arguments are treated.
Release 3.0.1
- Can't lookup a vocabulary from a BNode.
- Make it so that if
Format.foris called with no selection criteria, it returns nil rather than all formats (linter issue).
Release 3.0.0
Major changes since 2.2:
- Removed deprecated interfaces
- Remove deprecated
#to_hashand#to_a. - Remove deprecated
grammaroption toNode.uuid. - Fix emergent issue on named graph transactions to coercing triple to statement including graph name.
- Remove deprecated
- Support vocabularies with anonymous values, which are treated either as Lists or Terms. This allows serialization of SKOS vocabularies with anonymous Concepts and OWL vocabularies which use
owl:unionOfon anonymous classes.- Improve vocabulary documentation with examples.
- Add
:isDefinedByshortcut tordfs:isDefinedBy. - Add skos term accessors.
- Term
inverseOfaccessor should be forowl:inverseOf, notschema:inverseOf. - Update options for
Vocabulary.propertyandVocabulary.ontology. - Allow Terms to be defined with a nil or no name, being an anonymous BNode.
- Implement
#to_rubyforRDF::Vocabulary::Term. This generates Ruby source to re-create the state of the object. - Improvements and tests for vocabularies with anonymous and List content.
- Update built-in vocabulary syntax.
- Add more OWL accessors.
- Make vocabulary processing more lightweight by retaining original strings and deferring transformation into terms until they are accessed.
- Added
Term#propertiesto give a transformation ofTerm#attributeswith values turned intoRDF::Terminstances. - Added
Term#attribute_valueto do this on a per-attribute basis. - Added
Term#restriction?accessor to look for terms which areowl:Restriction. - Updated
Term#respond_to?to base this mostly on type of term, in some cases on presence of attribute. - Make sure
expand_pnamevalidates the resulting URI and raises an error if invalid.
- Add filtering from
Format.fortoFormat.eachto find all formats that match certain criteria.- Add support for content-type wildcarding when filtering formats.
- Implement
Query#variablesand similar accessors to be semetric withQuery::Pattern; also includes a variable graph name. - Remove df.rb (quite archaic).
- Make sure Literal subtypes get non-nil
@objectvalues. - Remove pending on some N-Triples tests that had a JRuby issue with
#to_ary. - Support Ruby 2.5
Release 2.2.12
Change Dataset#each_statement to Dataset#each to keep with description in RDF::Enumerable. This broke rdf-do, and the general contract described in RDF::Enumerable which datasets should implement.
Release 2.2.11
Make sure that writer doesn't raise WriterError because of error count established when started.
Release 2.2.10
- Allow
RDF::Vocabulary#sendand#public_send(@no-reply)- We were previously undefining :send and :public_send. This closes #356.
- Performance Improvements (@jperville)
- Don't attempt to build URIs from Class names (@no-reply)
- RDF::Vocabulary would previously attempt to build URIs from Class names when no URI was present for the vocabulary class. We now use a null relative URI instead.
2.2.9
CLI:
- Fix option callback arguments for specific readers and writers to include options.
- Handle CLI argument callback with arity 0 or > 2.
- Take some steps to keep CLI option data from being modified.
- Do some sanity normalization of CLI output messages hash.
- Fix CLI usage.
Documentation:
- Change some rubyforge references.