// Path: core/src/main/java/com/github/jsonldjava/core/JsonLdConsts.java
// public static final String RDF_LANGSTRING = RDF_SYNTAX_NS + "langString";
// 
// Path: core/src/main/java/com/github/jsonldjava/core/JsonLdConsts.java
// public static final String XSD_STRING = XSD_NS + "string";
// 
// Path: core/src/main/java/com/github/jsonldjava/core/Regex.java
// final public static Pattern HEX = Pattern.compile("[0-9A-Fa-f]");


import static com.github.jsonldjava.core.JsonLdConsts.RDF_LANGSTRING;
import static com.github.jsonldjava.core.JsonLdConsts.XSD_STRING;
import static com.github.jsonldjava.core.Regex.HEX;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
            output.append("> ");
        }
        // otherwise it must be a bnode (TODO: can we only allow this if the
        // flag is set in options?)
        else {
            output.append(" ");
            escape(p.getValue(), output);
            output.append(" ");
        }

        // object is IRI, bnode or literal
        if (o.isIRI()) {
            output.append("<");
            escape(o.getValue(), output);
            output.append(">");
        } else if (o.isBlankNode()) {
            // normalization mode
            if (bnode != null) {
                output.append(bnode.equals(o.getValue()) ? "_:a" : "_:z");
            }
            // normal mode
            else {
                output.append(o.getValue());
            }
        } else {
            output.append("\"");
            escape(o.getValue(), output);
            output.append("\"");
            if (RDF_LANGSTRING.equals(o.getDatatype())) {
                output.append("@").append(o.getLanguage());
// Path: core/src/main/java/com/github/jsonldjava/core/JsonLdConsts.java
// public static final String RDF_LANGSTRING = RDF_SYNTAX_NS + "langString";
// 
// Path: core/src/main/java/com/github/jsonldjava/core/JsonLdConsts.java
// public static final String XSD_STRING = XSD_NS + "string";
// 
// Path: core/src/main/java/com/github/jsonldjava/core/Regex.java
// final public static Pattern HEX = Pattern.compile("[0-9A-Fa-f]");


// Path: core/src/main/java/com/github/jsonldjava/core/RDFDatasetUtils.java
import static com.github.jsonldjava.core.JsonLdConsts.RDF_LANGSTRING;
import static com.github.jsonldjava.core.JsonLdConsts.XSD_STRING;
import static com.github.jsonldjava.core.Regex.HEX;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

            output.append("> ");
        }
        // otherwise it must be a bnode (TODO: can we only allow this if the
        // flag is set in options?)
        else {
            output.append(" ");
            escape(p.getValue(), output);
            output.append(" ");
        }

        // object is IRI, bnode or literal
        if (o.isIRI()) {
            output.append("<");
            escape(o.getValue(), output);
            output.append(">");
        } else if (o.isBlankNode()) {
            // normalization mode
            if (bnode != null) {
                output.append(bnode.equals(o.getValue()) ? "_:a" : "_:z");
            }
            // normal mode
            else {
                output.append(o.getValue());
            }
        } else {
            output.append("\"");
            escape(o.getValue(), output);
            output.append("\"");
            if (RDF_LANGSTRING.equals(o.getDatatype())) {
                output.append("@").append(o.getLanguage());
            } else if (!XSD_STRING.equals(o.getDatatype())) {