I'm trying to upload to Virtuoso a .n3 file through the Virtuoso Conductor, but I receive the following error message:

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

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!

asked 13 Jan '11, 14:31

Ruben%20Navarro's gravatar image

Ruben Navarro
accept rate: 0%

edited 13 Jan '11, 16:11

Bastian%20Spanneberg's gravatar image

Bastian Span...

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

(13 Jan '11, 17:34) Ruben Navarro Ruben%20Navarro's gravatar image

Most RDF toolkits can't handle N3 as it goes beyond the RDF data model. Most can handle Turtle, which is an RDF-compatible subset of N3. Some can handle a slight superset of Turtle - I think rapper falls into this category. This may well be why you had problems importing your file into Virtuoso - it may have simply contained N3 data which Virtuoso couldn't handle.

Some full N3 parsers that I know of:

  • cwm
  • RDF::TriN3
  • Euler

RDF::TriN3 is one that I wrote, and it should be smart enough to catch most syntax errors and bail out. The error messages are not always particularly helpful though.

permanent link

answered 13 Jan '11, 16:42

tobyink's gravatar image

tobyink ♦
accept rate: 26%

Add to that rdf-n3 Gem, part of the Ruby LinkedData gem suite.

(27 Jan '11, 18:47) Gregg Kellogg Gregg%20Kellogg's gravatar image

Can you add an example on how to use that Perl module to validate a file from the command line? And perhaps add links to you answer?

(08 May '11, 08:12) Egon Willigh... Egon%20Willighagen's gravatar image

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.

permanent link

answered 13 Jan '11, 16:10

Bastian%20Spanneberg's gravatar image

Bastian Span...
accept rate: 21%

Redland does not support Notation 3.

(08 Mar '11, 14:48) Cerin Cerin's gravatar image

I think rapper rocks.

(30 Mar '11, 11:54) Ronald P. Reck Ronald%20P.%20Reck's gravatar image

I'm fairly sure RIOT (and Jena in general) does not fully support Notation 3 either

(09 May '11, 05:57) Rob Vesse ♦ Rob%20Vesse's gravatar image

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.

permanent link

answered 13 Jan '11, 16:40

Ryan%20Kohl's gravatar image

Ryan Kohl
accept rate: 17%

(+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.

(08 May '11, 22:19) harschware ♦ harschware's gravatar image

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

(09 May '11, 05:58) Rob Vesse ♦ Rob%20Vesse's gravatar image

http://jena.sourceforge.net/tools.html lists the Jena command line utilities.

(09 May '11, 08:58) bobdc bobdc's gravatar image

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.

permanent link

answered 12 May '11, 16:50

Ivan%20Mikhailov%201's gravatar image

Ivan Mikhail...
accept rate: 17%

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...

(12 May '11, 22:10) TallTed ♦ TallTed's gravatar image

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 :)

(14 May '11, 04:08) Ivan Mikhail... Ivan%20Mikhailov%201's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 13 Jan '11, 14:31

question was seen: 5,788 times

last updated: 14 May '11, 04:08