"ERROR: You have attempted to upload invalid data" when uploading a turtle file

I have a ttl file that I want to load in virtuoso triplestore, I used Quad Store Upload in the UI, the file didn’t load succefully and this error was shown:

You have attempted to upload invalid data. You can only upload RDF, Turtle, N3 serializations of RDF Data to the RDF Data Store.

After investigating I got a sample that causes it

@prefix bkr:  <http://www.ondex.org/bioknet/resources/> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix bk:  <http://www.ondex.org/bioknet/terms/> .
@prefix dc:  <http://purl.org/dc/elements/1.1/> .

bkr:phenotype_52049  rdf:type  bk:Phenotype ;
        dc:identifier  bkr:accsn_arapheno_altered_nonphotochemical_quenching_of_chlorophyll_fluorescence__unable_to_convert_violaxanthin_to_zeaxanthin_in_excessive_light_via_the_xanthophyll_cycle__affects_the_structural_gene_encoding_violaxanthin_deepoxidase__exhibits_greatly_reduced_nonphotochemical_quenching__demonstrating_that_violaxanthin_deepoxidation_is_required_for_the_bulk_of_rapidly_reversible_nonphotochemical_qenching__altered_regulation_of_photosynthetic_energy_conversion_is_associated_with_increased_sensitivity_to_photoinhibition_ .

bkr:accsn_arapheno_altered_nonphotochemical_quenching_of_chlorophyll_fluorescence__unable_to_convert_violaxanthin_to_zeaxanthin_in_excessive_light_via_the_xanthophyll_cycle__affects_the_structural_gene_encoding_violaxanthin_deepoxidase__exhibits_greatly_reduced_nonphotochemical_quenching__demonstrating_that_violaxanthin_deepoxidation_is_required_for_the_bulk_of_rapidly_reversible_nonphotochemical_qenching__altered_regulation_of_photosynthetic_energy_conversion_is_associated_with_increased_sensitivity_to_photoinhibition_
        rdf:type            bk:Accession .

The error disappear when I replaced accsn_arapheno_altered_nonphotochemical_quenching_of_chlorophyll_fluorescence__unable_to_convert_violaxanthin_to_zeaxanthin_in_excessive_light_via_the_xanthophyll_cycle__affects_the_structural_gene_encoding_violaxanthin_deepoxidase__exhibits_greatly_reduced_nonphotochemical_quenching__demonstrating_that_violaxanthin_deepoxidation_is_required_for_the_bulk_of_rapidly_reversible_nonphotochemical_qenching__altered_regulation_of_photosynthetic_energy_conversion_is_associated_with_increased_sensitivity_to_photoinhibition_ with a shorter string … so I understood that the lenght of the predicate was the cause.

Is there a way to avoid this without modifying the ttl files?

If you use the Virtuoso trace_on() function to enable additional tracing of Virtuoso server activities to the “virtuoso.log” file you will see the error:

ERRS_0 37000 SP029 TURTLE RDF loader, line 7: qualified URI contains abnormally long 'local part' after the colon at bkr:accsn_arapheno_altered_nonphotochemical_quenching_of_chlorophyll_fluorescence__unable_to_convert_violaxanthin_to_zeaxanthin_in_excessive_light_via_the_xanthophyll_cycle__affects_the_structural_gene_encoding_violaxanthin_deepoxidase__exhibits_greatly_reduced_nonphotochemical_quenching__demonstrating_that_violaxanthin_deepoxidation_is_required_for_the_bulk_of_rapidly_reversible_nonphotochemical_qenching__altered_regulation_of_photosynthetic_energy_conversion_is_associated_with_increased_sensitivity_to_photoinhibition_

Thus is appears you have exceeded the limit on the length of the local part of a URI, thus will need to check with development what the limit is.

Do you have a specific need for URIs with such long local parts ?

Thank you for your reply, actually I’m not the one who generate the data, I would prefer to leave the file as it is (if there is a way to avoid this issue of course) otherwise I’ll have to contact the providers.

I thought that maybe there is a way to change the limit in the configuration or something like that.

Development indicate there is a 512 character limit on the length of the local part of a URI, and the length of yours above is 522 chars, hence the error. This is not a configurable limit, although development indicate they could consider if it is possible to increase the length or make it configurable.

OK, I’ll contact the providers to let them know.
Thank you again!