You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2013/07/04 22:33:48 UTC

[jira] [Commented] (JENA-487) CannotEncodeCharacterException when writing lots of instances to file via RDFWriter

    [ https://issues.apache.org/jira/browse/JENA-487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700330#comment-13700330 ] 

Andy Seaborne commented on JENA-487:
------------------------------------

Thanks for the report.  Is it possible to turn it into a complete, minimal example (including the data) so we can test it out on various machines.

Is there a ↔ in the data?

The code is a loop in Looking at the code, I can't see anything that is stateful or looping causes to change.

Which java version are you running?
                
> CannotEncodeCharacterException when writing lots of instances to file via RDFWriter
> -----------------------------------------------------------------------------------
>
>                 Key: JENA-487
>                 URL: https://issues.apache.org/jira/browse/JENA-487
>             Project: Apache Jena
>          Issue Type: Bug
>          Components: RDF/XML
>    Affects Versions: Jena 2.10.1
>         Environment: Windows 64 bit
>            Reporter: Rune Stilling
>            Priority: Minor
>
> I'm using the following code to write a model to a file:
>         RDFWriter w = model.getWriter("RDF/XML"); //-ABBREV (abbrev will produce rdf:seq, the other wont)
>         w.setProperty("showXMLDeclaration", "true");
>         w.setProperty("showDoctypeDeclaration", "true");
>         w.setProperty("xmlbase", xmlBase);
>         File saveFile = new File(fileName);
>         FileOutputStream fso = null;
>         try {
>             fso = new FileOutputStream(saveFile);
>         } catch (Exception e) {
>             e.printStackTrace();
>         }
>         w.write(model, fso, "RDF/XML");
>         fso.close();
> If I run this with 10000 instances it works, if I run it with 20000 instances the write fails with the following exception:
> com.hp.hpl.jena.shared.CannotEncodeCharacterException: cannot encode (char) ↔ in context XML
>         at com.hp.hpl.jena.rdf.model.impl.Util.substituteEntitiesInElementContent(Util.java:175)
>         at com.hp.hpl.jena.xmloutput.impl.Basic.writeLiteral(Basic.java:176)
>         at com.hp.hpl.jena.xmloutput.impl.Basic.writePredicate(Basic.java:112)
>         at com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:85)
>         at com.hp.hpl.jena.xmloutput.impl.Basic.writeRDFStatements(Basic.java:74)
>         at com.hp.hpl.jena.xmloutput.impl.Basic.writeBody(Basic.java:48)
>         at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.writeXMLBody(BaseXMLWriter.java:492)
>         at com.hp.hpl.jena.xmloutput.impl.BaseXMLWriter.write(BaseXMLWriter.java:464)
>         at com.hp.hpl.jena.rdf.model.impl.ModelCom.write(ModelCom.java:319)
>         at dk.rdfined.rdf.jena.Utils.WriteModelToFile2(Utils.java:51)
>         at textanalyzerhelper.ritzau.TelegramExporter.export(TelegramExporter.java:49)
>         at textanalyzerhelper.Main.main(Main.java:135)
> This problem seems to parallel with the report I found here:
> https://www.coderanch.com/t/466480/java/java/JenaOWLModel-save-throw-errors-save

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira