Skip to content

Releases: ruby-rdf/rdf

Release 3.0.3

05 Nov 17:31
Compare
Choose a tag to compare
  • 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

05 Nov 17:30
Compare
Choose a tag to compare

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

05 Nov 17:29
Compare
Choose a tag to compare
  • Can't lookup a vocabulary from a BNode.
  • Make it so that if Format.for is called with no selection criteria, it returns nil rather than all formats (linter issue).

Release 3.0.0

30 Dec 21:35
Compare
Choose a tag to compare

Major changes since 2.2:

  • Removed deprecated interfaces
    • Remove deprecated #to_hash and #to_a.
    • Remove deprecated grammar option to Node.uuid.
    • Fix emergent issue on named graph transactions to coercing triple to statement including graph name.
  • 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:unionOf on anonymous classes.
    • Improve vocabulary documentation with examples.
    • Add :isDefinedBy shortcut to rdfs:isDefinedBy.
    • Add skos term accessors.
    • Term inverseOf accessor should be for owl:inverseOf, not schema:inverseOf.
    • Update options for Vocabulary.property and Vocabulary.ontology.
    • Allow Terms to be defined with a nil or no name, being an anonymous BNode.
    • Implement #to_ruby for RDF::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#properties to give a transformation of Term#attributes with values turned into RDF::Term instances.
    • Added Term#attribute_value to do this on a per-attribute basis.
    • Added Term#restriction? accessor to look for terms which are owl:Restriction.
    • Updated Term#respond_to? to base this mostly on type of term, in some cases on presence of attribute.
    • Make sure expand_pname validates the resulting URI and raises an error if invalid.
  • Add filtering from Format.for to Format.each to find all formats that match certain criteria.
    • Add support for content-type wildcarding when filtering formats.
  • Implement Query#variables and similar accessors to be semetric with Query::Pattern; also includes a variable graph name.
  • Remove df.rb (quite archaic).
  • Make sure Literal subtypes get non-nil @object values.
  • Remove pending on some N-Triples tests that had a JRuby issue with #to_ary.
  • Support Ruby 2.5

Release 2.2.12

08 Nov 00:04
Compare
Choose a tag to compare

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

08 Oct 18:43
Compare
Choose a tag to compare

Make sure that writer doesn't raise WriterError because of error count established when started.

Release 2.2.10

08 Oct 18:42
Compare
Choose a tag to compare
  • Allow RDF::Vocabulary#send and #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

27 Aug 18:29
Compare
Choose a tag to compare

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.

Release 2.2.8

17 Aug 16:00
Compare
Choose a tag to compare

Update CLI processor:

  • Add :control field to CLI::Options for HTML layout
  • Allow CLI::Options#call to provide options along with arg based on arity of receiver (this allows options to add other options).
  • Extract most built-in options to structure.
  • CLI.options does not use callback any longer. It takes an argv parameter and figures out commands from there.
  • CLI.commands now accept a format named parameter; if used with :json, it returns a JSON structure
  • CLI::Options now implements #to_hash.
  • Add args accessor to OptionParser to retain arguments after options have been extracted.
  • Note potential addition of :messages component to options passed to command lambda.
  • Note that status updates should be logged (info) rather than output to $stdout.
  • Add required parameter/option to Option to indicate that the option must be specified.
  • Overload RDF::CLI.options to also return a JSON representation of options in addition to normal processing.
  • Make class_name option required for Vocabulary CLI options.
  • In CLI.parse if using evaluated input, take sample to use if no format is specified.
  • Make sure CLI logger is set in options, using that from option_parser if not provided explicitly.
  • In CLI runner, if messages are set, display them. This is in preference to text formatting in the command.
  • Change CLI::Option#required to CLI::Option#use with states :disabled, :removed, :required, and :optional.
  • Allow commands to override option use using option_use.

Release 2.2.7

17 Aug 15:59
Compare
Choose a tag to compare

Fix broken RDF::Node.uuid. Note that the :grammar option is deprecated and provide some documentation for the :format option. Requires that either uuid or uuidtools gems be loaded.