Skip to content

Release 3.0.0

Compare
Choose a tag to compare
@gkellogg gkellogg released this 30 Dec 21:35
· 441 commits to develop since this release

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