Search code examples
javardfjenaapache-jena

Reading N-Quads in Jena


I'm trying to read an N-Quads file with Jena, but all I get is an empty model. The file I'm trying to read is taken from the example in N-Quads documentation: <http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin> <http://example.org/graphs/spiderman> . (I saved it as a file named file.nq).

The way I'm loading the model is using the RDFDataMgr. But it didn't work with Model.read either.

RDFDataMgr.loadModel("file.nq", Lang.NQUADS) yields an empty model.

What am I missing? Doesn't Jena support N-Quads out-of-the-box?


Solution

  • Yes, Jena supports N-Quads. Try loadDataset.

    N-Quads is for multiple graphs and you have read it into one graph. What you get is just the default graph triples, in this case, none.

    There is a warning emitted: WARN riot :: Only triples or default graph data expected : named graph data ignored

    If you didn't get that then (1) you are running an old copy (2) you have turned logging off (3) the file is empty.