Skip to content

Releases: ruby-rdf/rdf-n3

Release 3.3.0

01 Sep 20:38
Compare
Choose a tag to compare
  • Update to operation on Temporal objects, with better support in RDF.rb 3.2.5.
  • Define the format URI to http://www.w3.org/ns/formats/N3.
  • Add support for iriPropertyList when reading, but not yet for writing.
  • Use id instead of hasId in iriPropertyList.
  • Minor change to EBNF grammar.
  • Updates for version 3.3.0 with minimum Ruby version 3.0.

Release 3.2.1

29 Jan 00:55
Compare
Choose a tag to compare
  • Replace refinements on RDF::Graph with a couple of methods because of deprecation on refining using include.
  • Update documentation links to use gh-pages, and add action to publish gh-pages from Yard docs.

Release 3.2.0

29 Dec 23:09
Compare
Choose a tag to compare
  • Minimum Ruby version now 2.6.
  • Added list:iterate, log:dtlit and log:langlit.
  • Remove support for explicit existential and universal variable declaration.
  • Note that @foreach and @forall have been removed.
  • Writer literal formatting improvements.

Release 3.1.2

26 Dec 06:50
Compare
Choose a tag to compare

In spite of the minor version update, this is actually a major release introducing a substantial amount of reasoning in the gem.
This version tracks the W3C N3 Community Group Specification which has incompatibilities with the Team Submission version. Notably:

  • The @keywords declaration is removed, and most form of @ keywords (e.g., @is, @has, @true) are no longer supported.
  • Terminals adhere closely to their counterparts in [Turtle][].
  • The modifier <- is introduced as a synonym for is ... of.
  • The SPARQL BASE and PREFIX declarations are supported.
  • Implicit universal variables are defined at the top-level, rather than in the parent formula of the one in which they are defined.

This brings N3 closer to compatibility with Turtle.

Syntax

  • Removes @a, @is expr @of, @has expr, @true, and @false; the non-@ versions remain.
  • Allow whitespace inside IRIREFs per Team Submission.

Models

  • Implements RDF::N3::List to subclass RDF::List for lists as first-class citizens including query support. Uses local storage for list elements, and allows recusive lists. Enumerating statements is recursive.
  • Implements RDF::N3::Repository which allows native lists as terms.
  • Implements RDF::N3::Algebra::Formula and Formula.from_enumerable as a generic method to turn a dataset into a recursive set of formulae (currently excludes list transformation).

Reasoner

Implements most Notation3 builtins:

RDF List vocabulary http://www.w3.org/2000/10/swap/list#

  • list:append (See {RDF::N3::Algebra::List::Append})
  • list:first (See {RDF::N3::Algebra::List::First})
  • list:in (See {RDF::N3::Algebra::List::In})
  • list:last (See {RDF::N3::Algebra::List::Last})
  • list:length (See {RDF::N3::Algebra::List::Length})
  • list:member (See {RDF::N3::Algebra::List::Member})

RDF Log vocabulary http://www.w3.org/2000/10/swap/log#

  • log:conclusion (See {RDF::N3::Algebra::Log::Conclusion})
  • log:conjunction (See {RDF::N3::Algebra::Log::Conjunction})
  • log:content (See {RDF::N3::Algebra::Log::Content})
  • log:equalTo (See {RDF::N3::Algebra::Log::EqualTo})
  • log:implies (See {RDF::N3::Algebra::Log::Implies})
  • log:includes (See {RDF::N3::Algebra::Log::Includes})
  • log:n3String (See {RDF::N3::Algebra::Log::N3String})
  • log:notEqualTo (See {RDF::N3::Algebra::Log::NotEqualTo})
  • log:notIncludes (See {RDF::N3::Algebra::Log::NotIncludes})
  • log:outputString See {RDF::N3::Algebra::Log::OutputString})
  • log:parsedAsN3 (See {RDF::N3::Algebra::Log::ParsedAsN3})
  • log:semantics (See {RDF::N3::Algebra::Log::Semantics})

RDF Math vocabulary http://www.w3.org/2000/10/swap/math#

  • math:absoluteValue (See {RDF::N3::Algebra::Math::AbsoluteValue})
  • math:acos (See {RDF::N3::Algebra::Math::ACos})
  • math:asin (See {RDF::N3::Algebra::Math::ASin})
  • math:atan (See {RDF::N3::Algebra::Math::ATan})
  • math:acosh (See {RDF::N3::Algebra::Math::ACosH})
  • math:asinh (See {RDF::N3::Algebra::Math::ASinH})
  • math:atanh (See {RDF::N3::Algebra::Math::ATanH})
  • math:ceiling (See {RDF::N3::Algebra::Math::Ceiling})
  • math:cosh (See {RDF::N3::Algebra::Math::CosH})
  • math:cos (See {RDF::N3::Algebra::Math::Cos})
  • math:difference (See {RDF::N3::Algebra::Math::Difference})
  • math:equalTo (See {RDF::N3::Algebra::Math::EqualTo})
  • math:exponentiation (See {RDF::N3::Algebra::Math::Exponentiation})
  • math:floor (See {RDF::N3::Algebra::Math::Floor})
  • math:greaterThan (See {RDF::N3::Algebra::Math::GreaterThan})
  • math:lessThan (See {RDF::N3::Algebra::Math::LessThan})
  • math:negation (See {RDF::N3::Algebra::Math::Negation})
  • math:notEqualTo (See {RDF::N3::Algebra::Math::NotEqualTo})
  • math:notGreaterThan (See {RDF::N3::Algebra::Math::NotGreaterThan})
  • math:notLessThan (See {RDF::N3::Algebra::Math::NotLessThan})
  • math:product (See {RDF::N3::Algebra::Math::Product})
  • math:quotient (See {RDF::N3::Algebra::Math::Quotient})
  • math:remainder (See {RDF::N3::Algebra::Math::Remainder})
  • math:rounded (See {RDF::N3::Algebra::Math::Rounded})
  • math:sinh (See {RDF::N3::Algebra::Math::SinH})
  • math:sin (See {RDF::N3::Algebra::Math::Sin})
  • math:sum (See {RDF::N3::Algebra::Math::Sum})
  • math:tanh (See {RDF::N3::Algebra::Math::TanH})
  • math:tan (See {RDF::N3::Algebra::Math::Tan})

RDF String vocabulary http://www.w3.org/2000/10/swap/str#

  • string:concatenation (See {RDF::N3::Algebra::Str::Concatenation})
  • string:contains (See {RDF::N3::Algebra::Str::Contains})
  • string:containsIgnoringCase (See {RDF::N3::Algebra::Str::ContainsIgnoringCase})
  • string:endsWith (See {RDF::N3::Algebra::Str::EndsWith})
  • string:equalIgnoringCase (See {RDF::N3::Algebra::Str::EqualIgnoringCase})
  • string:format (See {RDF::N3::Algebra::Str::Format})
  • string:greaterThan (See {RDF::N3::Algebra::Str::GreaterThan})
  • string:lessThan (See {RDF::N3::Algebra::Str::LessThan})
  • string:matches (See {RDF::N3::Algebra::Str::Matches})
  • string:notEqualIgnoringCase (See {RDF::N3::Algebra::Str::NotEqualIgnoringCase})
  • string:notGreaterThan (See {RDF::N3::Algebra::Str::NotGreaterThan})
  • string:notLessThan (See {RDF::N3::Algebra::Str::NotLessThan})
  • string:notMatches (See {RDF::N3::Algebra::Str::NotMatches})
  • string:replace (See {RDF::N3::Algebra::Str::Replace})
  • string:scrape (See {RDF::N3::Algebra::Str::Scrape})
  • string:startsWith (See {RDF::N3::Algebra::Str::StartsWith})

RDF Time vocabulary <>

  • time:dayOfWeek (See {RDF::N3::Algebra::Time::DayOfWeek})
  • time:day (See {RDF::N3::Algebra::Time::Day})
  • time:gmTime (See {RDF::N3::Algebra::Time::GmTime})
  • time:hour (See {RDF::N3::Algebra::Time::Hour})
  • time:inSeconds (See {RDF::N3::Algebra::Time::InSeconds})
  • time:localTime (See {RDF::N3::Algebra::Time::LocalTime})
  • time:minute (See {RDF::N3::Algebra::Time::Minute})
  • time:month (See {RDF::N3::Algebra::Time::Month})
  • time:second (See {RDF::N3::Algebra::Time::Second})
  • time:timeZone (See {RDF::N3::Algebra::Time::Timezone})
  • time:year (See {RDF::N3::Algebra::Time::Year})

Release 3.1.1

16 Dec 21:22
Compare
Choose a tag to compare
  • Update for 3.1.1 release and update Ruby 2.7 calling sequences.
  • Count on RDF.rb to properly serialize variables.

Release 3.1.0

19 Apr 23:33
Compare
Choose a tag to compare

Large rewrite to support reasoning (experimentally).

  • Writer writes out named graphs/formulae, not just Turtle equivalent.
  • RDF::N3::Reasoner instantiated from a dataset, which is extended to support variable syntax (?).
    • Support for basic log rules for reasoning, infrastructure for extensions.
    • Implement data and conclusions from reasoner, which is an Enumerable and Mutable.
    • Use RDF::Query::Solutions#merge and merge solutions from all built-in predicates. log:implies always returns solutions it started with, but retains solutions from subject to use when evaluating object.

Release 3.0.1

19 Jul 21:02
Compare
Choose a tag to compare
  • Fix list serialization problems. Fixes #18.
  • Update to writing lists. Fixes #18.

Release 3.0.0

19 Jul 21:01
Compare
Choose a tag to compare
  • Escape backslashes in multi-line literals

Release 2.2.0

19 Jul 21:00
Compare
Choose a tag to compare
  • Remove rubyforge reference.
  • Relax dependencies to allow for 3.0 release.

Release 2.1.0

31 Dec 20:30
Compare
Choose a tag to compare
  • Update minimum ruby version to 2.2.2. See ruby-rdf/rdf#307.
  • Add lower content_type priority for aliased types.
  • Updates for RDF.rb 2.2