On 28/08/2020 02:12, [email protected] wrote:
+1 This is a very good point; I also have around 10 years of active code
based on Jena and I was not yet able to upgrade to 3.16 because I did
not find the time to resolve several compile errors which are at least
partly due to changes introduced for RDF*. And even after the upgrade I
would most likely run into the similar issues as Holger points out.
Hmm - where are you getting compile errors?
I have have used the following to work around legacy issues with
RDF1.0/1.1:
JenaRuntime.isRDF11 = false;
This might be a good place to allow for a
JenaRuntime.isRDFStar = false;
Cheers,
Claus
Quoting Holger Knublauch <[email protected]>:
It's good to see the recently introduced RDF* features in Jena. But as
someone with a lot of existing Jena code, this low-level change poses
a number of challenges. For example we have many of places with
variations of
if(rdfNode.isResource()) { if(rdfNode.isURIResource()) { } else { //
Here we now assume it's a blank node, yet this is no longer true //
and they node may also be a triple node } } else { // Must be a
literal - this hasn't changed }
which now need to be changed to handle rdfNode.isStmtResource() too.
And it should of course do so in a meaningful way.
I guess properly adjusting our code base will take many months, and it
will require a lot of testing and iterating.
In the meantime, is there a flag that we can set to deactivate RDF*
support in the parsers and SPARQL*? The page
https://jena.apache.org/documentation/rdfstar/ only states "it is
active by default in Fuseki" but doesn't show an API to do the same
programmatically.
Could you also give some background on the implications on TDB? I
guess if such new nodes end up in a database, then this database can
no longer work with older Jena versions?
Thanks
Holger