Class JenaRuntime
- java.lang.Object
-
- org.apache.jena.JenaRuntime
-
public class JenaRuntime extends java.lang.Object
Methods and constants that define features of the current the environment. Primarily for other parts of the Jena framework.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
featureNoCharset
The JVM does not implement java.nio.charset.Charset operations (correctly)static java.lang.String
featureNoSecurity
The JVM does not implement java.security (correctly)static boolean
isRDF11
The global isRDF11 exists only to support development in Jena2.
-
Constructor Summary
Constructors Constructor Description JenaRuntime()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
getLineSeparator()
static java.lang.String
getMetadata(java.lang.String key, java.lang.String defaultValue)
static java.lang.String
getSystemProperty(java.lang.String propName)
static java.lang.String
getSystemProperty(java.lang.String propName, java.lang.String defaultValue)
static boolean
runNotUnder(java.lang.String featureName)
static boolean
runUnder(java.lang.String featureName)
static void
setFeature(java.lang.String featureName)
-
-
-
Field Detail
-
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 java.lang.String featureNoSecurity
The JVM does not implement java.security (correctly)- See Also:
- Constant Field Values
-
featureNoCharset
public static final java.lang.String featureNoCharset
The JVM does not implement java.nio.charset.Charset operations (correctly)- See Also:
- Constant Field Values
-
-
Method Detail
-
getMetadata
public static java.lang.String getMetadata(java.lang.String key, java.lang.String defaultValue)
-
setFeature
public static void setFeature(java.lang.String featureName)
-
runUnder
public static boolean runUnder(java.lang.String featureName)
-
runNotUnder
public static boolean runNotUnder(java.lang.String featureName)
-
getLineSeparator
public static java.lang.String getLineSeparator()
-
getSystemProperty
public static java.lang.String getSystemProperty(java.lang.String propName)
-
getSystemProperty
public static java.lang.String getSystemProperty(java.lang.String propName, java.lang.String defaultValue)
-
-