GitHub user ejwhite922 opened a pull request:
https://github.com/apache/incubator-rya/pull/291
RYA-405 Migration of OpenRDF Sesame libraries to RDF4J
## Description
Continued from [PR-245](https://github.com/apache/incubator-rya/pull/245).
This updates Rya from OpenRDF Sesame 2.7.6 to RDF4J 2.3.1.
Some notes on what's changed and what to look for when reviewing:
- A Sesame to RDF4J migration guide can be found
[here](http://docs.rdf4j.org/migration/)
- The new libraries changed constant var names from using "-const-" to
"\_const\_{a\_unique\_hex\_string}\_{type\_info}" (See
org.eclipse.rdf4j.query.algebra.helper.TupleExprs#getConstVarName(Value)).
This broke a lot of our code but is now resolved through a new class we added
named **VarNameUtils**. All hard-coded "-const-" strings were removed.
- We added another new class, **RdfFormatUtils**, to handle the deprecation
of RDFFormat#valueOf(String).
- NumericLiteralImpl was deprecated. So, we replaced its use with
AbstractValueFactory#createLiteral(BigInteger). I'm not sure I like this as
it's a little unintuitive for creating an int with type XMLSchema.INTEGER
instead of XMLSchema.INT. An alternative could be to use
AbstractValueFactory#createLiteral(String, XMLSchema.INTEGER) which isn't much
better but makes it clear that it must be XMLSchema.INTEGER.
- META-INF/services files had their names updated from
org.openrdf.sesame... to org.eclipse.rdf4j...
- More accepted classes were added to the deserialize() methods for the
following classes (not sure on these but they passed):
-
org.apache.rya.indexing.pcj.fluo.app.AggregationResultUpdater.ObjectSerializationAggregationStateSerDe
- org.apache.rya.indexing.pcj.storage.accumulo.VisibilityBindingSetSerDe
- SPIN Construct Rules accept more rules since less bnodes are produced
from consequent patterns. This typically leads to more inferences being used
but the same results being produced.
- Vagrant file updated
- Updated org.apache.rya.api.path.PathUtils check for secure directory when
adding RyaShellHistoryProvider file (Windows only fix / works for Linux). Not
sure if there was a defect for this already.
### Tests
Build
Unit Tests
### Links
[Jira](https://issues.apache.org/jira/browse/RYA-405)
### Checklist
- [ ] Code Review
- [ ] Squash Commits
#### People To Review
@isper3at
@kchilton2
@pujav65
@DLotts
@meiercaleb
@amihalik
@jessehatfield
@jomach
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ejwhite922/incubator-rya
RYA-405_MigrateSesameToRDF4J_Update
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-rya/pull/291.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #291
----
commit 434105eab297de4fe7417df8beaa9941639fc667
Author: Jorge Machado <jorge.w.machado@...>
Date: 2017-10-18T09:32:39Z
RYA-405 Migration of OpenRDF Sesame libraries to RDF4J
Co-authored-by: eric.white <[email protected]>
Co-authored-by: Jorge Machado <[email protected]>
----
---