|
Hi! I'm trying to upload to Virtuoso a .n3 file through the Virtuoso Conductor, but I receive the following error message:
I found an online parser (e.g http://www.rdfabout.com/demo/validator/), but it's no help for me, since I want to upload a 1.3 GByte sized file. Does anyone know a locally executable N3-parser/validator, which throws also any type of debbuging information? (at least line that provoked the fail :P ) Thanks in advance! |
|
If you load the file via ISQL or any other SQL client (so you can execute an SQL procedure DB.DBA.TTLP_MT and see the text of SQL error message) then the text of error will contain exact line of source and some diagnostics from the parser. To be clear, Ivan's answer refers to loading the data to Virtuoso, not a separate parser/validator. Different interfaces do lead to different feedback... As soon as I get a request for separate validator (i.e. "dry run" of the loader), I can make it in hours. I've got many requests for recovering from various syntax errors but validation is not a popular idea :) |
|
You might also try sending batches into Jena - take maybe 2k N3 facts at a time and use that to instantiate a Model; if no errors throw, drop the model and move on to the next 2k. Never tried it myself, so a bit of caveat emptor. (+1) This is effectively what RIOT would do under the hood, since RIOT is built on the Jena Java API and part of the Jena framework. Although RIOT is a command line utility, so your suggestion might be good if one needed to do it programatically and as part of one's development. RIOT is afaik a new parser subsystem that may optionally be used with Jena instead of the existing parser subsystem so in theory you should be able to do everything you can do via the command line programmatically - see http://www.openjena.org/wiki/RIOT#API for notes on using RIOT from code http://jena.sourceforge.net/tools.html lists the Jena command line utilities. |
|
You can try rapper, the parser/serializer of the Redland library. If your more the Jena type of guy, you might have a try with RIOT, which explicitly has a --validate option. Redland does not support Notation 3. I think rapper rocks. I'm fairly sure RIOT (and Jena in general) does not fully support Notation 3 either |


as an additional comment, the triples were generated with the Jena API