Package org.topbraid.jenax.util
Class JenaUtil
- java.lang.Object
-
- org.topbraid.jenax.util.JenaUtil
-
public class JenaUtil extends Object
Some convenience methods to operate on Jena Models. These methods are not as stable as the rest of the API, but they may be of general use.- Author:
- Holger Knublauch
-
-
Field Summary
Fields Modifier and Type Field Description static StringWITH_IMPORTS_PREFIX
-
Constructor Summary
Constructors Constructor Description JenaUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddTransitiveObjects(Set<org.apache.jena.rdf.model.Resource> results, org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)Populates a result set of resources reachable from a subject via zero or more steps with a given predicate.static org.apache.jena.sparql.engine.binding.BindingasBinding(org.apache.jena.query.QuerySolution map)Turns a QuerySolution into a Binding.static org.apache.jena.rdf.model.PropertyasProperty(org.apache.jena.rdf.model.Resource resource)Casts a Resource into a Property.static org.apache.jena.query.QuerySolutionMapasQuerySolutionMap(org.apache.jena.sparql.engine.binding.Binding binding)Turns a Binding into a QuerySolutionMap.static org.apache.jena.graph.GraphasReadOnlyGraph(org.apache.jena.graph.Graph g)This indicates that no further changes to the graph are needed.static org.apache.jena.rdf.model.ModelasReadOnlyModel(org.apache.jena.rdf.model.Model m)This indicates that no further changes to the model are needed.static voidcollectBaseGraphs(org.apache.jena.graph.Graph graph, Set<org.apache.jena.graph.Graph> baseGraphs)static org.apache.jena.graph.GraphcreateDefaultGraph()Creates a new Graph.static org.apache.jena.rdf.model.ModelcreateDefaultModel()Wraps the result ofcreateDefaultGraph()into a Model and initializes namespaces.static org.apache.jena.graph.GraphcreateMemoryGraph()Creates a memory Graph with no reification.static org.apache.jena.rdf.model.ModelcreateMemoryModel()Creates a memory Model with no reification.static org.apache.jena.graph.compose.MultiUnioncreateMultiUnion()static org.apache.jena.graph.compose.MultiUnioncreateMultiUnion(Iterator<org.apache.jena.graph.Graph> graphs)static org.apache.jena.graph.compose.MultiUnioncreateMultiUnion(org.apache.jena.graph.Graph[] graphs)static org.apache.jena.ontology.OntModelcreateOntologyModel(org.apache.jena.ontology.OntModelSpec spec, org.apache.jena.rdf.model.Model base)static org.apache.jena.graph.GraphdeepCloneForReadOnlyThreadSafe(org.apache.jena.graph.Graph g)Ensure that we there is a read-only, thread safe version of the graph.static Set<org.apache.jena.rdf.model.Resource>getAllInstances(org.apache.jena.rdf.model.Resource cls)Gets all instances of a given class and its subclasses.static Set<org.apache.jena.rdf.model.Resource>getAllSubClasses(org.apache.jena.rdf.model.Resource cls)static Set<org.apache.jena.rdf.model.Resource>getAllSubClassesStar(org.apache.jena.rdf.model.Resource cls)Returns a set consisting of a given class and all its subclasses.static Set<org.apache.jena.rdf.model.Resource>getAllSubProperties(org.apache.jena.rdf.model.Property superProperty)static Set<org.apache.jena.rdf.model.Resource>getAllSuperClasses(org.apache.jena.rdf.model.Resource cls)static Set<org.apache.jena.rdf.model.Resource>getAllSuperClassesStar(org.apache.jena.rdf.model.Resource cls)Returns a set consisting of a given class and all its superclasses.static Set<org.apache.jena.rdf.model.Resource>getAllSuperProperties(org.apache.jena.rdf.model.Property subProperty)static Set<org.apache.jena.rdf.model.Resource>getAllTransitiveObjects(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)Returns a set of resources reachable from a subject via one or more steps with a given predicate.static Set<org.apache.jena.rdf.model.Resource>getAllTransitiveSubjects(org.apache.jena.rdf.model.Resource object, org.apache.jena.rdf.model.Property predicate, ProgressMonitor monitor)Returns a set of resources reachable from an object via one or more reversed steps with a given predicate.static Set<org.apache.jena.rdf.model.Resource>getAllTypes(org.apache.jena.rdf.model.Resource instance)static org.apache.jena.graph.GraphgetBaseGraph(org.apache.jena.graph.Graph graph)static org.apache.jena.graph.GraphgetBaseGraph(org.apache.jena.rdf.model.Model model)Gets the "base graph" of a Model, walking into MultiUnions if needed.static org.apache.jena.rdf.model.ModelgetBaseModel(org.apache.jena.rdf.model.Model model)static org.apache.jena.rdf.model.LiteralgetBestStringLiteral(org.apache.jena.rdf.model.Resource resource, List<String> langs, Iterable<org.apache.jena.rdf.model.Property> properties)For a given subject resource and a given collection of (label/comment) properties this finds the most suitable value of either property for a given list of languages (usually from the current user's preferences).static org.apache.jena.rdf.model.LiteralgetBestStringLiteral(org.apache.jena.rdf.model.Resource resource, List<String> langs, Iterable<org.apache.jena.rdf.model.Property> properties, BiFunction<org.apache.jena.rdf.model.Resource,org.apache.jena.rdf.model.Property,org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.rdf.model.Statement>> getter)static booleangetBooleanProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static DoublegetDoubleProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static doublegetDoubleProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate, double defaultValue)static org.apache.jena.rdf.model.ResourcegetFirstDirectRange(org.apache.jena.rdf.model.Resource property)Gets the "first" declared rdfs:range of a given property.static org.apache.jena.rdf.model.ResourcegetFirstRange(org.apache.jena.rdf.model.Resource property)Gets the "first" declared rdfs:range of a given property.static JenaUtilHelpergetHelper()Gets the current helper object.static Set<org.apache.jena.rdf.model.Resource>getImports(org.apache.jena.rdf.model.Resource graph)static IntegergetIntegerProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static org.apache.jena.rdf.model.RDFListgetListProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static List<org.apache.jena.rdf.model.Literal>getLiteralProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static <T> TgetNearest(org.apache.jena.rdf.model.Resource cls, Function<org.apache.jena.rdf.model.Resource,T> function)Walks up the class hierarchy starting at a given class until one of them returns a value for a given Function.static StringgetNsPrefixURI(org.apache.jena.rdf.model.Model model, String prefix)Overcomes a design mismatch with Jena: if the base model does not declare a default namespace then the default namespace of an import is returned - this is not desirable for TopBraid-like scenarios.static org.apache.jena.rdf.model.RDFNodegetProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static List<org.apache.jena.rdf.model.Resource>getResourceProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static org.apache.jena.rdf.model.ResourcegetResourcePropertyWithType(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate, org.apache.jena.rdf.model.Resource type)static StringgetStringProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static List<org.apache.jena.graph.Graph>getSubGraphs(org.apache.jena.graph.compose.MultiUnion union)static Collection<org.apache.jena.rdf.model.Resource>getSuperClasses(org.apache.jena.rdf.model.Resource subClass)Gets a Set of all superclasses (rdfs:subClassOf) of a given Resource.static org.apache.jena.rdf.model.ResourcegetType(org.apache.jena.rdf.model.Resource instance)Gets the "first" type of a given Resource.static List<org.apache.jena.rdf.model.Resource>getTypes(org.apache.jena.rdf.model.Resource instance)Gets a Set of all rdf:types of a given Resource.static List<org.apache.jena.rdf.model.Resource>getURIResourceProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static org.apache.jena.rdf.model.ResourcegetURIResourceProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)static booleanhasIndirectType(org.apache.jena.rdf.model.Resource instance, org.apache.jena.rdf.model.Resource expectedType)Checks whether a given Resource is an instance of a given type, or a subclass thereof.static booleanhasSuperClass(org.apache.jena.rdf.model.Resource subClass, org.apache.jena.rdf.model.Resource superClass)Checks whether a given class has a given (transitive) super class.static booleanhasSuperProperty(org.apache.jena.rdf.model.Property subProperty, org.apache.jena.rdf.model.Property superProperty)Checks whether a given property has a given (transitive) super property.static voidinitNamespaces(org.apache.jena.graph.Graph graph)Sets the usual default namespaces for rdf, rdfs, owl and xsd.static voidinitNamespaces(org.apache.jena.shared.PrefixMapping prefixMapping)Sets the usual default namespaces for rdf, rdfs, owl and xsd.static org.apache.jena.graph.NodeinvokeExpression(String expression, org.apache.jena.query.QuerySolution initialBinding, org.apache.jena.query.Dataset dataset)Calls a SPARQL expression and returns the result, using some initial bindings.static org.apache.jena.graph.NodeinvokeFunction0(org.apache.jena.rdf.model.Resource function, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with no arguments.static org.apache.jena.graph.NodeinvokeFunction1(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument, org.apache.jena.query.Dataset dataset)static org.apache.jena.graph.NodeinvokeFunction1(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with one argument.static org.apache.jena.graph.NodeinvokeFunction2(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument1, org.apache.jena.graph.Node argument2, org.apache.jena.query.Dataset dataset)static org.apache.jena.graph.NodeinvokeFunction2(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument1, org.apache.jena.rdf.model.RDFNode argument2, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with two arguments.static org.apache.jena.graph.NodeinvokeFunction3(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument1, org.apache.jena.graph.Node argument2, org.apache.jena.graph.Node argument3, org.apache.jena.query.Dataset dataset)static org.apache.jena.graph.NodeinvokeFunction3(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument1, org.apache.jena.rdf.model.RDFNode argument2, org.apache.jena.rdf.model.RDFNode argument3, org.apache.jena.query.Dataset dataset)static booleanisMemoryGraph(org.apache.jena.graph.Graph graph)Checks whether a given graph (possibly a MultiUnion) only contains GraphMemBase instances.static org.apache.jena.rdf.model.StmtIteratorlistAllProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)Gets an Iterator over all Statements of a given property or its sub-properties at a given subject instance.static org.apache.jena.query.QueryqueryWithSubstitutions(org.apache.jena.query.Query query, Map<org.apache.jena.sparql.core.Var,org.apache.jena.graph.Node> substitutions)Temp patch for a bug in Jena's syntaxtransform, also applying substitutions on HAVING clauses.static voidsetGraphReadOptimization(boolean onOrOff)Allows some environments, e.g.static JenaUtilHelpersetHelper(JenaUtilHelper h)Sets the helper which allows the behavior of some JenaUtil methods to be modified by the system using the SPIN library.static voidsort(List<org.apache.jena.rdf.model.Resource> nodes)static org.apache.jena.rdf.model.RDFNodetoRDFNode(org.apache.jena.graph.Node node)static StringwithImports(String uri)static StringwithoutImports(String uri)
-
-
-
Field Detail
-
WITH_IMPORTS_PREFIX
public static final String WITH_IMPORTS_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
setHelper
public static JenaUtilHelper setHelper(JenaUtilHelper h)
Sets the helper which allows the behavior of some JenaUtil methods to be modified by the system using the SPIN library. Note: Should not be used outside of TopBraid - not stable.- Parameters:
h- the JenaUtilHelper- Returns:
- the old helper
-
getHelper
public static final JenaUtilHelper getHelper()
Gets the current helper object. Note: Should not be used outside of TopBraid - not stable.- Returns:
- the helper
-
addTransitiveObjects
public static void addTransitiveObjects(Set<org.apache.jena.rdf.model.Resource> results, org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
Populates a result set of resources reachable from a subject via zero or more steps with a given predicate. Implementation note: the results set need only implementCollection.add(Object).- Parameters:
results- The transitive objects reached from subject via triples with the given predicatesubject- the subject to start traversal atpredicate- the predicate to walk
-
asBinding
public static org.apache.jena.sparql.engine.binding.Binding asBinding(org.apache.jena.query.QuerySolution map)
Turns a QuerySolution into a Binding.- Parameters:
map- the input QuerySolution- Returns:
- a Binding or null if the input is null
-
asQuerySolutionMap
public static org.apache.jena.query.QuerySolutionMap asQuerySolutionMap(org.apache.jena.sparql.engine.binding.Binding binding)
Turns a Binding into a QuerySolutionMap.- Parameters:
binding- the Binding to convert- Returns:
- a QuerySolutionMap
-
getAllTransitiveSubjects
public static Set<org.apache.jena.rdf.model.Resource> getAllTransitiveSubjects(org.apache.jena.rdf.model.Resource object, org.apache.jena.rdf.model.Property predicate, ProgressMonitor monitor)
Returns a set of resources reachable from an object via one or more reversed steps with a given predicate.- Parameters:
object- the object to start traversal atpredicate- the predicate to walkmonitor- an optional progress monitor to allow cancelation- Returns:
- the reached resources
-
asProperty
public static org.apache.jena.rdf.model.Property asProperty(org.apache.jena.rdf.model.Resource resource)
Casts a Resource into a Property.- Parameters:
resource- the Resource to cast- Returns:
- resource as an instance of Property
-
collectBaseGraphs
public static void collectBaseGraphs(org.apache.jena.graph.Graph graph, Set<org.apache.jena.graph.Graph> baseGraphs)
-
createDefaultGraph
public static org.apache.jena.graph.Graph createDefaultGraph()
Creates a new Graph. By default this will deliver a plain in-memory graph, but other implementations may deliver graphs with concurrency support and other features.- Returns:
- a default graph
- See Also:
createDefaultModel()
-
createDefaultModel
public static org.apache.jena.rdf.model.Model createDefaultModel()
Wraps the result ofcreateDefaultGraph()into a Model and initializes namespaces.- Returns:
- a default Model
- See Also:
createDefaultGraph()
-
createMemoryGraph
public static org.apache.jena.graph.Graph createMemoryGraph()
Creates a memory Graph with no reification.- Returns:
- a new memory graph
-
createMemoryModel
public static org.apache.jena.rdf.model.Model createMemoryModel()
Creates a memory Model with no reification.- Returns:
- a new memory Model
-
createMultiUnion
public static org.apache.jena.graph.compose.MultiUnion createMultiUnion()
-
createMultiUnion
public static org.apache.jena.graph.compose.MultiUnion createMultiUnion(org.apache.jena.graph.Graph[] graphs)
-
createMultiUnion
public static org.apache.jena.graph.compose.MultiUnion createMultiUnion(Iterator<org.apache.jena.graph.Graph> graphs)
-
getAllInstances
public static Set<org.apache.jena.rdf.model.Resource> getAllInstances(org.apache.jena.rdf.model.Resource cls)
Gets all instances of a given class and its subclasses.- Parameters:
cls- the class to get the instances of- Returns:
- the instances
-
getAllSubClasses
public static Set<org.apache.jena.rdf.model.Resource> getAllSubClasses(org.apache.jena.rdf.model.Resource cls)
-
getAllSubClassesStar
public static Set<org.apache.jena.rdf.model.Resource> getAllSubClassesStar(org.apache.jena.rdf.model.Resource cls)
Returns a set consisting of a given class and all its subclasses. Similar to rdfs:subClassOf*.- Parameters:
cls- the class to return with its subclasses- Returns:
- the Set of class resources
-
getAllSubProperties
public static Set<org.apache.jena.rdf.model.Resource> getAllSubProperties(org.apache.jena.rdf.model.Property superProperty)
-
getAllSuperClasses
public static Set<org.apache.jena.rdf.model.Resource> getAllSuperClasses(org.apache.jena.rdf.model.Resource cls)
-
getAllSuperClassesStar
public static Set<org.apache.jena.rdf.model.Resource> getAllSuperClassesStar(org.apache.jena.rdf.model.Resource cls)
Returns a set consisting of a given class and all its superclasses. Similar to rdfs:subClassOf*.- Parameters:
cls- the class to return with its superclasses- Returns:
- the Set of class resources
-
getAllSuperProperties
public static Set<org.apache.jena.rdf.model.Resource> getAllSuperProperties(org.apache.jena.rdf.model.Property subProperty)
-
getAllTransitiveObjects
public static Set<org.apache.jena.rdf.model.Resource> getAllTransitiveObjects(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
Returns a set of resources reachable from a subject via one or more steps with a given predicate.- Parameters:
subject- the subject to start atpredicate- the predicate to traverse- Returns:
- the reached resources
-
getAllTypes
public static Set<org.apache.jena.rdf.model.Resource> getAllTypes(org.apache.jena.rdf.model.Resource instance)
-
getBaseGraph
public static org.apache.jena.graph.Graph getBaseGraph(org.apache.jena.rdf.model.Model model)
Gets the "base graph" of a Model, walking into MultiUnions if needed.- Parameters:
model- the Model to get the base graph of- Returns:
- the base graph or null if the model contains a MultiUnion that doesn't declare one
-
getBaseGraph
public static org.apache.jena.graph.Graph getBaseGraph(org.apache.jena.graph.Graph graph)
-
getBaseModel
public static org.apache.jena.rdf.model.Model getBaseModel(org.apache.jena.rdf.model.Model model)
-
getBestStringLiteral
public static org.apache.jena.rdf.model.Literal getBestStringLiteral(org.apache.jena.rdf.model.Resource resource, List<String> langs, Iterable<org.apache.jena.rdf.model.Property> properties)For a given subject resource and a given collection of (label/comment) properties this finds the most suitable value of either property for a given list of languages (usually from the current user's preferences). For example, if the user's languages are [ "en-AU" ] then the function will prefer "mate"@en-AU over "friend"@en and never return "freund"@de. The function falls back to literals that have no language if no better literal has been found.- Parameters:
resource- the subject resourcelangs- the allowed languagesproperties- the properties to check- Returns:
- the best suitable value or null
-
getBestStringLiteral
public static org.apache.jena.rdf.model.Literal getBestStringLiteral(org.apache.jena.rdf.model.Resource resource, List<String> langs, Iterable<org.apache.jena.rdf.model.Property> properties, BiFunction<org.apache.jena.rdf.model.Resource,org.apache.jena.rdf.model.Property,org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.rdf.model.Statement>> getter)
-
getFirstDirectRange
public static org.apache.jena.rdf.model.Resource getFirstDirectRange(org.apache.jena.rdf.model.Resource property)
Gets the "first" declared rdfs:range of a given property. If multiple ranges exist, the behavior is undefined. Note that this method does not consider ranges defined on super-properties.- Parameters:
property- the property to get the range of- Returns:
- the "first" range Resource or null
-
getFirstRange
public static org.apache.jena.rdf.model.Resource getFirstRange(org.apache.jena.rdf.model.Resource property)
Gets the "first" declared rdfs:range of a given property. If multiple ranges exist, the behavior is undefined. This method walks up to super-properties if no direct match exists.- Parameters:
property- the property to get the range of- Returns:
- the "first" range Resource or null
-
getImports
public static Set<org.apache.jena.rdf.model.Resource> getImports(org.apache.jena.rdf.model.Resource graph)
-
getIntegerProperty
public static Integer getIntegerProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getListProperty
public static org.apache.jena.rdf.model.RDFList getListProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getLiteralProperties
public static List<org.apache.jena.rdf.model.Literal> getLiteralProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getNearest
public static <T> T getNearest(org.apache.jena.rdf.model.Resource cls, Function<org.apache.jena.rdf.model.Resource,T> function)Walks up the class hierarchy starting at a given class until one of them returns a value for a given Function.- Type Parameters:
T- the requested result type- Parameters:
cls- the class to start atfunction- the Function to execute on each class- Returns:
- the "first" non-null value, or null
-
getNsPrefixURI
public static String getNsPrefixURI(org.apache.jena.rdf.model.Model model, String prefix)
Overcomes a design mismatch with Jena: if the base model does not declare a default namespace then the default namespace of an import is returned - this is not desirable for TopBraid-like scenarios.- Parameters:
model- the Model to operate onprefix- the prefix to get the URI of- Returns:
- the URI of prefix
-
getProperty
public static org.apache.jena.rdf.model.RDFNode getProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getResourcePropertyWithType
public static org.apache.jena.rdf.model.Resource getResourcePropertyWithType(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate, org.apache.jena.rdf.model.Resource type)
-
getResourceProperties
public static List<org.apache.jena.rdf.model.Resource> getResourceProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getURIResourceProperty
public static org.apache.jena.rdf.model.Resource getURIResourceProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getURIResourceProperties
public static List<org.apache.jena.rdf.model.Resource> getURIResourceProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getStringProperty
public static String getStringProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getBooleanProperty
public static boolean getBooleanProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getDoubleProperty
public static Double getDoubleProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)
-
getDoubleProperty
public static double getDoubleProperty(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate, double defaultValue)
-
getSubGraphs
public static List<org.apache.jena.graph.Graph> getSubGraphs(org.apache.jena.graph.compose.MultiUnion union)
-
getSuperClasses
public static Collection<org.apache.jena.rdf.model.Resource> getSuperClasses(org.apache.jena.rdf.model.Resource subClass)
Gets a Set of all superclasses (rdfs:subClassOf) of a given Resource.- Parameters:
subClass- the subClass Resource- Returns:
- a Collection of class resources
-
getType
public static org.apache.jena.rdf.model.Resource getType(org.apache.jena.rdf.model.Resource instance)
Gets the "first" type of a given Resource.- Parameters:
instance- the instance to get the type of- Returns:
- the type or null
-
getTypes
public static List<org.apache.jena.rdf.model.Resource> getTypes(org.apache.jena.rdf.model.Resource instance)
Gets a Set of all rdf:types of a given Resource.- Parameters:
instance- the instance Resource- Returns:
- a Collection of type resources
-
hasIndirectType
public static boolean hasIndirectType(org.apache.jena.rdf.model.Resource instance, org.apache.jena.rdf.model.Resource expectedType)Checks whether a given Resource is an instance of a given type, or a subclass thereof. Make sure that the expectedType parameter is associated with the right Model, because the system will try to walk up the superclasses of expectedType. The expectedType may have no Model, in which case the method will use the instance's Model.- Parameters:
instance- the Resource to testexpectedType- the type that instance is expected to have- Returns:
- true if resource has rdf:type expectedType
-
hasSuperClass
public static boolean hasSuperClass(org.apache.jena.rdf.model.Resource subClass, org.apache.jena.rdf.model.Resource superClass)Checks whether a given class has a given (transitive) super class.- Parameters:
subClass- the sub-classsuperClass- the super-class- Returns:
- true if subClass has superClass (somewhere up the tree)
-
hasSuperProperty
public static boolean hasSuperProperty(org.apache.jena.rdf.model.Property subProperty, org.apache.jena.rdf.model.Property superProperty)Checks whether a given property has a given (transitive) super property.- Parameters:
subProperty- the sub-propertysuperProperty- the super-property- Returns:
- true if subProperty has superProperty (somewhere up the tree)
-
initNamespaces
public static void initNamespaces(org.apache.jena.graph.Graph graph)
Sets the usual default namespaces for rdf, rdfs, owl and xsd.- Parameters:
graph- the Graph to modify
-
initNamespaces
public static void initNamespaces(org.apache.jena.shared.PrefixMapping prefixMapping)
Sets the usual default namespaces for rdf, rdfs, owl and xsd.- Parameters:
prefixMapping- the Model to modify
-
isMemoryGraph
public static boolean isMemoryGraph(org.apache.jena.graph.Graph graph)
Checks whether a given graph (possibly a MultiUnion) only contains GraphMemBase instances.- Parameters:
graph- the Graph to test- Returns:
- true if graph is a memory graph
-
listAllProperties
public static org.apache.jena.rdf.model.StmtIterator listAllProperties(org.apache.jena.rdf.model.Resource subject, org.apache.jena.rdf.model.Property predicate)Gets an Iterator over all Statements of a given property or its sub-properties at a given subject instance. Note that the predicate and subject should be both attached to a Model to avoid NPEs.- Parameters:
subject- the subject (may be null)predicate- the predicate- Returns:
- a StmtIterator
-
asReadOnlyModel
public static org.apache.jena.rdf.model.Model asReadOnlyModel(org.apache.jena.rdf.model.Model m)
This indicates that no further changes to the model are needed. Some implementations may give runtime exceptions if this is violated.- Parameters:
m- the Model to get as a read-only variant- Returns:
- A read-only model
-
asReadOnlyGraph
public static org.apache.jena.graph.Graph asReadOnlyGraph(org.apache.jena.graph.Graph g)
This indicates that no further changes to the graph are needed. Some implementations may give runtime exceptions if this is violated.- Parameters:
g- the Graph to get as a read-only variant- Returns:
- a read-only graph
-
createOntologyModel
public static org.apache.jena.ontology.OntModel createOntologyModel(org.apache.jena.ontology.OntModelSpec spec, org.apache.jena.rdf.model.Model base)
-
setGraphReadOptimization
public static void setGraphReadOptimization(boolean onOrOff)
Allows some environments, e.g. TopBraid, to prioritize a block of code for reading graphs, with no update occurring. The top of the block should call this withtruewith a matching call withfalsein a finally block. Note: Unstable - don't use outside of TopBraid.- Parameters:
onOrOff- true to switch on
-
deepCloneForReadOnlyThreadSafe
public static org.apache.jena.graph.Graph deepCloneForReadOnlyThreadSafe(org.apache.jena.graph.Graph g)
Ensure that we there is a read-only, thread safe version of the graph. If the graph is not, then create a deep clone that is both. Note: Unstable - don't use outside of TopBraid.- Parameters:
g- The given graph- Returns:
- A read-only, thread safe version of the given graph.
-
invokeExpression
public static org.apache.jena.graph.Node invokeExpression(String expression, org.apache.jena.query.QuerySolution initialBinding, org.apache.jena.query.Dataset dataset)
Calls a SPARQL expression and returns the result, using some initial bindings.- Parameters:
expression- the expression to execute (must contain absolute URIs)initialBinding- the initial bindings for the unbound variablesdataset- the query Dataset or null for default- Returns:
- the result or null
-
invokeFunction0
public static org.apache.jena.graph.Node invokeFunction0(org.apache.jena.rdf.model.Resource function, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with no arguments.- Parameters:
function- the URI resource of the function to calldataset- the Dataset to operate on or null for default- Returns:
- the result of the function call
-
invokeFunction1
public static org.apache.jena.graph.Node invokeFunction1(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with one argument.- Parameters:
function- the URI resource of the function to callargument- the first argumentdataset- the Dataset to operate on or null for default- Returns:
- the result of the function call
-
invokeFunction1
public static org.apache.jena.graph.Node invokeFunction1(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument, org.apache.jena.query.Dataset dataset)
-
invokeFunction2
public static org.apache.jena.graph.Node invokeFunction2(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument1, org.apache.jena.rdf.model.RDFNode argument2, org.apache.jena.query.Dataset dataset)Calls a given SPARQL function with two arguments.- Parameters:
function- the URI resource of the function to callargument1- the first argumentargument2- the second argumentdataset- the Dataset to operate on or null for default- Returns:
- the result of the function call
-
invokeFunction2
public static org.apache.jena.graph.Node invokeFunction2(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument1, org.apache.jena.graph.Node argument2, org.apache.jena.query.Dataset dataset)
-
invokeFunction3
public static org.apache.jena.graph.Node invokeFunction3(org.apache.jena.rdf.model.Resource function, org.apache.jena.rdf.model.RDFNode argument1, org.apache.jena.rdf.model.RDFNode argument2, org.apache.jena.rdf.model.RDFNode argument3, org.apache.jena.query.Dataset dataset)
-
invokeFunction3
public static org.apache.jena.graph.Node invokeFunction3(org.apache.jena.rdf.model.Resource function, org.apache.jena.graph.Node argument1, org.apache.jena.graph.Node argument2, org.apache.jena.graph.Node argument3, org.apache.jena.query.Dataset dataset)
-
queryWithSubstitutions
public static org.apache.jena.query.Query queryWithSubstitutions(org.apache.jena.query.Query query, Map<org.apache.jena.sparql.core.Var,org.apache.jena.graph.Node> substitutions)Temp patch for a bug in Jena's syntaxtransform, also applying substitutions on HAVING clauses.- Parameters:
query- the Query to transformsubstitutions- the variable bindings- Returns:
- a new Query with the bindings applied
-
sort
public static void sort(List<org.apache.jena.rdf.model.Resource> nodes)
-
toRDFNode
public static org.apache.jena.rdf.model.RDFNode toRDFNode(org.apache.jena.graph.Node node)
-
-