Class JenaRuntime

java.lang.Object
org.apache.jena.JenaRuntime

public class JenaRuntime extends Object
Methods and constants that define features of the current the environment. Primarily for other parts of the Jena framework.
  • Field Details

    • isRDF11

      public static boolean isRDF11

      The global isRDF11 exists only to support development in Jena2. It is not expected that this flag will be "true" for Jena2 releases.

      Jena2 provides RDF 1.0 (AKA RDF 2004) and as much of RDF 1.1 that can be provided without invalidating existing data and applications. For example, the Turtle family parsers cover the RDF 1.1 defined grammars.

      RDF 1.1 does make some changes that will effect some applications. The RDF Working Group do not expect these to be that major but they are visible in some situations.

      One of these changes is that literals always have a datatype. RDF 1.0 plain literals (e.g. "foo" and "foo"@en) do not have datatype.

      In RDF 1.1:

      • string literals without language tag have datatype xsd:string
      • string literals with language tag have datatype rdf:langString. They still have a language tag.

      In RDF 1.0, "foo" and "foo"^^xsd:string are different RDF terms. Triples :s :p "foo" and :s :p "foo"^^xsd:string are two different RDF triples. Jena memory models provide "same value" semantics, so these can both be found looking for object of "foo" but two such triples are found.

      Other storage implementations do not provide these "same value" semantics. Two triples are stored in a graph or in a database.

      In RDF 1.1, "foo" and "foo"^^xsd:string are the same RDF term; it is just two different ways to write it. The example triples above are the same triple. Only one triple would be stored in a graph or on disk.

      It is common for applications to work either with RDF 1.0 untyped strings or with typed xsd:strings. Mixed working is less common. Mixed working applications will be affected by the changes in RDF 1.1.

      Default full RDF 1.1 behaviour is expected in Jena3, with the change of major version number used to indicate the application-visible change.

    • featureNoSecurity

      public static final String featureNoSecurity
      The JVM does not implement java.security (correctly)
      See Also:
    • featureNoCharset

      public static final String featureNoCharset
      The JVM does not implement java.nio.charset.Charset operations (correctly)
      See Also:
  • Constructor Details

    • JenaRuntime

      public JenaRuntime()
  • Method Details

    • getMetadata

      public static String getMetadata(String key, String defaultValue)
    • setFeature

      public static void setFeature(String featureName)
    • runUnder

      public static boolean runUnder(String featureName)
    • runNotUnder

      public static boolean runNotUnder(String featureName)
    • getLineSeparator

      public static String getLineSeparator()
    • getSystemProperty

      public static String getSystemProperty(String propName)
    • getSystemProperty

      public static String getSystemProperty(String propName, String defaultValue)