Package org.eclipse.rdf4j.rio

## Class RDFFormat

- java.lang.Object
- - org.eclipse.rdf4j.common.lang.FileFormat
  - - org.eclipse.rdf4j.rio.RDFFormat

-     public class RDFFormat
      extends FileFormat

  Represents the concept of an RDF data serialization format. RDF formats are identified by a `name` and can have one or more associated MIME types, zero or more associated file extensions and can specify a (default) character encoding. Some formats are able to encode context information while other are not; this is indicated by the value of `supportsContexts`.
  Author:
    Arjohn Kampman

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static RDFFormat` | `BINARY` | A binary RDF format.
    `static RDFFormat` | `HDT` | The HDT file format, an RDF serialization format.
    `static RDFFormat` | `JSONLD` | The JSON-LD file format, an RDF serialization format that supports recording of named graphs.
    `static RDFFormat` | `N3` | The N3/Notation3 file format.
    `static RDFFormat` | `NDJSONLD` | The NDJSON-LD is a Newline Delimited JSON-LD format.
    `static boolean` | `NO_CONTEXTS` | Indicates that the `Statement.getContext()` URI will NOT be serialized for this format.
    `static boolean` | `NO_NAMESPACES` | Indicates that all calls to `RDFHandler.handleNamespace(String, String)` will be ignored when serializing to this format.
    `static boolean` | `NO_RDF_STAR` | Indicates that RDF-star triples will NOT be serialized natively for this format.
    `static RDFFormat` | `NQUADS` | The N-Quads file format, an RDF serialization format that supports recording of named graphs.
    `static RDFFormat` | `NTRIPLES` | The N-Triples file format.
    `static RDFFormat` | `RDFA` | The RDFa file format, an RDF serialization format.
    `static RDFFormat` | `RDFJSON` | The RDF/JSON file format, an RDF serialization format that supports recording of named graphs.
    `static RDFFormat` | `RDFXML` | The RDF/XML file format.
    `static boolean` | `SUPPORTS_CONTEXTS` | Indicates that the `Statement.getContext()` URI may be serialized for this format.
    `static boolean` | `SUPPORTS_NAMESPACES` | Indicates that calls to `RDFHandler.handleNamespace(String, String)` may be serialised when serializing to this format.
    `static boolean` | `SUPPORTS_RDF_STAR` | Indicates that RDF-star triples can be serialized natively for this format.
    `static RDFFormat` | `TRIG` | The TriG file format, a Turtle-based RDF serialization format that supports recording of named graphs.
    `static RDFFormat` | `TRIGSTAR` | The TriG-star file format, a TriG-based RDF serialization format that supports RDF-star triples.
    `static RDFFormat` | `TRIX` | The TriX file format, an XML-based RDF serialization format that supports recording of named graphs.
    `static RDFFormat` | `TURTLE` | The Turtle file format.
    `static RDFFormat` | `TURTLESTAR` | The Turtle-star file format, a Turtle-based RDF serialization format that supports RDF-star triples.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RDFFormat​(String name, String mimeType, Charset charset, String fileExtension, boolean supportsNamespaces, boolean supportsContexts)` | Deprecated. since 3.2.0
    `RDFFormat​(String name, String mimeType, Charset charset, String fileExtension, boolean supportsNamespaces, boolean supportsContexts, boolean supportsRDFStar)` | Creates a new RDFFormat object.
    `RDFFormat​(String name, String mimeType, Charset charset, Collection<String> fileExtensions, boolean supportsNamespaces, boolean supportsContexts)` | Deprecated. since 3.2.0
    `RDFFormat​(String name, String mimeType, Charset charset, Collection<String> fileExtensions, boolean supportsNamespaces, boolean supportsContexts, boolean supportsRDFStar)` | Creates a new RDFFormat object.
    `RDFFormat​(String name, Collection<String> mimeTypes, Charset charset, Collection<String> fileExtensions, boolean supportsNamespaces, boolean supportsContexts)` | Deprecated. since 3.2.0
    `RDFFormat​(String name, Collection<String> mimeTypes, Charset charset, Collection<String> fileExtensions, boolean supportsNamespaces, boolean supportsContexts, boolean supportsRDFStar)` | Creates a new RDFFormat object.
    `RDFFormat​(String name, Collection<String> mimeTypes, Charset charset, Collection<String> fileExtensions, IRI standardURI, boolean supportsNamespaces, boolean supportsContexts)` | Deprecated. since 3.2.0
    `RDFFormat​(String name, Collection<String> mimeTypes, Charset charset, Collection<String> fileExtensions, IRI standardURI, boolean supportsNamespaces, boolean supportsContexts, boolean supportsRDFStar)` | Creates a new RDFFormat object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static List<String>` | `getAcceptParams​(Iterable<RDFFormat> rdfFormats, boolean requireContext, RDFFormat preferredFormat)` | Processes the supplied collection of `RDFFormat`s and assigns quality values to each based on whether context must be supported and whether the format is preferred.
    `IRI` | `getStandardURI()` |
    `boolean` | `hasStandardURI()` |
    `boolean` | `supportsContexts()` | Return true if the RDFFormat supports the encoding of contexts/named graphs.
    `boolean` | `supportsNamespaces()` | Return true if the RDFFormat supports the encoding of namespace/prefix information.
    `boolean` | `supportsRDFStar()` | Return true if the RDFFormat supports the encoding of RDF-star triples natively.

    - ### Methods inherited from class org.eclipse.rdf4j.common.lang.FileFormat

      `equals, getCharset, getDefaultFileExtension, getDefaultMIMEType, getFileExtensions, getMIMETypes, getName, hasCharset, hasDefaultFileExtension, hasDefaultMIMEType, hasFileExtension, hashCode, hasMIMEType, matchFileName, matchMIMEType, toString`

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### SUPPORTS_NAMESPACES

          public static final boolean SUPPORTS_NAMESPACES

      Indicates that calls to `RDFHandler.handleNamespace(String, String)` may be serialised when serializing to this format.
      See Also:
        Constant Field Values

    - #### NO_NAMESPACES

          public static final boolean NO_NAMESPACES

      Indicates that all calls to `RDFHandler.handleNamespace(String, String)` will be ignored when serializing to this format.
      See Also:
        Constant Field Values

    - #### SUPPORTS_CONTEXTS

          public static final boolean SUPPORTS_CONTEXTS

      Indicates that the `Statement.getContext()` URI may be serialized for this format.
      See Also:
        Constant Field Values

    - #### NO_CONTEXTS

          public static final boolean NO_CONTEXTS

      Indicates that the `Statement.getContext()` URI will NOT be serialized for this format.
      See Also:
        Constant Field Values

    - #### SUPPORTS_RDF_STAR

          public static final boolean SUPPORTS_RDF_STAR

      Indicates that RDF-star triples can be serialized natively for this format.
      See Also:
        Constant Field Values

    - #### NO_RDF_STAR

          public static final boolean NO_RDF_STAR

      Indicates that RDF-star triples will NOT be serialized natively for this format.
      See Also:
        Constant Field Values

    - #### RDFXML

          public static final RDFFormat RDFXML

      The RDF/XML file format.

      Several file extensions are accepted for RDF/XML documents, including `.rdf`, `.rdfs` (for RDF Schema files), `.owl` (for OWL ontologies), and `.xml`. The media type is `application/rdf+xml`, but `application/xml` and `text/xml` are also accepted. The character encoding is UTF-8.

      See Also:
        RDF/XML Syntax Specification (Revised)

    - #### NTRIPLES

          public static final RDFFormat NTRIPLES

      The N-Triples file format.

      The file extension `.nt` is recommend for N-Triples documents. The media type is `application/n-triples` and encoding is in UTF-8.

      See Also:
        N-Triples

    - #### TURTLE

          public static final RDFFormat TURTLE

      The Turtle file format.

      The file extension `.ttl` is recommend for Turtle documents. The media type is `text/turtle`, but `application/x-turtle` is also accepted. Character encoding is UTF-8.

      See Also:
        Turtle - Terse RDF Triple Language

    - #### TURTLESTAR

          public static final RDFFormat TURTLESTAR

      The Turtle-star file format, a Turtle-based RDF serialization format that supports RDF-star triples.

      The file extension `.ttls` is recommended for Turtle-star documents. The media type is `application/x-turtlestar` and the encoding is UTF-8.

      See Also:
        Foundations of an Alternative Approach to Reification in RDF, RDF-star and SPARQL-star Draft Community Group Report

    - #### N3

          public static final RDFFormat N3

      The N3/Notation3 file format.

      The file extension `.n3` is recommended for N3 documents. The media type is `text/n3`, but `text/rdf+n3` is also accepted. Character encoding is UTF-8.

      See Also:
        Notation3 (N3): A readable RDF syntax

    - #### TRIX

          public static final RDFFormat TRIX

      The TriX file format, an XML-based RDF serialization format that supports recording of named graphs.

      The file extension `.xml` is recommended for TriX documents, `.trix` is also accepted. The media type is `application/trix` and the encoding is UTF-8.

      See Also:
        TriX: RDF Triples in XML

    - #### TRIG

          public static final RDFFormat TRIG

      The TriG file format, a Turtle-based RDF serialization format that supports recording of named graphs.

      The file extension `.trig` is recommend for TriG documents. The media type is `application/trig` and the encoding is UTF-8.

      See Also:
        The TriG Syntax

    - #### TRIGSTAR

          public static final RDFFormat TRIGSTAR

      The TriG-star file format, a TriG-based RDF serialization format that supports RDF-star triples. This builds upon the idea for the Turtle-star format but adds support for named graphs.

      The file extension `.trigs` is recommended for TriG-star documents. The media type is `application/x-trigstar` and the encoding is UTF-8.

      See Also:
        Foundations of an Alternative Approach to Reification in RDF, RDF-star and SPARQL-star Draft Community Group Report

    - #### BINARY

          public static final RDFFormat BINARY

      A binary RDF format.

      The file extension `.brf` is recommend for binary RDF documents. The media type is `application/x-binary-rdf`.

      See Also:
        Binary RDF in Sesame

    - #### NQUADS

          public static final RDFFormat NQUADS

      The N-Quads file format, an RDF serialization format that supports recording of named graphs.

      The file extension `.nq` is recommended for N-Quads documents. The media type is `application/n-quads` and the encoding is UTF-8.

      See Also:
        N-Quads: Extending N-Triples with Context

    - #### JSONLD

          public static final RDFFormat JSONLD

      The JSON-LD file format, an RDF serialization format that supports recording of named graphs.

      The file extension `.jsonld` is recommended for JSON-LD documents. The media type is `application/ld+json` and the encoding is UTF-8.

      See Also:
        JSON-LD 1.0

    - #### NDJSONLD

          public static final RDFFormat NDJSONLD

      The NDJSON-LD is a Newline Delimited JSON-LD format.

      The file extension `.ndjsonld` is recommended for NDJSON-LD documents. The media type is `application/x-ld+ndjson` and the encoding is UTF-8.

    - #### RDFJSON

          public static final RDFFormat RDFJSON

      The RDF/JSON file format, an RDF serialization format that supports recording of named graphs.

      The file extension `.rj` is recommended for RDF/JSON documents. The media type is `application/rdf+json` and the encoding is UTF-8.

      See Also:
        RDF 1.1 JSON Alternate Serialization (RDF/JSON)

    - #### RDFA

          public static final RDFFormat RDFA

      The RDFa file format, an RDF serialization format.

      The file extension `.xhtml` is recommended for RDFa documents. The preferred media type is `application/xhtml+xml` and the encoding is UTF-8.

      See Also:
        XHTML+RDFa 1.1

    - #### HDT

          public static final RDFFormat HDT

      The HDT file format, an RDF serialization format.

      The file extension `.hdt` is recommended for HDT documents.

      See Also:
        HDT v1.0

  - ### Constructor Detail

    - #### RDFFormat

          @Deprecated
          public RDFFormat​(String name,
                           String mimeType,
                           Charset charset,
                           String fileExtension,
                           boolean supportsNamespaces,
                           boolean supportsContexts)

      Deprecated.
      since 3.2.0
      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeType` - The MIME type of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtension` - The (default) file extension for the RDF file format, e.g. rdf for RDF/XML files.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.

    - #### RDFFormat

          public RDFFormat​(String name,
                           String mimeType,
                           Charset charset,
                           String fileExtension,
                           boolean supportsNamespaces,
                           boolean supportsContexts,
                           boolean supportsRDFStar)

      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeType` - The MIME type of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtension` - The (default) file extension for the RDF file format, e.g. rdf for RDF/XML files.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.
        `supportsRDFStar` - True if the RDFFormat supports the encoding of RDF-star triples natively and false otherwise.

    - #### RDFFormat

          @Deprecated
          public RDFFormat​(String name,
                           String mimeType,
                           Charset charset,
                           Collection<String> fileExtensions,
                           boolean supportsNamespaces,
                           boolean supportsContexts)

      Deprecated.
      since 3.2.0
      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeType` - The MIME type of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.

    - #### RDFFormat

          public RDFFormat​(String name,
                           String mimeType,
                           Charset charset,
                           Collection<String> fileExtensions,
                           boolean supportsNamespaces,
                           boolean supportsContexts,
                           boolean supportsRDFStar)

      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeType` - The MIME type of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.
        `supportsRDFStar` - True if the RDFFormat supports the encoding of RDF-star triples natively and false otherwise.

    - #### RDFFormat

          @Deprecated
          public RDFFormat​(String name,
                           Collection<String> mimeTypes,
                           Charset charset,
                           Collection<String> fileExtensions,
                           boolean supportsNamespaces,
                           boolean supportsContexts)

      Deprecated.
      since 3.2.0
      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeTypes` - The MIME types of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format. The first item in the list is interpreted as the default MIME type for the format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.

    - #### RDFFormat

          public RDFFormat​(String name,
                           Collection<String> mimeTypes,
                           Charset charset,
                           Collection<String> fileExtensions,
                           boolean supportsNamespaces,
                           boolean supportsContexts,
                           boolean supportsRDFStar)

      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeTypes` - The MIME types of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format. The first item in the list is interpreted as the default MIME type for the format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.
        `supportsRDFStar` - True if the RDFFormat supports the encoding of RDF-star triples natively and false otherwise.

    - #### RDFFormat

          @Deprecated
          public RDFFormat​(String name,
                           Collection<String> mimeTypes,
                           Charset charset,
                           Collection<String> fileExtensions,
                           IRI standardURI,
                           boolean supportsNamespaces,
                           boolean supportsContexts)

      Deprecated.
      since 3.2.0
      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeTypes` - The MIME types of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format. The first item in the list is interpreted as the default MIME type for the format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `standardURI` - The standard URI that has been assigned to this format by a standards organisation or null if it does not currently have a standard URI.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.

    - #### RDFFormat

          public RDFFormat​(String name,
                           Collection<String> mimeTypes,
                           Charset charset,
                           Collection<String> fileExtensions,
                           IRI standardURI,
                           boolean supportsNamespaces,
                           boolean supportsContexts,
                           boolean supportsRDFStar)

      Creates a new RDFFormat object.
      Parameters:
        `name` - The name of the RDF file format, e.g. "RDF/XML".
        `mimeTypes` - The MIME types of the RDF file format, e.g. application/rdf+xml for the RDF/XML file format. The first item in the list is interpreted as the default MIME type for the format.
        `charset` - The default character encoding of the RDF file format. Specify null if not applicable.
        `fileExtensions` - The RDF format's file extensions, e.g. rdf for RDF/XML files. The first item in the list is interpreted as the default file extension for the format.
        `standardURI` - The standard URI that has been assigned to this format by a standards organisation or null if it does not currently have a standard URI.
        `supportsNamespaces` - True if the RDFFormat supports the encoding of namespace/prefix information and false otherwise.
        `supportsContexts` - True if the RDFFormat supports the encoding of contexts/named graphs and false otherwise.
        `supportsRDFStar` - True if the RDFFormat supports the encoding of RDF-star triples natively and false otherwise.

  - ### Method Detail

    - #### getAcceptParams

          public static List<String> getAcceptParams​(Iterable<RDFFormat> rdfFormats,
                                                     boolean requireContext,
                                                     RDFFormat preferredFormat)

      Processes the supplied collection of `RDFFormat`s and assigns quality values to each based on whether context must be supported and whether the format is preferred.
      Parameters:
        `rdfFormats` - The `RDFFormat`s to process.
        `requireContext` - True to decrease the quality value for formats where `supportsContexts()` returns false.
        `preferredFormat` - The preferred RDFFormat. If it is not in the list then the quality of all formats will be processed as if they are not preferred.
      Returns:
        A list of strings containing the content types and an attached q-value specifying the quality for the format for each type.

    - #### supportsNamespaces

          public boolean supportsNamespaces()

      Return true if the RDFFormat supports the encoding of namespace/prefix information.

    - #### supportsContexts

          public boolean supportsContexts()

      Return true if the RDFFormat supports the encoding of contexts/named graphs.

    - #### supportsRDFStar

          public boolean supportsRDFStar()

      Return true if the RDFFormat supports the encoding of RDF-star triples natively.

    - #### hasStandardURI

          public boolean hasStandardURI()

      Returns:
        True if a standard URI has been assigned to this format by a standards organisation.

    - #### getStandardURI

          public IRI getStandardURI()

      Returns:
        The standard URI that has been assigned to this format by a standards organisation or null if it does not currently have a standard URI.