org.eclipse.rdf4j.rio.helpers

## Class BasicWriterSettings

- java.lang.Object
- - org.eclipse.rdf4j.rio.helpers.BasicWriterSettings

-     public class BasicWriterSettings
      extends Object

  A class encapsulating the basic writer settings that most writers may support.
  Author:
    Peter Ansell

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static RioSetting<Boolean>` | `BASE_DIRECTIVE` Boolean setting for writer to determine whether it should include a base directive.
    `static RioSetting<Boolean>` | `CONVERT_RDF_STAR_TO_REIFICATION` Boolean setting for writer to determine whether it should convert RDF* statements to standard RDF reification.
    `static RioSetting<Boolean>` | `ENCODE_RDF_STAR` Boolean setting for writer to determine whether it should encode RDF* triple values to RDF-compatible special IRIs.
    `static RioSetting<Boolean>` | `INLINE_BLANK_NODES` Inline blanks nodes by their value and don't write any blank node labels when this setting is true.
    `static RioSetting<Boolean>` | `PRETTY_PRINT` Boolean setting for writer to determine whether pretty printing is preferred.
    `static RioSetting<Boolean>` | `RDF_LANGSTRING_TO_LANG_LITERAL` Boolean setting for writer to determine whether it should omit the rdf:langString datatype from language literals when serialising them.
    `static RioSetting<Boolean>` | `XSD_STRING_TO_PLAIN_LITERAL` Boolean setting for writer to determine whether it should remove the xsd:string datatype from literals and represent them as RDF-1.0 Plain Literals.

  - ### Method Summary

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

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

- - ### Field Detail

    - #### PRETTY_PRINT

          public static final RioSetting<Boolean> PRETTY_PRINT

      Boolean setting for writer to determine whether pretty printing is preferred.

      Defaults to true

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.pretty_print`.

    - #### INLINE_BLANK_NODES

          public static final RioSetting<Boolean> INLINE_BLANK_NODES

      Inline blanks nodes by their value and don't write any blank node labels when this setting is true. This setting should only be used when blank nodes never appear in the context and there are no blank node cycles.

      WARNING: This setting requires all triples to be processed before being written and could use a lot of memory in the process and should be set to false for large RDF files.

      Defaults to false.

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.inline_blank_nodes`.

      Since:
        2.3

    - #### XSD_STRING_TO_PLAIN_LITERAL

          public static final RioSetting<Boolean> XSD_STRING_TO_PLAIN_LITERAL

      Boolean setting for writer to determine whether it should remove the xsd:string datatype from literals and represent them as RDF-1.0 Plain Literals.

      In RDF-1.1, all literals that would have been Plain Literals in RDF-1.0 will be typed as xsd:string internally.

      Defaults to true to allow for backwards compatibility without enforcing it.

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.rdf10_plain_literals`.

    - #### RDF_LANGSTRING_TO_LANG_LITERAL

          public static final RioSetting<Boolean> RDF_LANGSTRING_TO_LANG_LITERAL

      Boolean setting for writer to determine whether it should omit the rdf:langString datatype from language literals when serialising them.

      In RDF-1.1, all RDF-1.0 Language Literals are typed using rdf:langString in the abstract model, but this datatype is not necessary for concrete syntaxes.

      In most concrete syntaxes it is either syntactically invalid or semantically ambiguous to have a language tagged literal with an explicit datatype. In those cases this setting will not be used, and the rdf:langString datatype will not be attached to language tagged literals.

      In particular, in RDF/XML, if rdf:langString is serialised, the language tag may not be retained when the document is parsed due to the precedence rule in RDF/XML for datatype over language.

      Defaults to true as rdf:langString was not previously used, and should not be commonly required.

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.rdf10_language_literals`.

    - #### BASE_DIRECTIVE

          public static final RioSetting<Boolean> BASE_DIRECTIVE

      Boolean setting for writer to determine whether it should include a base directive.

      Defaults to true

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.base_directive`.

    - #### CONVERT_RDF_STAR_TO_REIFICATION

          public static final RioSetting<Boolean> CONVERT_RDF_STAR_TO_REIFICATION

      Boolean setting for writer to determine whether it should convert RDF* statements to standard RDF reification.

      Defaults to false

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.convert_rdf_star`.

    - #### ENCODE_RDF_STAR

          public static final RioSetting<Boolean> ENCODE_RDF_STAR

      Boolean setting for writer to determine whether it should encode RDF* triple values to RDF-compatible special IRIs. These IRIs start with urn:rdf4j:triple: followed by the base64-encoding of the N-Triples serialization of the RDF* triple value.

      Writers that support RDF* natively will ignore this setting and always serialize RDF* triples.

      Defaults to true.

      Can be overridden by setting system property `org.eclipse.rdf4j.rio.encode_rdf_star`.

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