Package org.eclipse.rdf4j.query.resultio

## Class QueryResultIO

- java.lang.Object
- - org.eclipse.rdf4j.query.resultio.QueryResultIO

-     public class QueryResultIO
      extends Object

  Class offering utility methods related to query results.
  Author:
    Arjohn Kampman

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `QueryResultIO()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static BooleanQueryResultParser` | `createBooleanParser​(QueryResultFormat format)` | Convenience methods for creating BooleanQueryResultParser objects.This method uses the registry returned by `BooleanQueryResultParserRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate parser.
    `static BooleanQueryResultWriter` | `createBooleanWriter​(QueryResultFormat format, OutputStream out)` | Convenience methods for creating BooleanQueryResultWriter objects.This method uses the registry returned by `BooleanQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
    `static TupleQueryResultParser` | `createTupleParser​(QueryResultFormat format)` | Convenience methods for creating TupleQueryResultParser objects.
    `static TupleQueryResultParser` | `createTupleParser​(QueryResultFormat format, ValueFactory valueFactory)` | Convenience methods for creating TupleQueryResultParser objects that use the specified ValueFactory to create RDF model objects.
    `static TupleQueryResultWriter` | `createTupleWriter​(QueryResultFormat format, OutputStream out)` | Convenience methods for creating TupleQueryResultWriter objects.This method uses the registry returned by `TupleQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
    `static QueryResultWriter` | `createWriter​(QueryResultFormat format, OutputStream out)` | Convenience methods for creating QueryResultWriter objects.This method uses the registry returned by `TupleQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
    `static Optional<QueryResultFormat>` | `getBooleanParserFormatForFileName​(String fileName)` | Tries to match the extension of a file name against the list of RDF formats that can be parsed.
    `static Optional<QueryResultFormat>` | `getBooleanParserFormatForMIMEType​(String mimeType)` | Tries to match a MIME type against the list of boolean query result formats that can be parsed.
    `static Optional<QueryResultFormat>` | `getBooleanWriterFormatForFileName​(String fileName)` | Tries to match the extension of a file name against the list of RDF formats that can be written.
    `static Optional<QueryResultFormat>` | `getBooleanWriterFormatForMIMEType​(String mimeType)` | Tries to match a MIME type against the list of boolean query result formats that can be written.
    `static Optional<QueryResultFormat>` | `getParserFormatForFileName​(String fileName)` | Tries to match the extension of a file name against the list of RDF formats that can be parsed.
    `static Optional<QueryResultFormat>` | `getParserFormatForMIMEType​(String mimeType)` | Tries to match a MIME type against the list of tuple query result formats that can be parsed.
    `static Optional<QueryResultFormat>` | `getWriterFormatForFileName​(String fileName)` | Tries to match the extension of a file name against the list of RDF formats that can be written.
    `static Optional<QueryResultFormat>` | `getWriterFormatForMIMEType​(String mimeType)` | Tries to match a MIME type against the list of tuple query result formats that can be written.
    `static boolean` | `parseBoolean​(InputStream in, QueryResultFormat format)` | Parses a boolean query result document and returns the parsed value.
    `static TupleQueryResult` | `parseTuple​(InputStream in, QueryResultFormat format, WeakReference<?> callerReference)` | Parses a query result document and returns it as a TupleQueryResult object.
    `static void` | `parseTuple​(InputStream in, QueryResultFormat format, TupleQueryResultHandler handler, ValueFactory valueFactory)` | Parses a query result document, reporting the parsed solutions to the supplied TupleQueryResultHandler.
    `static TupleQueryResult` | `parseTupleBackground​(InputStream in, QueryResultFormat format, WeakReference<?> callerReference)` | Parses a query result document and returns it as a TupleQueryResult object, with parsing done on a separate thread in the background. IMPORTANT: As this method may spawn a new thread in the background, it is vitally important that the TupleQueryResult be closed consistently when it is no longer required, to prevent resource leaks.
    `static void` | `writeBoolean​(boolean value, QueryResultFormat format, OutputStream out)` | Writes a boolean query result document in a specific boolean query result format to an output stream.
    `static void` | `writeGraph​(GraphQueryResult gqr, RDFFormat format, OutputStream out)` | Writes a graph query result document in a specific RDF format to an output stream.
    `static void` | `writeTuple​(TupleQueryResult tqr, QueryResultFormat format, OutputStream out)` | Writes a query result document in a specific query result format to an output stream.

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

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

- - ### Constructor Detail

    - #### QueryResultIO

          public QueryResultIO()

  - ### Method Detail

    - #### getParserFormatForMIMEType

          public static Optional<QueryResultFormat> getParserFormatForMIMEType​(String mimeType)

      Tries to match a MIME type against the list of tuple query result formats that can be parsed.
      Parameters:
        `mimeType` - A MIME type, e.g. "application/sparql-results+xml".
      Returns:
        An RDFFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getParserFormatForFileName

          public static Optional<QueryResultFormat> getParserFormatForFileName​(String fileName)

      Tries to match the extension of a file name against the list of RDF formats that can be parsed.
      Parameters:
        `fileName` - A file name.
      Returns:
        An TupleQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getWriterFormatForMIMEType

          public static Optional<QueryResultFormat> getWriterFormatForMIMEType​(String mimeType)

      Tries to match a MIME type against the list of tuple query result formats that can be written.
      Parameters:
        `mimeType` - A MIME type, e.g. "application/sparql-results+xml".
      Returns:
        An TupleQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getWriterFormatForFileName

          public static Optional<QueryResultFormat> getWriterFormatForFileName​(String fileName)

      Tries to match the extension of a file name against the list of RDF formats that can be written.
      Parameters:
        `fileName` - A file name.
      Returns:
        An TupleQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getBooleanParserFormatForMIMEType

          public static Optional<QueryResultFormat> getBooleanParserFormatForMIMEType​(String mimeType)

      Tries to match a MIME type against the list of boolean query result formats that can be parsed.
      Parameters:
        `mimeType` - A MIME type, e.g. "application/sparql-results+xml".
      Returns:
        An RDFFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getBooleanParserFormatForFileName

          public static Optional<QueryResultFormat> getBooleanParserFormatForFileName​(String fileName)

      Tries to match the extension of a file name against the list of RDF formats that can be parsed.
      Parameters:
        `fileName` - A file name.
      Returns:
        An BooleanQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getBooleanWriterFormatForMIMEType

          public static Optional<QueryResultFormat> getBooleanWriterFormatForMIMEType​(String mimeType)

      Tries to match a MIME type against the list of boolean query result formats that can be written.
      Parameters:
        `mimeType` - A MIME type, e.g. "application/sparql-results+xml".
      Returns:
        An BooleanQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### getBooleanWriterFormatForFileName

          public static Optional<QueryResultFormat> getBooleanWriterFormatForFileName​(String fileName)

      Tries to match the extension of a file name against the list of RDF formats that can be written.
      Parameters:
        `fileName` - A file name.
      Returns:
        An BooleanQueryResultFormat object if a match was found, or `Optional.empty()` otherwise.

    - #### createTupleParser

          public static TupleQueryResultParser createTupleParser​(QueryResultFormat format)
                                                          throws UnsupportedQueryResultFormatException

      Convenience methods for creating TupleQueryResultParser objects. This method uses the registry returned by `TupleQueryResultParserRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate parser.
      Returns:
        A TupleQueryResultParser matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no parser is available for the specified tuple query result format.

    - #### createTupleParser

          public static TupleQueryResultParser createTupleParser​(QueryResultFormat format,
                                                                 ValueFactory valueFactory)
                                                          throws UnsupportedQueryResultFormatException

      Convenience methods for creating TupleQueryResultParser objects that use the specified ValueFactory to create RDF model objects.
      Parameters:
        `format` -
        `valueFactory` -
      Returns:
        A TupleQueryResultParser matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no parser is available for the specified tuple query result format.
      See Also:
        `QueryResultParser.setValueFactory(ValueFactory)`

    - #### createTupleWriter

          public static TupleQueryResultWriter createTupleWriter​(QueryResultFormat format,
                                                                 OutputStream out)
                                                          throws UnsupportedQueryResultFormatException

      Convenience methods for creating TupleQueryResultWriter objects.This method uses the registry returned by `TupleQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
      Parameters:
        `format` -
        `out` -
      Returns:
        A TupleQueryResultWriter matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no writer is available for the specified tuple query result format.

    - #### createBooleanParser

          public static BooleanQueryResultParser createBooleanParser​(QueryResultFormat format)
                                                              throws UnsupportedQueryResultFormatException

      Convenience methods for creating BooleanQueryResultParser objects.This method uses the registry returned by `BooleanQueryResultParserRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate parser.
      Parameters:
        `format` -
      Returns:
        A BooleanQueryResultParser matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no parser is available for the specified boolean query result format.

    - #### createBooleanWriter

          public static BooleanQueryResultWriter createBooleanWriter​(QueryResultFormat format,
                                                                     OutputStream out)
                                                              throws UnsupportedQueryResultFormatException

      Convenience methods for creating BooleanQueryResultWriter objects.This method uses the registry returned by `BooleanQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
      Parameters:
        `format` -
        `out` -
      Returns:
        A BooleanQueryResultWriter matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no writer is available for the specified boolean query result format.

    - #### createWriter

          public static QueryResultWriter createWriter​(QueryResultFormat format,
                                                       OutputStream out)
                                                throws UnsupportedQueryResultFormatException

      Convenience methods for creating QueryResultWriter objects.This method uses the registry returned by `TupleQueryResultWriterRegistry.getInstance()` to get a factory for the specified format and uses this factory to create the appropriate writer.
      Parameters:
        `format` -
        `out` -
      Returns:
        A QueryResultWriter matching the given format.
      Throws:
        `UnsupportedQueryResultFormatException` - If no writer is available for the specified tuple query result format.

    - #### parseTuple

          public static void parseTuple​(InputStream in,
                                        QueryResultFormat format,
                                        TupleQueryResultHandler handler,
                                        ValueFactory valueFactory)
                                 throws IOException,
                                        QueryResultParseException,
                                        TupleQueryResultHandlerException,
                                        UnsupportedQueryResultFormatException

      Parses a query result document, reporting the parsed solutions to the supplied TupleQueryResultHandler.
      Parameters:
        `in` - An InputStream to read the query result document from.
        `format` - The query result format of the document to parse. See `TupleQueryResultFormat` for the list of supported formats.
        `handler` - The TupleQueryResultHandler to report the parse results to.
        `valueFactory` -
      Throws:
        `IOException` - If an I/O error occurred while reading the query result document from the stream.
        `TupleQueryResultHandlerException` - If such an exception is thrown by the supplied TupleQueryResultHandler.
        `UnsupportedQueryResultFormatException`
        `IllegalArgumentException` - If an unsupported query result file format was specified.
        `QueryResultParseException`

    - #### parseTuple

          public static TupleQueryResult parseTuple​(InputStream in,
                                                    QueryResultFormat format,
                                                    WeakReference<?> callerReference)
                                             throws IOException,
                                                    QueryResultParseException,
                                                    TupleQueryResultHandlerException,
                                                    UnsupportedQueryResultFormatException

      Parses a query result document and returns it as a TupleQueryResult object.
      Parameters:
        `in` - An InputStream to read the query result document from.
        `format` - The query result format of the document to parse. See `TupleQueryResultFormat` for the list of supported formats.
      Returns:
        A TupleQueryResult containing the query results.
      Throws:
        `IOException` - If an I/O error occurred while reading the query result document from the stream.
        `TupleQueryResultHandlerException` - If such an exception is thrown by the used query result parser.
        `UnsupportedQueryResultFormatException`
        `IllegalArgumentException` - If an unsupported query result file format was specified.
        `QueryResultParseException`

    - #### parseTupleBackground

          public static TupleQueryResult parseTupleBackground​(InputStream in,
                                                              QueryResultFormat format,
                                                              WeakReference<?> callerReference)
                                                       throws IOException,
                                                              QueryResultParseException,
                                                              TupleQueryResultHandlerException,
                                                              UnsupportedQueryResultFormatException

      Parses a query result document and returns it as a TupleQueryResult object, with parsing done on a separate thread in the background.
      IMPORTANT: As this method may spawn a new thread in the background, it is vitally important that the TupleQueryResult be closed consistently when it is no longer required, to prevent resource leaks.
      Parameters:
        `in` - An InputStream to read the query result document from.
        `format` - The query result format of the document to parse. See `TupleQueryResultFormat` for the list of supported formats.
      Returns:
        A TupleQueryResult containing the query results, which must be closed to prevent resource leaks.
      Throws:
        `IOException` - If an I/O error occurred while reading the query result document from the stream.
        `TupleQueryResultHandlerException` - If such an exception is thrown by the used query result parser.
        `UnsupportedQueryResultFormatException`
        `IllegalArgumentException` - If an unsupported query result file format was specified.
        `QueryResultParseException`

    - #### parseBoolean

          public static boolean parseBoolean​(InputStream in,
                                             QueryResultFormat format)
                                      throws IOException,
                                             QueryResultParseException,
                                             UnsupportedQueryResultFormatException

      Parses a boolean query result document and returns the parsed value.
      Parameters:
        `in` - An InputStream to read the query result document from.
        `format` - The file format of the document to parse.
      Returns:
        A boolean representing the result of parsing the given InputStream.
      Throws:
        `IOException` - If an I/O error occurred while reading the query result document from the stream.
        `UnsupportedQueryResultFormatException` - If an unsupported query result file format was specified.
        `QueryResultParseException`

    - #### writeTuple

          public static void writeTuple​(TupleQueryResult tqr,
                                        QueryResultFormat format,
                                        OutputStream out)
                                 throws IOException,
                                        TupleQueryResultHandlerException,
                                        UnsupportedQueryResultFormatException,
                                        QueryEvaluationException

      Writes a query result document in a specific query result format to an output stream.
      Parameters:
        `tqr` - The query result to write.
        `format` - The file format of the document to write.
        `out` - An OutputStream to write the document to.
      Throws:
        `IOException` - If an I/O error occurred while writing the query result document to the stream.
        `TupleQueryResultHandlerException` - If such an exception is thrown by the used query result writer.
        `UnsupportedQueryResultFormatException`
        `QueryEvaluationException` - If an unsupported query result file format was specified.

    - #### writeBoolean

          public static void writeBoolean​(boolean value,
                                          QueryResultFormat format,
                                          OutputStream out)
                                   throws QueryResultHandlerException,
                                          UnsupportedQueryResultFormatException

      Writes a boolean query result document in a specific boolean query result format to an output stream.
      Parameters:
        `value` - The value to write.
        `format` - The file format of the document to write.
        `out` - An OutputStream to write the document to.
      Throws:
        `QueryResultHandlerException` - If an I/O or other error occurred while writing the query result document to the stream.
        `UnsupportedQueryResultFormatException` - If an unsupported query result file format was specified.

    - #### writeGraph

          public static void writeGraph​(GraphQueryResult gqr,
                                        RDFFormat format,
                                        OutputStream out)
                                 throws IOException,
                                        RDFHandlerException,
                                        UnsupportedRDFormatException,
                                        QueryEvaluationException

      Writes a graph query result document in a specific RDF format to an output stream.
      Parameters:
        `gqr` - The query result to write.
        `format` - The file format of the document to write.
        `out` - An OutputStream to write the document to.
      Throws:
        `IOException` - If an I/O error occurred while writing the query result document to the stream.
        `RDFHandlerException` - If such an exception is thrown by the used RDF writer.
        `QueryEvaluationException`
        `UnsupportedRDFormatException` - If an unsupported query result file format was specified.