Skip to content

Releases: Swirrl/grafter

2.1.7

09 Dec 12:52
2.1.7
Compare
Choose a tag to compare
  • Java 11 support resolves #158 #147 (Bump's RDF4j version to 3.0.3)

2.1.6

14 Nov 11:27
2.1.6
Compare
Choose a tag to compare
  • Fixes #156 regression when coining blank-nodes in triplify

2.1.5

28 Oct 12:42
Compare
Choose a tag to compare
  • Port grafter-2.rdf.protocols to CLJC. A minimal set of RDF types are supported, for representing all RDF. These include Literal LangString xsd:strings as javascript Strings, and booleans. Notably numeric types are not yet natively supported, and it's recommended that they and other types are boxed into Literals.

2.1.2

30 Sep 18:04
2.1.2
Compare
Choose a tag to compare
  • Fixes #152 relax spec on query from being a SPARQLConnection to assuming IPrepareQuery.

2.1.1

30 Sep 18:02
2.1.1
Compare
Choose a tag to compare

2.1.0

29 Aug 18:16
2.1.0
Compare
Choose a tag to compare
  • Upgrades transitive dependency to RDF4j 3.0 release notes
  • Extend support for grafter.rdf4j.io/statements to RDF4j Model's
  • Remove support for some deprecated RDF4j objects that have been removed in RDF4j 3.0. These are unlikely to be a big issue for any grafter users; but see backward incompatible changes for more details.

2.0.2

15 May 14:37
2.0.2
Compare
Choose a tag to compare
  • Fixes #146 regression sparql/query now again allows parameterising multi-column VALUES clauses.

2.0.1

15 May 14:40
2.0.1
Compare
Choose a tag to compare
  • Allow passing reasoning flag option to sparql/query

2.0.0

19 Mar 16:10
2.0.0
Compare
Choose a tag to compare

Important changes:

grafter-2 namespace and RDF4j support

  • This release includes the new grafter-2.* namespaces which include support for RDF4j
  • We no longer include the whole rdf4j-runtime. See our project.clj for what we bundle. This should shave 20mb+ off application jar sizes.
  • The grafter-2.* namespaces now cleanly separate the grafter API from the backend implementation, which should mean we can now start adding grafter support for JENA etc should we need to. In particular this means that the grafter.rdf/statements function now lives in grafter-2.rdf4j.io/statements, as users must now explicitly choose what backend to coerce statements with (via their :require).

grafter-2 removes support for java.util.Date / java.sql.Time and #inst

Support for #inst and java.util.Datejava.sql.Timeetc has been removed, as these classes can't represent time properly with respect to timezones etc. Instead dates, times and dateTimes are explicitly represented via thejava.timeclasses. We also provide a new recordgrafter-2.rdf.protocols/OffsetDate` to represent a date with a timezone. These values should allow round tripping and preserving whether or not the Date/Time was specified with a timezone offset or not.

There are a few edge cases with round tripping dates and times, notably that xsd:time provides two ways to represent midnight 00:00:00 and 24:00:00, if you have data that uses 24:00:00 grafter will canonicalise it to 00:00:00, which could potentially mean users have duplicates if data had been loaded into a database outside of grafter with 24:00:00 and grafter was subsequently used to read and write data back into the database this may cause a duplicate triple. This is due to a poor choice in xsd:time.

We also do not support infinite/arbitrary precision on times. The xsd:time spec supports times like 11:34:50:1231294923498495934953438243718432140324... we canonicalise and truncate these rounding down after 9 decimal places.

Bundles legacy sesame grafter.* namespaces

  • The grafter.* namespaces are included in the jar but are for the deprecated sesame backend. Users wanting to keep using sesame should still be able to do so without code changes. Though grafter no longer transitively depends on sesame, so applications will need to explicitly add a dependency on [org.openrdf.sesame/sesame-runtime "2.8.9"] to their project.clj.

0.12.3

19 Mar 15:45
0.12.3
Compare
Choose a tag to compare
Release 0.12.3