Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [lyo-dev] Fwd: Can RDF star support be deactivated?

Andrew,

As you probably saw in the response in the Jena mailing list, Andy Seaborne responded indicating that there is no option to deactivate support for RDF*, and that the recommendation was to filtering incoming RDF to reject attempted use of triple nodes.

Since a Lyo user could provide triple nodes as RDF input, it seems that Lyo (and IBM's implementation of OSLC) really have only three alternatives:
  1. When updating to Jena 3.15 or later, upgrade all code to support RDF* completely
  2. When updating to Jena 3.15 or later, implement Andy's suggestion of filters on all possible external sources of RDF to reject triple nodes
    (for example, all OSLC POST and PUT APIs for all ELM tools, reading TRS feeds from third-party tools, etc.)
  3. Never upgrade to or support Jena 3.15 or later

From initial discussion, approach 3 is in favor here! We would need to go with option 2 if there turned out to be some other compelling business reason to upgrade.

Nick.



From:        Andrii Berezovskyi <andriib@xxxxxx>
To:        "lyo-dev@xxxxxxxxxxx" <lyo-dev@xxxxxxxxxxx>
Date:        08/28/2020 01:35 AM
Subject:        [EXTERNAL] [lyo-dev] Fwd: Can RDF star support be deactivated?
Sent by:        lyo-dev-bounces@xxxxxxxxxxx




Note to self to check this thoroughly.

--
Andrew
On 28 August 2020 at 02:52:36, Holger Knublauch (holger@xxxxxxxxxxxxxxx) wrote:
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

_______________________________________________
lyo-dev mailing list
lyo-dev@xxxxxxxxxxx
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/lyo-dev




Back to the top