Joshua Taylor created JENA-593:
----------------------------------

             Summary: rdfcat riot warning messages on stdout, not stderr 
(invalid output)
                 Key: JENA-593
                 URL: https://issues.apache.org/jira/browse/JENA-593
             Project: Apache Jena
          Issue Type: Bug
          Components: Cmd line tools
    Affects Versions: Jena 2.11.0, Jena 2.10.1
            Reporter: Joshua Taylor
            Priority: Critical


The rdfcat bundled in 2.11.0 (and 2.10.1, and probably earlier too) writes RIOT 
warning messages on standard output, which means that rdfcat produces invalid 
output. E.g., in converting some N3/N-Triples to RDF/XML, 

{noformat}
$ echo '<s> <p> "48"^^<http://www.w3.org/2001/XMLSchema#gYear>' | rdfcat -n 
/dev/stdin
11:27:26 WARN  riot                 :: [line: 1, col: 9 ] Lexical form '48' not 
valid for datatype http://www.w3.org/2001/XMLSchema#gYear
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
    xmlns:j.0="file:///dev/">
  <rdf:Description rdf:about="file:///dev/s">
    <j.0:p rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear";
    >48</j.0:p>
  </rdf:Description>
</rdf:RDF>
{noformat}

This means that we can't “round trip”:

{noformat}
$ echo '<s> <p> "48"^^<http://www.w3.org/2001/XMLSchema#gYear>' | rdfcat -n 
/dev/stdin | rdfcat -x /dev/stdin
11:27:06 ERROR riot                 :: Content is not allowed in prolog.
Exception in thread "main" org.apache.jena.riot.RiotException: Content is not 
allowed in prolog.
        at 
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.fatal(ErrorHandlerFactory.java:136)
        at 
org.apache.jena.riot.lang.LangRDFXML$ErrorHandlerBridge.fatalError(LangRDFXML.java:243)
        at 
com.hp.hpl.jena.rdf.arp.impl.ARPSaxErrorHandler.fatalError(ARPSaxErrorHandler.java:48)
        at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.warning(XMLHandler.java:209)
        at 
com.hp.hpl.jena.rdf.arp.impl.XMLHandler.fatalError(XMLHandler.java:239)
        at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at 
com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:151)
        at com.hp.hpl.jena.rdf.arp.ARP.load(ARP.java:119)
        at org.apache.jena.riot.lang.LangRDFXML.parse(LangRDFXML.java:142)
        at 
org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:142)
        at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:818)
        at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:258)
        at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:244)
        at 
org.apache.jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:69)
        at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:274)
        at 
org.apache.jena.riot.adapters.AdapterFileManager.readModelWorker(AdapterFileManager.java:302)
        at com.hp.hpl.jena.util.FileManager.readModel(FileManager.java:362)
        at jena.rdfcat.readInput(rdfcat.java:375)
        at jena.rdfcat$ReadAction.run(rdfcat.java:552)
        at jena.rdfcat.go(rdfcat.java:278)
        at jena.rdfcat.main(rdfcat.java:260)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to