Releases: ruby-rdf/rdf-n3
Releases · ruby-rdf/rdf-n3
Release 3.3.0
- 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 ofhasId
iniriPropertyList
. - Minor change to EBNF grammar.
- Updates for version 3.3.0 with minimum Ruby version 3.0.
Release 3.2.1
- 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
- Minimum Ruby version now 2.6.
- Added
list:iterate
,log:dtlit
andlog: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
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 foris ... of
. - The SPARQL
BASE
andPREFIX
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 subclassRDF::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
andFormula.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
- 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
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
andconclusions
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.
- Support for basic
Release 3.0.1
Release 3.0.0
- Escape backslashes in multi-line literals
Release 2.2.0
- Remove rubyforge reference.
- Relax dependencies to allow for 3.0 release.
Release 2.1.0
- 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