This version of 0.5.0 adds support for Ruby 1.9 and 1.8.6 in addition to 1.8.7. Full unicode character escapes are supported in Ruby 1.9. The N3 parser has been substantially re-written and updated to be compliant with W3C SWAP, CWM and Turtle test suites, although it is supported only to the N3-rdf level, with variables and formulae not yet supported.
See GitHub project page for more information. Available for download through Gemcutter.
Release notes for version 0.5.0
- Support for Ruby 1.9, 1.8.7 and 1.8.6.
- Unicode escapes and URIRefs only work properly in Ruby 1.9
-
Replaced some (&:meth) spells with { c c.meth} for Ruby 1.8.6 compatibility
- Fully compliant N3 parser (n3-rdf level) with extensive tests, including SWAP, CWM and Turtle test suites.
- Supports paths, keywords, all semantic expressions.
- No support yet for Formulae, variables, rules or automatic reification
- Allow
Triple#subjectto be like an object, allowing literals and graphs - Allow
Triple#predicateto be a BNode as well as a URIRef
- Graph changes
Graph#properties(subject)returns properties of a subject expressed as a hash to arrays of objects.Graph#seq(subject)returns orderedrdf:_nobjects if subject is ardf:Seq, or list ofrdf:first/rdf:restGraph#qname(uri)as alternative touri.qname, has namespaces available.Graph#type_of(subject)array ofRDF_TYPEobjects.Graph#allow_n3(getter/setter and option) controls if extra N3 semantics for graphs are allowed. Otherwise, callsTriple#validate_rdfto raise exception- Real graph comparisons, including permutation search of triples containing BNodes (obviously, may be expensive)
- Add
QuotedGraphandAggregateGraph
- Literal changes
Literal#==as alias toeql?Needed forsortanduniq.- Normalize valid typed literals
- Added
Literal#valid?to perform some content validations.
- URIRef/Namespace changes
- Fix URI generation, performing normalizations for normal URI refs, and not for Namespace URIs.
- Fixed bug in
URIRef#namespaceandto_qnamewhen namespace does not have a trailing / or # URIRef#short_namemay return a different value after a namespace is assigned.
- Reduce dependency on Redland when running tests