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


Reply via email to