org.eclipse.rdf4j.query.resultio.text.tsv

## Class SPARQLResultsTSVWriter

- java.lang.Object
- - org.eclipse.rdf4j.query.resultio.AbstractQueryResultWriter
  - - org.eclipse.rdf4j.query.resultio.text.tsv.SPARQLResultsTSVWriter

- All Implemented Interfaces:
    CharSink, Sink, QueryResultHandler, QueryResultWriter, TupleQueryResultWriter, TupleQueryResultHandler
  Direct Known Subclasses:
    SPARQLStarResultsTSVWriter

      public class SPARQLResultsTSVWriter
      extends AbstractQueryResultWriter
      implements TupleQueryResultWriter, CharSink

  TupleQueryResultWriter for the SPARQL TSV (Tab-Separated Values) format.
  Author:
    Jeen Broekstra
  See Also:
    SPARQL 1.1 Query Results TSV Format

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `tupleVariablesFound`
    `protected Writer` | `writer`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SPARQLResultsTSVWriter(OutputStream out)`
    `SPARQLResultsTSVWriter(Writer writer)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `endHeader()` Indicates the end of the header.
    `void` | `endQueryResult()` Indicates the end of a sequence of solutions.
    `TupleQueryResultFormat` | `getQueryResultFormat()` Gets the query result format that this writer uses.
    `TupleQueryResultFormat` | `getTupleQueryResultFormat()` Gets the query result format that this writer uses.
    `Writer` | `getWriter()` get the `Writer` used by this `CharSink`.
    `void` | `handleBoolean(boolean value)` Handles the specified boolean value.
    `void` | `handleLinks(List<String> linkUrls)` Handles the links elements which are present in SPARQL Results JSON and SPARQL Results XML documents in the header.
    `void` | `handleNamespace(String prefix, String uri)` Handles a namespace prefix declaration.
    `protected void` | `handleSolutionImpl(BindingSet bindingSet)` Extending classes must implement this method instead of overriding `AbstractQueryResultWriter.handleSolution(BindingSet)` in order to benefit from automatic handling of RDF* encoding.
    `void` | `handleStylesheet(String stylesheetUrl)` Handles a stylesheet URL.
    `void` | `startDocument()` Indicates the start of the document.
    `void` | `startHeader()` Indicates the start of the header.
    `void` | `startQueryResult(List<String> bindingNames)` Indicates the start of a sequence of Solutions.
    `protected void` | `writeBNode(BNode bNode)`
    `protected void` | `writeResource(Resource res)`
    `protected void` | `writeURI(IRI uri)`
    `protected void` | `writeValue(Value val)`

    - ### Methods inherited from class org.eclipse.rdf4j.query.resultio.AbstractQueryResultWriter

      `getFileFormat, getSupportedSettings, getWriterConfig, handleSolution, setWriterConfig, xsdStringToPlainLiteral`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.resultio.QueryResultWriter

      `getSupportedSettings, getWriterConfig, setWriterConfig`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.QueryResultHandler

      `handleSolution`

    - ### Methods inherited from interface org.eclipse.rdf4j.common.io.Sink

      `acceptsFileFormat, getFileFormat`

- - ### Field Detail

    - #### writer

          protected Writer writer

    - #### tupleVariablesFound

          protected boolean tupleVariablesFound

  - ### Constructor Detail

    - #### SPARQLResultsTSVWriter

          public SPARQLResultsTSVWriter(OutputStream out)

      Parameters:
        `out` -

    - #### SPARQLResultsTSVWriter

          public SPARQLResultsTSVWriter(Writer writer)

  - ### Method Detail

    - #### getWriter

          public Writer getWriter()

      Description copied from interface: `CharSink`
      get the `Writer` used by this `CharSink`.
      Specified by:
        `getWriter` in interface `CharSink`
      Returns:
        an `Writer`

    - #### startQueryResult

          public void startQueryResult(List<String> bindingNames)
                                throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Indicates the start of a sequence of Solutions. The supplied bindingNames are an indication of the values that are in the Solutions. For example, a SeRQL query like `select X, Y from {X} P {Y}` will have binding names `X` and `Y`.
      Specified by:
        `startQueryResult` in interface `QueryResultHandler`
      Overrides:
        `startQueryResult` in class `AbstractQueryResultWriter`
      Parameters:
        `bindingNames` - An ordered set of binding names.
      Throws:
        `TupleQueryResultHandlerException` - If there was an error during the starting of the query result handler. This exception may be thrown if the `QueryResultHandler.handleBoolean(boolean)` method was called before this method and the handler cannot process both boolean and tuple results simultaneously.

    - #### endQueryResult

          public void endQueryResult()
                              throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Indicates the end of a sequence of solutions.
      Specified by:
        `endQueryResult` in interface `QueryResultHandler`
      Throws:
        `TupleQueryResultHandlerException` - If there was an error during the ending of the query result handler. This exception may be thrown if the `QueryResultHandler.handleBoolean(boolean)` method was called before this method and the handler cannot process both boolean and tuple results simultaneously.

    - #### handleSolutionImpl

          protected void handleSolutionImpl(BindingSet bindingSet)
                                     throws TupleQueryResultHandlerException

      Description copied from class: `AbstractQueryResultWriter`
      Extending classes must implement this method instead of overriding `AbstractQueryResultWriter.handleSolution(BindingSet)` in order to benefit from automatic handling of RDF* encoding.
      Overrides:
        `handleSolutionImpl` in class `AbstractQueryResultWriter`
      Parameters:
        `bindingSet` - the solution to handle
      Throws:
        `TupleQueryResultHandlerException`

    - #### getTupleQueryResultFormat

          public TupleQueryResultFormat getTupleQueryResultFormat()

      Description copied from interface: `TupleQueryResultWriter`
      Gets the query result format that this writer uses.
      Specified by:
        `getTupleQueryResultFormat` in interface `TupleQueryResultWriter`

    - #### getQueryResultFormat

          public final TupleQueryResultFormat getQueryResultFormat()

      Description copied from interface: `QueryResultWriter`
      Gets the query result format that this writer uses.
      Specified by:
        `getQueryResultFormat` in interface `QueryResultWriter`

    - #### writeValue

          protected void writeValue(Value val)
                             throws IOException

      Throws:
        `IOException`

    - #### writeResource

          protected void writeResource(Resource res)
                                throws IOException

      Throws:
        `IOException`

    - #### writeURI

          protected void writeURI(IRI uri)
                           throws IOException

      Throws:
        `IOException`

    - #### writeBNode

          protected void writeBNode(BNode bNode)
                             throws IOException

      Throws:
        `IOException`

    - #### startDocument

          public void startDocument()
                             throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultWriter`
      Indicates the start of the document.
      Specified by:
        `startDocument` in interface `QueryResultWriter`
      Throws:
        `TupleQueryResultHandlerException`

    - #### handleStylesheet

          public void handleStylesheet(String stylesheetUrl)
                                throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultWriter`
      Handles a stylesheet URL. If this is called, it must be called after `QueryResultWriter.startDocument()` and before `QueryResultWriter.startHeader()`.

      NOTE: If the format does not support stylesheets, it must silently ignore calls to this method.

      Specified by:
        `handleStylesheet` in interface `QueryResultWriter`
      Parameters:
        `stylesheetUrl` - The URL of the stylesheet to be used to style the results.
      Throws:
        `TupleQueryResultHandlerException`

    - #### startHeader

          public void startHeader()
                           throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultWriter`
      Indicates the start of the header.
      Specified by:
        `startHeader` in interface `QueryResultWriter`
      Throws:
        `TupleQueryResultHandlerException`
      See Also:
        SPARQL Query Results XML Format documentation for head element.

    - #### handleLinks

          public void handleLinks(List<String> linkUrls)
                           throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Handles the links elements which are present in SPARQL Results JSON and SPARQL Results XML documents in the header.

      NOTE: If the format does not support links, it must silently ignore a call to this method.

      An accumulating handler should accumulate these links.

      Specified by:
        `handleLinks` in interface `QueryResultHandler`
      Parameters:
        `linkUrls` - The URLs of the links to handle.
      Throws:
        `TupleQueryResultHandlerException`
      See Also:
        "link"

    - #### endHeader

          public void endHeader()
                         throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultWriter`
      Indicates the end of the header. This must be called after `QueryResultWriter.startHeader()` and before any calls to `QueryResultHandler.handleSolution(org.eclipse.rdf4j.query.BindingSet)`.
      Specified by:
        `endHeader` in interface `QueryResultWriter`
      Throws:
        `TupleQueryResultHandlerException`

    - #### handleBoolean

          public void handleBoolean(boolean value)
                             throws QueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Handles the specified boolean value.
      Specified by:
        `handleBoolean` in interface `QueryResultHandler`
      Parameters:
        `value` - The boolean value to handle.
      Throws:
        `QueryResultHandlerException` - If there was an error during the handling of this value. This exception may be thrown if the `QueryResultHandler.startQueryResult(List)`, `QueryResultHandler.handleSolution(BindingSet)` or `QueryResultHandler.endQueryResult()` methods were called before this method was called, and the handler cannot process both boolean and tuple results simultaneously.

    - #### handleNamespace

          public void handleNamespace(String prefix,
                                      String uri)
                               throws QueryResultHandlerException

      Description copied from interface: `QueryResultWriter`
      Handles a namespace prefix declaration. If this is called, it should be called before `QueryResultWriter.startDocument()` to ensure that it has a document wide effect.

      NOTE: If the format does not support namespaces, it must silently ignore calls to this method.

      Specified by:
        `handleNamespace` in interface `QueryResultWriter`
      Parameters:
        `prefix` - The prefix to use for the namespace
        `uri` - The full URI that is to be represented by the prefix.
      Throws:
        `QueryResultHandlerException`

Copyright © 2015-2021 Eclipse Foundation. All Rights Reserved.