RDF4J Implementation (based on Sesame impl) #15

merged 51 commits into from Jun 9, 2016


None yet

3 participants

wherget commented May 20, 2016 edited

This PR adds an rdf2go.impl.rdf4j artifact, which allows the use of Eclipse RDF4J (formerly known as Sesame 4.1) with RDF2Go.

Basically, I took the Sesame implementation, adapted all the dependencies, and took care of the API changes I could find (most of which were URI to IRI conversions).

Further improvements:

  • Uses RDF4Js Json-LD RIO implementation instead of a third party one, simplifying dependencies
  • The RIO packages are only test scoped now
  • Targets Java8 (since RDF4J uses the Optional<T> feature)

Unfortunately I needed to temporarily remove the .gitattributes file. Not sure what git's idea is about that. To me it looks as though everything was committed with CRLF in the last "Normalize line endings" commit, when it should have been LF.

wherget added some commits May 20, 2016
@wherget wherget remove attributes d759c38
@wherget wherget make a copy of the sesame impl as a base for rdf4j 4beab68
@wherget wherget add myself as developer 971aa2a
@wherget wherget exchange dependencies with rdf4j versions 98401dc
@wherget wherget use rio-rdfjson instead of jsonld-java-sesame
remove jackson version fiddling
@wherget wherget add rdf4j module to bom and dist d58ab13
@wherget wherget add intelliJ files to .gitignore c4ea3d1
@wherget wherget brute-force replace package names for rdf4j with sed 41c60a0
@wherget wherget move org.eclipse.rdf4j.rdf2go package to right directory 6105d65
@wherget wherget RDF2go URIs map to to rdf4j IRIs (rdf4j URI is deprecated) ff8332a
@wherget wherget use valueFactory to create a blank node when the underlying node is n…
…ot a BNode
@wherget wherget handle rdf4j.Literal.getLanguage being an Optional<> 7e1722b
@wherget wherget Unit tests expect a plain literal where rdf4j annotates xsd:string da…
@wherget wherget RDF4j file formats are managed through the RDFWriterRegistry 4a83cb4
@wherget wherget no need to skip JsonLD, rdf4j seems to have caught up 2395ce0
@wherget wherget the repository types have moved to their own artifacts d5d6a04
@wherget wherget file format dependencies are only relevant for testing d0edc54
@wherget wherget add missing file formats for tests a56db19
@wherget wherget move test package to right folder 5f52746
@wherget wherget remove commented-out code bd0bc6f
@wherget wherget remove occurences of sesame (when rdf4 is meant) 96b4bc1
@wherget wherget rename rdf4jContext 582dd12
@wherget wherget remove references to openRDF 626103e
@wherget wherget remove obsolete reference to already-fixed bug 6c15c73
@wherget wherget rename references to OpenRDF to RDF4J ea8d0a8
@wherget wherget use recommended RDF4JException 059bcc5
@wherget wherget rename ConversionUtil.toRDF4J 3b89a06
@wherget wherget rename toRDF4JQueryLanguage, also SERQO is deprecated d9c3d76
@wherget wherget rename RDF4JBlankNode d0ca091
@wherget wherget rename RDF4JQuadPattern 1479e2a
@wherget wherget rename getRDF4JContextURI f279747
@wherget wherget unify implementation of getNamespace 617ddba
@wherget wherget make comment about getUnderlyingXXX more understandable.
that second dot was really upsetting my brain's parser
@wherget wherget change comment and name references to RDF4J 7d8fa73
@wherget wherget remove reference to OpenRDF in RepositoryModelTest 4f16c6b
@wherget wherget improve readability by importing IRI 6ab32e6
@wherget wherget re-enable test debug logging after package move dff81a2
@wherget wherget replace references of OpenRDF with RDF4J in comments c2a9ff6
@wherget wherget remove a few trailing whitespaces 4fc7775
@wherget wherget remove toRDF4J for Variable and handle in generic case.
I think IntelliJ has some merit complaining about a function that has
two unused parameters.
@wherget wherget move return statement into try block.
It wouldn't have been reached anyway, due to the rethrow.
@wherget wherget null is the default value for any freshly-declared variable 807c40e
@wherget wherget whitespace changes c3fb15e
@wherget wherget collapse similar catch blocks (we have Java 8 now anyway) 3189ebf
@wherget wherget improve readability of query functions 1361c23
@wherget wherget remove redundant variable cfecce5
@wherget wherget remove unused function f6a25a0
@wherget wherget remove unused imports 8eb8e36
@wherget wherget autoformat file b312a1e
@wherget wherget Implement AutoCommit logic in RepositoryModel since a downstream use …
…(RDFBeans) still depends on it
@wherget wherget Revert "remove attributes"
This reverts commit d759c38.
wherget commented May 20, 2016

Updated the PR with a version that avoids "Normalize line endings". Still, d58ab13 induces a whole-file recommit of the two relevant poms.


Thank you for your work! Give me a few days to take a look and I will merge the pull request.

@stuehmer stuehmer merged commit 3558dab into semweb4j:master Jun 9, 2016
ansell commented Jun 9, 2016

Note that the first versions of Eclipse RDF4J are not technically released yet. The builds on Maven Central are all "Milestone" builds (M1/M2/etc.) that the Eclipse Foundation hasn't put through the full release procedure yet.

stuehmer commented Jun 9, 2016

Thanks Peter. It will be some days until I fix #16 and get the old release pipeline back to work until I can put any of this on Maven Central myself. Hopefully, the Eclipse versions will be there then or I publish snapshots first.
As a last step I will later get rid of the rdf2go.impl.sesame artefact in favor of @wherget 's new rdf2go.impl.rdf4j which currently exists in parallel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment